Jak dokładnie powinienem skonfigurować DNS do delegowania uprawnień do poddomen?

15

Mam serwery hostowane przez dostawcę hostingu, a także hostują rekordy DNS dla moich nazw domen. Teraz chcę dodać poddomeny, które są rozwiązywane przez moją własną usługę DNS. Na przykład:

  • serwer nazw dostawcy usług hostingowych zna adres IP econemon.com
  • jeden z moich serwerów zna adres IP ftp.econemon.com

Również,

  • nieznane lub niezdefiniowane poddomeny powinny być kierowane do tego samego adresu IP co domena nadrzędna
  • w przypadku awarii mojej usługi DNS byłoby świetnie, gdyby wszystkie żądania były kierowane na adres IP, który jest powiązany econemon.com, ale nie jestem pewien, jak to powinno działać.

Teraz przeczytałem artykuły Wikipedii na temat DNS, aby odkurzyć moją wiedzę, ale część, która pozostawia mnie zdezorientowanego, to: skąd klient wie, na którym serwerze poprosić o adres IP ftp.econemon.com? Czy otrzymuje te informacje od hosta? Jeśli tak, to czy muszę zarejestrować tam subdomenę (i do czego potrzebowałbym wtedy mojego serwera nazw)?

Hanno Fietz
źródło

Odpowiedzi:

14

Jeśli chcesz przekazać uprawnienia dla sekcji swojej domeny, musisz dodać kolejny poziom do hierarchii.

Gdy rekursywny serwer DNS prosi o adres ftp.econemon.com, przechodzi on przez kilka kroków. Najpierw poprosi jeden z serwerów głównych, który odpowie serwerami nazw dla domeny .com (ten krok prawdopodobnie będzie przechowywany w pamięci podręcznej i będzie wykonywany rzadko). Następnie zapyta serwery .com, a oni odpowiedzą serwerami nazw dla domeny econemon.com. Wreszcie poprosi te serwery o rekord adresu dla ftp.econemon.com.

Teoretycznie możesz po prostu dodać ftp.econemon.com jako pozycję NS w strefie nadrzędnej

na przykład:

usługi NS ns1.econemon.com.
ns1 A 192.0.2.1

A następnie utwórz ftp.econemon.com jako strefę na serwerze nazw. Ale jeśli zrobisz to w ten sposób, będziesz musiał utworzyć nową strefę dla każdego serwera. To, co prawdopodobnie chcesz zrobić, to poprosić dostawcę o dodanie subdomeny delegowanej.

na przykład:

usługi NS ns1.services.econemon.com.
usługi NS ns2.services.econemon.com.
ns1.services A 192.0.2.1
ns2.services A 192.0.2.2

Następnie możesz dodać services.econemon.com jako strefę na swoich serwerach nazw i po prostu dodawać nowe wpisy w razie potrzeby w tej pojedynczej strefie.

Jeśli naprawdę potrzebujesz też krótkich nazw, nie powinno być większych problemów z dodaniem rekordów CNAME, dzięki czemu ftp.econemon.com ma kanoniczną nazwę ftp.services.econemon.com, która pozwala ci zmieniać adres IP za każdym razem chcesz i pozwala użytkownikom na użycie krótkiej nazwy.

ftp.econemon.com. CNAME ftp.services.econemon.com.
Russell Heilling
źródło
Czy zatem poprawny jest wpis „econemon.com. IN NS ns.provider-domain.com”. faktycznie oznacza „dla domeny econemon.com i wszystkich subdomen, zapytaj ns.provider-domain.com”? Myślę, że właśnie to mogłem źle zrozumieć.
Hanno Fietz
To prawda, chociaż dla przeglądów w prawdziwym świecie zdecydowana większość decyzji będzie podejmowana na podstawie rekordów w strefie nadrzędnej (w tym przypadku w strefie .com). Rekordy NS na najwyższym poziomie domeny są w dużej mierze kosmetyczne i mają na celu zachowanie spójności (tj. Upewnienie się, że kiedy ns.provider-domain.com i a.gtld-servers.net zostaną poproszone o rekordy NS dla ekonemonu. com oboje dają tę samą odpowiedź)
Russell Heilling
Jestem trochę zdezorientowany. Czy nie powinno być ftp NS ns1.econemon.com.w pierwszym przykładzie?
Holger Böhnke
2

Musisz dodać pozycję NS dla ftp.econemon.com wskazującą na twój własny serwer DNS. Gdy klient będzie chciał rozwiązać coś.ftp.econemon.com, poprosi o to dostawcę DNS, który odpowie, że można to rozwiązać na własnym serwerze. przykładem może być:

ftp.econemon.com. W NS myownns.econemon.com.

myownns.econemon.com. IN YOUR_DNS_SERVER_IP

Aby mieć coś przed .econemon.com. do pracy możesz użyć rekordu wieloznacznego (*)

promień
źródło
1

Ale w przypadku czegoś takiego jak ftp.econemon.com może nie być konieczne delegowanie niczego. Coś takiego jak ftp.econemon.com jest zwykle nazwą hosta, a nie subdomeną. W takim przypadku po prostu dodaj dla niego rekord A.

ftp.econemon.com. IN A 192.168.1.1

Możesz także dodać rekordy A z kropkami, np .:

ftp.something.econemon.com. IN A 192.168.1.3

Jeśli DNS jest powiązany, możesz użyć symboli wieloznacznych, aby np .:

*.something.econemon.com. IN A 192.168.1.3

Nie jestem pewien, czy delegacja jest naprawdę przydatna, chyba że faktycznie chcesz pozwolić innej osobie lub organizacji na zarządzanie subdomeną.

Jason Tan
źródło