Назад | Перейти на главную страницу

автоматические записи MX для (почти) всех хостов в домене

я использую DNS-сервер для example.com, с несколькими записями A / CNAME, указывающими на разные IP-адреса.

@           IN      A      198.51.100.1
a           IN      A      198.51.100.3
b           IN      CNAME  a
c           IN      A      203.0.113.12

теперь я хотел бы запустить один почтовый сервер (например, mail.example.com) для домена верхнего уровня (joe@example.com) и все хосты в этом домене (jane@a.example.com, office@c.example.com)

я вообразил что-то вроде

@           IN  MX  10  mail
*           IN  MX  10  mail
mail        IN  A       203.0.113.25

теперь вышеуказанное работает достаточно хорошо для основного домена:

$ dig mx example.com | grep MX
;example.com.         IN MX
example.com.          IN MX 10 mail.example.com.
$

но это не работает для записей A / CNAME:

$ dig mx a.example.com | grep MX
;a.example.com.         IN MX
$

вместо этого подстановочный знак * трактуется буквально:

$ dig mx '*.example.com' | grep MX
;*.example.com.         IN MX
*.example.com.   604800 IN MX 10 mail.example.com.
$

кажется, что лучше всего иметь запись MX для каждого хоста в домене:

@           IN      MX  10  mail
a           IN      MX  10  mail
b           IN      MX  10  mail
c           IN      MX  10  mail

теперь представьте, что у меня в домене сотни хостов ... добавление идентичной записи MX для каждого из них кажется весьма подверженным ошибкам.

есть ли способ указать одну запись MX для всех записей A / CNAME домена?

Мне известны похожие вопросы по сбоям сервера, например Запись MX для субдоменов, но ответ, похоже, относится только к случаю, когда все хосты разрешаются на один и тот же IP-адрес, который не дело здесь.

;; I cannot use this!
@           IN      A      198.51.100.3
*           IN      CNAME  @

бонусный вопрос

если есть такой способ, можно ли также указать записи MX для определенных записей? например все хосты должны использовать mail.example.com, только c.example.com должен использовать mail.c.example.com?

резюме

Подводя итог, я бы хотел избежать MX запись для каждого A/CNAME запись в моем домене.

например я бы хотел избегать последующий:

@           IN      A      198.51.100.1
@           IN      MX 10  mail
a           IN      A      198.51.100.3
a           IN      MX 10  mail
b           IN      CNAME  a
b           IN      MX 10  mail
c           IN      A      203.0.113.12
c           IN      MX 10  mail
mail        IN      A      203.0.113.25

Подстановочные знаки применяются только к полным доменным именам, которые не существуют ни в каком виде RR. Поскольку у вас есть запись A для «a.example.com», подстановочный знак любого типа RR никогда не будет соответствовать «a.example.com». Похоже, вы уже на вершине альтернативы; в основном вручную генерировать каждую запись или использовать какую-то запутанную систему включения.

Еще одна вещь, о которой стоит упомянуть, если у домена нет записи MX, но есть запись A, почтовый обменник должен попробуйте эту запись для электронной почты. Все основные программы электронной почты, которые я видел, делают это.