Когда Postfix использует IPv6 и когда IPv4?

10

Я настроил свой почтовый сервер для IPv6 и IPv4, но в большинстве случаев он использует IPv4, а IPv6 доступен на удаленном хосте. Я использую Postfix в версии 2.9. Поэтому я подумал, что postfix использует IPv6, если он доступен, и имеет запасной вариант к IPv4, или я ошибаюсь?

nazco
источник
Вы уверены, что у вас есть IPv6? Разместите свою копию /etc/gai.conf, вывод ip addrи ping6 -c 5 www.google.com.
Майкл Хэмптон
Ну, я знаю, что это работает, потому что я могу получать почту через IPv6, а также я проверил мои настройки IPv6, прежде чем я спросил здесь.
nazco
2
Из-за того, что Google отправил всю мою электронную почту IPv6 в СПАМ, я использовал "smtp_address_preference = ipv4". Я настоятельно рекомендую не отдавать предпочтение IPv6, так как большинство крупных поставщиков электронной почты (gmail, aol, yahoo, hotmail / outlook и т. Д.) Не принимают, не поддерживают или будут отправлять спам-бин от отправителей ipv6. Просто говорю .... IPv6 готов к миру, но мир к нему не готов>. <: (...
2
@BOB Вам в основном нужен обратный DNS на ваших IPv6-адресах, чтобы пройти Gmail.
Майкл Хэмптон

Ответы:

11

Вы установите smtp_address_preference вариант expliclity предпочитают IPv6?

Из постконф (5):

smtp_address_preference (default: any)
       The address type ("ipv6", "ipv4" or "any") that the Postfix SMTP client will try first, when a destination has IPv6 and IPv4 addresses with equal MX preference. This feature has no effect unless  the
       inet_protocols setting enables both IPv4 and IPv6.  With Postfix 2.8 the default is "ipv6".

       Notes for mail delivery between sites that have both IPv4 and IPv6 connectivity:

       ·      The setting "smtp_address_preference = ipv6" is unsafe.  It can fail to deliver mail when there is an outage that affects IPv6, while the destination is still reachable over IPv4.

       ·      The setting "smtp_address_preference = any" is safe. With this, mail will eventually be delivered even if there is an outage that affects IPv6 or IPv4, as long as it does not affect both.

       This feature is available in Postfix 2.8 and later.
andol
источник
2
Не совсем уверен, при каких условиях такой сбой случится. Я сам установил «smtp_address_preference = ipv6» и проверил случаи его возврата к записи A после сбоя соединения с записью AAAA.
андол
4
Это может быть полезно в тех случаях, когда вы можете подключиться через IPv6, но есть другая проблема. Отсутствие обратной настройки DNS для вашего исходного IPv6-адреса является распространенным явлением. Получатель (т. Е. Google Mail) принимает соединение IPv6, но затем отклоняет вашу почту, потому что обратная проверка DNS не удалась. Когда вы предпочитаете IPv6, вы всегда получите отказ. Когда вы рандомизируете протокол, сообщение может быть немного задержано, но при следующей попытке оно пройдет.
Сандер Штеффанн
1
@ Сандер: Хм, нет, только что проверил. Даже при «smtp_address_preference = ipv6» отказ 4xx в AAAA все равно вызовет повторную отправку по адресу A.
Андол
1
@ Sander: Для моего быстрого теста я пошел без MX, и доставка непосредственно на имя хоста. Но нет, нет второй записи MX. paste.ubuntu.com/6696807
Андол
1
@sander: Тем не менее, точно такой же результат с правильной записью MX - paste.ubuntu.com/6696854
andol
2

При условии, что Postfix правильно настроен с IPv6, ему поручено использовать оба протокола, и хост MX, к которому он подключается, имеет записи A и AAAA, Postfix каждый раз делает случайный выбор, как объяснил сам Витсе Венема :

Недавние SMTP-клиенты Postfix случайным образом выбирают между IPv4 и IPv6, чтобы почта не зависала при отключении одного из двух.

lrosa
источник
Итак, это означает, что больше нет «я пробую IPv6, и если он не работает IPv4» больше, как в более старых версиях postfix?
nazco