1

Я был очень удивлен, получив неожиданный отскок от Gmail на электронную почту с SMTP/IMAP-сервера моего собственного домена, отправленную через Outlook (подробности анонимны):

Отправленное вами сообщение не может быть доставлено одному или нескольким получателям. Это постоянная ошибка. Следующий адрес (а) не удалось:

  some.email.address@gmail.com
    SMTP error from remote mail server after end of data:
    host gmail-smtp-in.l.google.com [1234:a1b2:4321:a12::1a]:
    550-5.7.1 [1234:1234:1234:a12::12a1] Our system has detected that this message
    550-5.7.1 does not meet IPv6 sending guidelines regarding PTR records and
    550-5.7.1 authentication. Please review
    550-5.7.1  https://support.google.com/mail/?p=IPv6AuthError for more information
    550 5.7.1 . 123ab123456abc.123 - gsmtp

Я не понимал, почему это был IPv6AuthError, но после проверки того, что обратный поиск IP работал с использованием моего PTR и что мои записи DKIM и SPF были в порядке, я провел DNS-тест поиска IPV6, который выдал простую ошибку "not found":

аааа:my-domain.com

Найти проблемы аааа

Тест: DNS-запись опубликована Результат: DNS-запись не найдена

Что неудивительно: мой домен находится на IP-адресе IPV4, поэтому я никогда не устанавливал никаких записей aaaa, подумав (возможно, наивно?) что они мне не нужны, если я не использую IP-адрес только для IPV6.

Дальнейшие электронные письма с того же адреса my-domain.com на тот же адрес GMail не дают ту же ошибку, так что это периодически возникающая проблема. Я добавил записи AAAA @ , mail и www указывающие на автоматически конвертированную версию IPV6 моего IP-адреса IPV4, и пока все выглядит нормально, но трудно сказать, исправлена ли эта проблема.

Мои электронные письма отправляются с использованием exim с некоторой динамической конфигурацией, которая назначает IPv4-адрес каждому домену на почтовом сервере. В моей конфигурации exim нет ничего такого, что могло бы назначить вместо этого адрес IPv6, но netstat -tulpn | grep :25 показывает, что exim слушает адреса IPv6:

netstat -tulpn | grep :25
tcp        0      0 0.0.0.0:2525           0.0.0.0:*             LISTEN      2788/exim   
tcp        0      0 0.0.0.0:25             0.0.0.0:*             LISTEN      2788/exim   
tcp        0      0 :::2525                :::*                  LISTEN      2788/exim   
tcp        0      0 :::25                  :::*                  LISTEN      2788/exim 

Итак, мой вопрос: при каких обстоятельствах почтовому серверу, настроенному на использование IP-адреса IPV4, нужны записи AAAA для отправки и получения почты?

1 ответ1

3

Видимо ваш почтовый сервер подключен к Google через IPv6. И это здорово, потому что этому интернету нужно больше людей для поддержки IPv6!

То, на что вы смотрели (A, записи AAAA и т.д.), Относится к входящим соединениям с вами. Google видит ваши исходящие соединения. Даже если у вас нет записей AAAA в DNS, ваш сервер все еще может обмениваться данными по IPv6, и, очевидно, это так.

Во-первых: не помещайте адреса IPv4 в записи AAAA, используя какой-то прием преобразования! Это серьезно повредит вашей доступности. Взгляните на нашу презентацию на RIPE 74 для ужасов. IPv4 и IPv6 - это разные протоколы, и вы не можете просто конвертировать адреса. Используйте свои реальные адреса IPv6. Ваш сервер, очевидно, имеет их, иначе он не смог бы подключиться к Google через IPv6.

Когда Google получает входящее соединение по IPv6, он выполняет обратный поиск (записи PTR) по этому адресу, чтобы увидеть, каково каноническое имя хоста для этого адреса. Затем он выполнит поиск по этому имени, чтобы увидеть, действительно ли это имя имеет этот адрес (записи AAAA), чтобы убедиться, что обратная запись не была ложной. Затем он проверит IPv6-адрес источника и запись SPF, чтобы определить, должен ли этот адрес отправлять почту с этого домена.

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

Я надеюсь, это поможет вам. Первое, что нужно сделать, это узнать IPv6-адрес вашего почтового сервера. И если вы сознательно не настраивали их, вы также можете проверить настройки брандмауэра IPv6 и сопоставить их с настройками IPv4. Поддержка IPv6 - это здорово, но убедитесь, что вы делаете это безопасно :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .