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

Проблема с sendmail с IPv6

У меня есть почтовый сервер, настроенный с несколькими экземплярами sendmail, каждый из которых работает на разных адресах IPv4 и IPv6. Все идет гладко до момента, когда для некоторых доменов / электронных писем (очевидно, случайных) sendmail пытается отправить письмо с адреса IPv6 вместо IPv4, и я начинаю получать такие сообщения, как:

SYSERR(root): makeconnection: cannot bind socket [IPv6:2001:db8::2]: Address family not supported by protocol
to=<xxx@bad-domain.example>, delay=04:23:07, xdelay=00:00:00, mailer=esmtp, pri=11918385, relay=bad-domain.example. [198.51.100.5], dsn=4.0.0, stat=Deferred: Address family not supported by protocol

Адреса IPv6 и IPv4 были скрыты.

То, что я заметил, но я не уверен, что это проблема, запись MX для плохого домена - это CNAME, а не прямая запись A или AAAA.

Я использую Sendmail 8.14.5 в Fedora 16, все IP-адреса настроены статически (IPv4 + IPv6). Если основная проблема не может быть решена, есть ли способ указать sendmail использовать только IPv4 для списка указанных доменов?

Выдержка из sendmail.mc:

CLIENT_OPTIONS(`Family=inet,Addr=192.0.2.2')dnl
CLIENT_OPTIONS(`Family=inet6,Addr=2001:db8::2')dnl
DAEMON_OPTIONS(`Name=MTA-v4,Family=inet,Addr=192.0.2.2')dnl
DAEMON_OPTIONS(`Name=MTA-v6,Family=inet6,Addr=2001:db8::2')dnl

пример для плохого домена: donpac.ru, montevideo.com.uy, dalia-ingenierie.fr, opela.cz, orange.net, poisl.com.br, tamil.com, zerong.cn

LE: похоже, у всех есть CNAME как запись MX, и ни один из CNAME не разрешает IPv6

Хотя приведенные выше комментарии, кажется, предполагают, что это не проблема v4 по домену, сегодня у меня была причина сделать именно то, что вы описываете, и я нашел этот вопрос во время поиска.

Метод, который я нашел для принудительной доставки v4 на основе домена за доменом, заключается в том, чтобы включить mailertable, имея

FEATURE(`mailertable')

в моем sendmail.mc (если он уже там, вам не нужно добавлять его снова). Затем я заставляю доставку на основе v4, переопределив DNS и инструктирую доставку перейти на адрес v4 в файле mailertable; это от /etc/mail/mailertable:

.example.com    esmtp:[260.240.18.38]
example.com     esmtp:[260.240.18.38]

Обычно я не редактирую доменные имена, но я не хочу смущать коллег, которые неправильно реализовали smtp-over-ipv6 и поэтому нуждаются во мне для принудительной доставки через v4. Очевидно, что IP-адрес также является ложным; но на производстве это адрес v4 их основного MX, взятый из DNS.