DNS korzystający z CNAME łamie rekordy MX?

42

Staramy się przenieść wszystkie nasze witryny internetowe do CNAMES, ponieważ planujemy przenieść serwery w nowym roku i chcielibyśmy przenieść niektórych klientów na jeden serwer, a innych w inne. Planowaliśmy dać klientom unikalną nazwę CNAME, którą możemy później zmienić. (Mamy inne powody, aby to zrobić teraz, ale to jest główny)

Testowaliśmy tę teorię z kilkoma własnymi domenami i wydawało się, że jest w porządku. Jednak podczas sprawdzania rekordów MX w domenie odzyskałem wartość CNAME zamiast rekordu MX.

Niestety wszystkie te domeny są wykonywane za pomocą paneli sterowania, ale domyślam się, że piszą dla mnie pliki stref.

Chcę utworzyć 2 CNAME dla company.com

company.com. IN CNAME client.dns.ourserver.com
www          IN CNAME client.dns.ourserver.com

Rekord MX wygląda mniej więcej tak:

company.com  IN MX 10 mail.company.com

Mamy rekord A dla mail.company.com

Robić:

host -t mx company.com

Zwraca wartość CNAME zamiast rekordu mx.

Czy to oczekiwane zachowanie?

Udało mi się uzyskać powyższą konfigurację do pracy z panelem sterowania 123-reg.co.uk, ale nie jestem pewien, czy to więcej szczęścia niż cokolwiek innego.

johnwards
źródło
To częste pytanie, które zadawano już wiele razy. Zobacz ten link na przykład: serverfault.com/questions/18000/…
Russell Heilling
Spędziłem trochę czasu szukając odpowiedzi, ale nie mogłem zrozumieć, czy robię coś innego. Zwłaszcza, że ​​działa dobrze z jednym dostawcą domeny. Mam swoją odpowiedź, więc jest fajna i mam nadzieję, że przyda się komuś.
johnwards,

Odpowiedzi:

54

To jest częsty błąd. Nie możesz użyć CNAME RR dla swojej domeny głównej (np. Company.com) i zdefiniować dodatkowe rekordy zasobów dla tej samej strefy.

Zobacz Dlaczego nie mogę utworzyć rekordu CNAME dla rekordu głównego? i RFC1034 sekcja 3.6.2, aby uzyskać szczegółowe informacje:

Jeśli CNAME RR jest obecny w węźle, żadne inne dane nie powinny być obecne; zapewnia to, że dane dla nazwy kanonicznej i jej aliasów nie mogą się różnić.

joschi
źródło
RFC2181 sekcja 10.1 jest również istotna, ponieważ wzmacnia powyższe.
Håkan Lindqvist
znana również jako domena wierzchołkowa
Alex78191
5

RFC2181 sekcja 10.3 mówi, że nie możesz skierować swojego rekordu MX do CNAME:

Nazwa domeny użyta jako wartość ... rekordu zasobu MX nie może być aliasem.

nogginboink
źródło
2
Ale to nie jest tak naprawdę scenariusz, o który chodzi?
Håkan Lindqvist
2

Właśnie przeniosłem się do Heroku, które używa CNAME zamiast rekordów A i to, co musiałem zrobić, to zamiast tworzyć CNAME z my_domain.com wskazującym na heroku, zrobiłem CNAME z www.my_domain.com wskazującym na heroku, więc nagi / domena główna nie przesyła dalej, a moje rekordy MX nadal będą działać. Następnie dodałem wskaźnik, aby przekierować my_domain.com na www.my_domain.com. Wygląda na to, że działa świetnie. W moim dostawcy nazwy domeny wskaźnik został utworzony przy użyciu ustawienia „wskaźników”, które ustawiłem na „standardowy” „URL” i „www.moja_domena.com”

Jesse Adamson
źródło
Solidna praca! Dziękujemy za udostępnienie tego!
duhaime
0

Uświadomiłem sobie, że tych dwóch można całkowicie oddzielić

mydomain.com. -  A Record  - 01.0.0.1
mydomain.com - CNAME - www.cname.eg.com

O ile nie używasz swojego serwera jako serwera pocztowego, tak naprawdę nie wpłynie to na nic. Poczta będzie szukać rekordów MX mydomain.com. Będzie to miało wpływ tylko wtedy, gdy tak będzie

mydomain.com - MX - mail.mydomain.com

ale jeśli tak jest (co oznacza, że ​​używasz osobnego serwera pocztowego), nie będzie to miało wpływu

mydomain.com - MX - mail.mycustommailserver.com

Nie można użyć adresu IP dla serwerów poczty.

Ndeto
źródło
-1

Odkryłem, że niektórzy dostawcy MX w połączeniu z NIEKTÓRYMI dostawcami DNS będą faktycznie współpracować z samą nagrywarką CNAME, jeśli tylko zamówicie rekord MX POWYŻEJ CNAME w kolejności od góry do dołu.

Działa na rejestratorze Name.com z rekordem Office 365 MX i nagim rekordem CNAME kierującym HTTP do innej domeny. Podczas testowania zapytań MX zauważyłem, że mój wynik CNAME wrócił jako pierwszy, odpowiadając mojej kolejności wpisów DNS, więc pomyślałem, dlaczego nie spróbować najpierw zamówić MX i sprawdzić, czy to odpowiada dostawcy MX. Ku mojemu zaskoczeniu weryfikacja Office 365 MX przeszła pomyślnie i mogę potwierdzić, że przychodzące i wychodzące wiadomości e-mail rzeczywiście płyną. A po przetestowaniu kilku klientów WWW HTTP rzeczywiście rzeczywiście jest pożądany dla określonego hosta docelowego CNAME.

Zastrzeżenie emptor - To wyraźnie sprzeczne ze standardem i dlatego prawdopodobnie nie powinno być brane pod uwagę przy niczym krytycznym. Zakładam, że kolejność rekordów nie jest podana w specyfikacji i dlatego nie można oficjalnie na niej polegać ... tj. Może ulec zmianie zaraz po zapomnieniu o tym hacku.

Wskazówka - bezpłatna strona MX Toolbox jest bardzo przydatna do sprawdzania wyniku wypróbowania różnych ustawień DNS.

Bezwstydna wtyczka do mojego odpowiedniego postu .

Beej
źródło
2
Będąc nieudokumentowanym zachowaniem, zdecydowanie nie chciałbym na to liczyć.
ceejayoz
2
takie zachowanie można uznać jedynie za błąd, buforujący serwer nazw może buforować odpowiedź CNAME i MDA nigdy nie zobaczą rekordu MX tools.ietf.org/html/rfc5321#section-5.1
Jasen
-3

Możesz użyć CNAME w katalogu głównym domeny, jednak te rekordy MX muszą być również skonfigurowane w rekordzie hosta, więc jeśli masz mx1.mail.com skonfigurowany w strefie dla twojadomena.com i katalog główny twojadomena. com to CNAME na thisrecord.cname.com, musisz także upewnić się, że mx1.mail.com jest skonfigurowany na tym hoście CNAME; jeśli nie, cała poczta zostanie utracona!

Matt
źródło
4
Problem polega na tym, że zgodnie z RFC1034 „jeśli CNAME RR jest obecny w węźle, żadne inne dane nie powinny być obecne” - ponieważ root musi mieć rekordy NS (aby były przydatne, w każdym razie), zawsze będą inne dane , co narusza tę sekcję RFC.
Doktor J
Moim zdaniem odpowiedź jest poprawna, z tym wyjątkiem, że rekord MX powinien zamiast tego znajdować się na hoście CNAME (nie również).
Alexander Taubenkorb,