DNS, що використовує CNAME, розбиває записи MX?


42

Ми намагаємось перенести всі наші веб-сайти, на яких ми розміщуємо CNAMES, оскільки плануємо переміщати сервери в новому році і хотіли б можливість перенести деяких клієнтів на один сервер, а інших клієнтів кудись інше. Ми планували надати клієнтам унікальний CNAME, який ми зможемо згодом змінити. (У нас є інші причини для цього зараз, але це головна)

Ми випробовували цю теорію з кількома власними доменами, і це здавалося прекрасним. Однак під час перевірки записів MX у домені я повернув значення CNAME, а не запис MX.

На жаль, всі ці домени виконуються за допомогою панелей управління, але я здогадуюсь, що вони просто записують файли зон для мене.

Я хочу створити 2 CNAME для company.com

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

Запис MX виглядає приблизно так:

company.com  IN MX 10 mail.company.com

У нас є запис для mail.company.com

Виконуємо:

host -t mx company.com

Повертає значення CNAME, а не запис mx.

Це очікувана поведінка?

Мені вдалося отримати описану вище конфігурацію, працюючу з панеллю керування 123-reg.co.uk, але не впевнений, чи більше щастя, ніж нічого.


Це поширене питання, і його задавали вже багато разів. Дивіться це посилання для прикладу: serverfault.com/questions/18000/…
Рассел Хелінг

Я витратив трохи на пошуки відповіді, але не міг зрозуміти, чи роблю я щось інше. Тим більше, що це добре працює з одним провайдером домену. У мене є моя відповідь, щоб це було круто і, сподіваюся, комусь це буде корисно.
johnwards

Відповіді:


54

Це поширена помилка. Ви не можете використовувати CNAME RR для свого кореневого домену (наприклад, company.com) та визначати додаткові записи ресурсів для тієї ж зони.

Див. Чому я не можу створити запис CNAME для кореневого запису? та RFC1034 розділу 3.6.2 для детальної інформації:

Якщо RAME CNAME присутній у вузлі, інших даних не повинно бути; це гарантує, що дані для канонічного імені та його псевдонімів не можуть бути різними.


Розділ 10.1 RFC2181 також є актуальним у тому, що пояснює вищезазначене.
Хокан Ліндквіст

також відомий як домен apex
Alex78191

5

У розділі 10.3 RFC2181 сказано, що ви не можете вказати свій запис MX на CNAME:

Ім’я домену, яке використовується як значення ... запису ресурсів MX, не повинно бути псевдонімом.


2
Це насправді не той сценарій, про який йдеться?
Хокан Ліндквіст

2

Я щойно перейшов до Heroku, який використовує CNAMEs замість записів A, і те, що я повинен був зробити, це замість того, щоб створити CNAME з my_domain.com, що вказує на heroku, я зробив CNAME з www.my_domain.com, що вказує на heroku, тому голий / root-домен не пересилався, і мої записи MX все одно працюватимуть. Потім я додав покажчик на переадресацію my_domain.com на www.my_domain.com. Здається, це чудово працює. У мого постачальника доменних імен вказівник був створений за допомогою параметра "покажчики", яке я встановив на "стандартний" "URL" та "www.my_domain.com"


Солідна робота! Дякуємо, що поділилися цим!
duhaime

0

Я зрозумів, що цих двох можна розділити цілком

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

Якщо ви не використовуєте свій сервер як поштовий сервер, це звичайно нічого не вплине. Ця пошта буде шукати записи MX на mydomain.com. На це вплине лише те, якщо воно подібне

mydomain.com - MX - mail.mydomain.com

але якщо подібне (тобто, ви використовуєте окремий поштовий сервер), це не вплине

mydomain.com - MX - mail.mycustommailserver.com

Ви не можете використовувати IP для поштових серверів.


-1

Я виявив, що деякі ТОП-провайдери MX в тандемі з деякими постачальниками DNS дійсно працюватимуть поряд із голою CNAME, якщо ви просто замовляєте запис MX ПРО НАДНУВАННЯ CNAME у порядку запису зверху вниз.

Він працює над реєстратором Name.com із записом Office 365 MX і голосним записом CNAME, що направляє HTTP на ще один домен. Під час тестування MX запитів я помітив, що мій результат CNAME повернувся спочатку відповідно до мого замовлення DNS-записів, тому я зрозумів, чому б не спробувати спочатку замовити MX і подивитися, чи задовольняє це постачальник MX. На мій подив, тоді перевірка Office 365 MX пройшла, і я можу підтвердити вхідну та вихідну електронну пошту. І після тестування декількох веб-клієнтів HTTP також дійсно бажано вирішує вказаний хост призначення CNAME.

Caveat emptor - Це, очевидно, суперечить стандарту, і тому, ймовірно, не слід вважати нічого критичного. Я припускаю, що порядок запису відсутній у специфікації, і тому на нього не можна офіційно покластися, тобто підлягає зміні відразу після того, як ви забудете про цей злом.

Порада - безкоштовна сторінка MX Toolbox дуже зручна для перевірки результату спроб різних налаштувань DNS.

Безсоромний штекер для моєї відповідної посади .


2
Будучи бездокументованою поведінкою, це, безумовно, не те, на що я хотів би розраховувати.
ceejayoz

2
цю поведінку можна вважати лише помилкою, сервер імен кешування може кешувати відповідь CNAME, і MDA ніколи не побачать інструменти запису MX.ietf.org/html/rfc5321#section-5.1
Ясен

-3

Ви можете використовувати CNAME в корені домену, однак ці записи MX також повинні бути налаштовані на хост-записі, тому якщо у вас є mx1.mail.com, налаштований у зоні для yourdomain.com, і в корені yourdomain. com - це CNAME для thisrecord.cname.com, ви також повинні переконатися, що mx1.mail.com налаштований на цьому хості CNAME; якщо ні, вся пошта буде втрачена!


4
Проблема полягає в тому, що згідно з RFC1034, "якщо CNAME RR присутній у вузлі, ніяких інших даних не повинно бути" - оскільки в корені потрібно мати записи NS (щоб бути корисними в будь-якому випадку), завжди будуть інші дані , що порушує цей розділ RFC.
Doktor J

На мій погляд, відповідь правильна, за винятком того, що запис MX повинен бути замість хоста CNAME (не також).
Олександр Таубенкорб
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.