Użycie CNAME do wskazania innej domeny w celu zapisania adresów IP

39

Mam jeden serwer, na którym hostuję kilka witryn.

Obecnie każda witryna ma swoją domenę hostowaną przez niezależnego dostawcę, a każda z nich ma rekord A wskazujący adres IP serwera.

Ale jeśli chcę zmienić serwer w przyszłości, będę musiał cofnąć aktualizację każdego adresu IP w każdym rekordzie DNS.

Czy można użyć rekordu CNAME w każdej domenie, aby wskazać inną domenę, którą bezpośrednio kontroluję?

Czy to dlatego, że mogę samodzielnie zaktualizować adres IP w jednym miejscu i nie muszę zmuszać wszystkich innych dostawców DNS do osobnej aktualizacji swoich rekordów?

wow
źródło

Odpowiedzi:

25

Właśnie o to chodzi w CNAME. CNAME nie musi wskazywać DNS w tej samej strefie, może wskazywać dowolną nazwę DNS zarejestrowaną na dowolnym serwerze nazw.

Dla klientów oznacza to dodatkowe wyszukiwanie DNS na NS dla drugiego hosta, ale to niewielka cena za większość stron internetowych.

Mark Henderson
źródło
zwykle to rekurencyjny serwer wykona to dodatkowe wyszukiwanie, a nie program tłumaczący kod pośredniczący w kliencie.
Alnitak
27

Według odpowiedzi Farseekera, tak, to jest (w pewnym sensie) przeznaczenie CNAMErekordów.

Jednak podczas gdy można użyć tego punktu www.example.netdo www.example.com, to nie można go używać do punktu example.netna własną rękę (czyli bez wwwprefiksu) do czegoś innego.

Wynika to z faktu, że example.netmusi on również zawierać SOArekord i NSrekordy, a DNS nie może mieć CNAMEobecności w tej samej części drzewa, co inne rekordy (z wyjątkiem kluczy DNSSEC).

„Rodzaj” kwalifikatora powyżej, ponieważ ściśle mówiąc, CNAMErekord wprowadza „lewą stronę” jako alias celu CNAMErekordu, gdzie tym celem jest w rzeczywistości „nazwa kanoniczna”.

Dlatego jeśli widzisz np .:

www.example.net IN CNAME www.example.com.

Nie oznacza to , że www.example.netnależy „przekierować” www.example.com, oznacza to, że www.example.netjest to inna nazwa www.example.com .

Alnitak
źródło
2
„example.net musi mieć również rekord SOA”. Niektórzy ludzie oszukują: spójrz na lrnskls.com.
bortzmeyer
to paskudny hack i będą mieli ogromny problem, jeśli kiedykolwiek zechcą podpisać go przez DNSSEC.
Alnitak,
5
+1 to dobra uwaga i jedna z większych wad (i powód, dla którego żadna z moich stron nie może być używana bez www, ponieważ te domeny również wymagają rekordu MX, zabraniają tego).
Oskar Duveborn,
3

Tak to mozliwe.

Tak robię moje eksperymentalne serwery sieciowe, które również mają dynamiczne adresy IP (choć rzadko się zmieniają).

Oskar Duveborn
źródło
0

Będę musiał cofnąć aktualizację każdego adresu IP w każdym rekordzie DNS.

Cóż, CNAME są rzeczywiście możliwym rozwiązaniem (patrz odpowiedź Alnitaka na limit CNAME), ale jest jeszcze jeden: zamiast ręcznie zarządzać plikami strefy, utwórz program dziesięcioliniowy (Perl / Python / Ruby / cpp / m4 / cokolwiek), który wygeneruje pliki strefy z mastera (plik tekstowy, plik XML, DBMS, cokolwiek)

W ten sposób Twój adres IP może znajdować się tylko w jednym miejscu. Kiedy się zmieni, po prostu uruchom ponownie program.

bortzmeyer
źródło