Я розумію, ви не повинні вказувати MX-запис безпосередньо на IP-адресу, а натомість слід вказувати на A
запис, який, у свою чергу, вказує на IP-адресу вашого поштового сервера.
Але, в принципі, навіщо це потрібно?
Я розумію, ви не повинні вказувати MX-запис безпосередньо на IP-адресу, а натомість слід вказувати на A
запис, який, у свою чергу, вказує на IP-адресу вашого поштового сервера.
Але, в принципі, навіщо це потрібно?
Відповіді:
Вся ідея запису MX полягає в тому, щоб вказати хост або хости, які можуть приймати пошту для домену. Як зазначено в RFC 1035 , запис MX містить доменне ім'я. Тому він повинен вказувати на хост, який сам може бути вирішений у DNS. IP-адресу не можна використовувати, оскільки вона буде інтерпретуватися як некваліфіковане доменне ім’я, яке неможливо вирішити.
Причини цього у 1980-х роках, коли специфікації були спочатку написані, майже такі ж, як і причини цього сьогодні: Хост може бути підключений до декількох мереж і використовувати декілька протоколів.
Ще в 80-х роках не рідкістю були поштові шлюзи, які підключалися як до (відносно нового) Інтернету, який використовував TCP / IP, так і інших застарілих мереж, які часто використовували інші протоколи. Вказане MX таким чином дозволяє для записів DNS, які могли б визначити, як досягти такого хоста в іншій мережі, ніж Інтернет, наприклад, Chaosnet . На практиці, однак, цього майже не траплялося; практично всі переробили свої мережі, щоб натомість стати частиною Інтернету.
Сьогодні ситуація полягає в тому, що до хоста може бути досягнуто декілька протоколів (IPv4 та IPv6) та декількох IP-адрес у кожному протоколі. Один запис MX, можливо, не може перелічити більше однієї адреси, тому єдиним варіантом є вказівка на хост, де потім можна переглянути всі адреси цього хоста. (В якості оптимізації продуктивності сервер DNS надсилатиме записи адрес для хоста у додатковий розділ відповідей, якщо він має авторитетні записи для них, зберігаючи зворотну поїздку.)
Також існує ситуація, коли обмінники пошти надаються третьою стороною (наприклад, Google Apps або Office 365). Ви вказуєте свої записи MX на імена хостів, але може статися, що постачальнику послуг потрібно змінити IP-адреси поштових серверів. Оскільки ви вказали на хоста, постачальник послуг може це зробити прозоро, і вам не потрібно вносити жодних змін у свої записи.
DNS як протокол має деякі різні значення значень, вони не є взаємозамінними.
Важливо зауважити, що DNS - це двійковий протокол із чіткими відображеннями між типом запису та типом даних, який містить такий запис.
Наприклад: записи тримає адресу IPv4 (4 байта даних, фіксованої довжини). Запис займає IPv6 - адреси (16 байтів даних, фіксованої довжини). A
AAAA
MX
Запис, з іншого боку, має ім'я (послідовність міток на форматі <int number of bytes> <label> <int number of bytes> <label> <int 0>
, змінна довжиною).
Це не можливо для MX
запису , щоб мати IP - адреса в якості своїх даних.
NXDOMAIN
).
MX
можна чи потрібно використовувати записи, які існують у світі.
Я викину це як здогад. Звичайно, я грипую вдома, так що, можливо, я пестливий.
RFC 974 заявляє:
Перший крок для поштового повідомлення в LOCAL - це запит на MX RR для REMOTE. Настійно закликаємо цей крок робити щоразу, коли поштова розсилка намагається надіслати повідомлення. Сподіваємось, що зміни в базі даних доменів швидко використовуватимуться електронними повідомленнями, і, таким чином, адміністратори домену зможуть перенаправляти повідомлення, що перебувають під час передачі, для несправних хостів, просто змінюючи їхні бази даних домену.
Вимагаючи імені замість IP, воно наполегливо заохочує цю практику. Імена можуть залишатися однаковими, і в разі балансування навантаження або DR вам не доведеться турбуватися про зміну самого запису MX та очікування розповсюдження DNS.
Деякі сервери електронної пошти (наприклад, exim) спеціально не дозволяють надсилати записи MX, які вказують на чисту IP-адресу, тому вам потрібно використовувати FQDN, а не сумісність. Це тому, що більшість серверів очікують, що запис MX містить ім'я хоста, а не IP (саме для цього потрібні записи A).
Редагування: Щоб уточнити, у DNS кожен запис має суворі вимоги до типу даних, які може містити кожен запис. У разі MX записів, це ім'я хоста тільки .
MX
запис, можливо, не може мати IP-адресу як його значення.
У RFC 1025 MX записи вказують лише на RR (запис ресурсів) запису A або CNAME.
Таким чином, поштовий сервер, що надсилає пошту, запитує RR запису MX, запис mx перераховує записи серверів, поштовий сервер здійснює пошук вперед, щоб отримати запис A, а потім пересилає пошту через smtp до хоста сервісу, вказаного як поштовий сервер "готовий" отримувати пошту для цього домену.
Багато правил, що діють стосовно пошти, склалися для того, щоб підтримувати довіру між доменами, що повідомлення, надіслані назад і назад, дійсно дійсні. Все це - в кінцевому рахунку зменшити СПАМ.
Усі ці найважливіші компоненти для створення поштового сервера мають принаймні якийсь невеликий компонент, створений для створення надійних комунікацій та зменшення ненадійного спілкування.
Мета MX
записів полягає в тому, що програма (передача пошти) може дізнатися про хост, який буде використовуватися. На рівні програми імена хостів - це правильна річ (а не IP-адреси).
Крім того, додавання контенту запису варіанту типу до DNS вводить важіль ускладнення, а отже, і точка входу для проблем, невдач в реалізації, проблем із безпекою. Наприклад, 1.2.3.4.example.com.
є дійсним ім'ям хоста (так, воно є навіть у світлі RFC1034, 3.5). Визначення цього хоста як MX
у файлі конфігурації прив'язки для example.com може виглядати так
. MX 10 1.2.3.4
і, мабуть, саме такий MX запис з IP повинен виглядати. І навіть для передачі інформатоїну в дейтаграмі DNS потрібні певні прискіпливі добавки; найпростішим способом було б запровадити новий тип запису ресурсів, MXA
скажімо, для неоднозначності. Але знову ж таки, навіщо вводити тягар таким новим типом записів, коли
. MXA 10 5.6.7.8
завжди можна було замінити на
. MX 10 dummy
dummy A 5.6.7.8
(і підтримуватимуть їх також клієнти DNS, які не знають про MXA
записи)?