LINUX.ORG.RU
ФорумAdmin

Гугл «пинает» почту только с IPv6

 ,


0

1

Доброго дня!
Есть почтарь postfix+debian7.
При отправке почты в логах такая ошибка

status=bounced (host gmail-smtp-in.l.google.com[2a00:1450:400c:c04::1a] said: 550-5.7.1
Our system has detected that this message is 550-5.7.1 likely unsolicited mail. 
To reduce the amount of spam sent to Gmail, 550-5.7.1 this message has been blocked. Please visit 550 5.7.1  https://support.google.com/mail/answer/188131 for more information. z14si16934084wjw.111 - gsmtp (in reply to end of DATA command)
Причем, если постфих коннектится по IPv4, то никаких проблем, доставка нормальная, проблема только, если коннект идет по IPv6.
Запись PTR имеется для обоих IPv4 и IPv6 и указывает домен, который прописан в постфиксе как smtp_helo_name = myhostname
Запись SPF содержит как IPv4, так и IPv6. Добавил также туда include:_spf.google.com mx ~all как сказано здесь https://support.google.com/a/answer/178723
Запись DMARC имеется p=reject;
Что этому Гоше не хватает, что он еще хочет?
Хотелось бы настроить, чтобы IPv6 работало, но как крайний вариант, еще вопрос: Как отключить IPv6 только для гугла?

Добавил также туда include:_spf.google

Как связаны Google Apps и твой Postfix? :-)

Ты что — пытаешься рассылать письма будто бы от имени гугла? :-D

Ну в случае ipv4 гугл наверно думает что всегда успеет занести твой ip (ipv4) в чёрный список спамеров ..

А в случае ipv6 спам-список не прокатет (адресов много), поэтому он более тщательно проверяет всё ли в порядке

user_id_68054 ★★★★★ ()
Ответ на: комментарий от user_id_68054

Как связаны Google Apps и твой Postfix? :-) Ты что — пытаешься рассылать письма будто бы от имени гугла? :-D

Не помню где, но я видел такую информацию, что у гугла много переадресаций (Received:) и поэтому надо включать include:_spf.google
Хотя, возможно это и лишнее.
Но факт остается фактом, что и без добавления include:_spf.google происходит то же самое, коннект по ipv6 не проходит. Уже пробовал сто раз.

rafaello ()
Ответ на: комментарий от rafaello

Все Ай-Пи адреса, как ipv4 так и ipv6 чистые, их нет в блэк-листах

rafaello ()

Гугль проверяет корректность настроек почтового сервера для v6 гораздо строже. Проверь реверс, helo и т.п. Для v4 Гугль на некоторые вещи закрывает глаза ввиду всеобщего раздолбайства.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)

Ipv6 нативный или через брокера? Безотносительно v6 можно накрутить DKIM и SSL.

trancefer ★★ ()

Есть подозрение что не проходит валидация IP/HostName

Обычно SMTP сервер смотрит с какого IP был коннект (IP-A), далее делается revers резолв и получаем имя хоста (HOST-A) делее резолвим HOST-A - должны получить IP-A, если получили чтото другое (IP-B) - reject.

Я бы вам посоветовал завести два под домена (v4.myhostname + v6.myhostname) и соотвецтвенно настроить reverse DNS для IPv6 в v6.myhostname а для IPv4 в v4.myhostname. И соотвецтвенно v4.myhostname резолвить только в IPv4 аддресс а v6.myhostname только в IPv6.

Для примера можете глянуть aspmx.l.google.com

Нужно ли чтобы реверс имя соотвецтвовало SMTP HELLO хосту - как правило нет, но всякое бывает (сможете проверить).

Как отключить IPv6 только для гугла?

Тут наверное без кастылей не обойтись, самый простой в /etc/hosts прописать гугловые MX хосты и их IPv4 адресса, вариант номер два поднять свой проксирующий DNS для гугловой зоны (правда их у него куча .com, .ru, .us, .ca и тд, правда все MX записи вроде указывают на .google.com) и уже на нем срезать IPv6 адресса. Но как по мне проще /etc/hosts + крон скрипт который будет чекать и обновлять его

zaz ★★★★ ()
Последнее исправление: zaz (всего исправлений: 1)
Ответ на: комментарий от zaz

Есть подозрение что не проходит валидация IP/HostName

Обычно SMTP сервер смотрит с какого IP был коннект (IP-A), далее делается revers резолв и получаем имя хоста (HOST-A) делее резолвим HOST-A - должны получить IP-A, если получили чтото другое (IP-B) - reject.

Уже 10 раз перепроверил, все правильно у меня. Один HostName имеет два адреса А и АААА. У постфикса прописаны и smtp_bind_address6 и smtp_bind_address. Соответственно правильно прописаны inet_interfaces и mynetworks.
Все-равно гугл банит IPv6.
Кстати, вот здесь нашел решение, как отключить IPv6 только для гугла.

Я бы вам посоветовал завести два под домена (v4.myhostname + v6.myhostname) и соотвецтвенно настроить reverse DNS для IPv6 в v6.myhostname а для IPv4 в v4.myhostname. И соотвецтвенно v4.myhostname резолвить только в IPv4 аддресс а v6.myhostname только в IPv6.

Честно говоря не очень понятно, как можно на одном почтовом сервере указывать два разных myhostname. Ведь один почтовый сервер имеет единственный экземпляр main.cf и там можно указать только один myhostname

rafaello ()
Ответ на: комментарий от rafaello

Уже 10 раз перепроверил, все правильно у меня.

У вас не может быть «все правильно», потомчто правильно не существует - нужно так как хочет гугл. А как он хочет они сами толком не знают :)

Один HostName имеет два адреса А и АААА. У постфикса прописаны и smtp_bind_address6 и smtp_bind_address.

В этом и проблема - у вас должно быть два разных хостнейма, отдельно для IPv6 и отдельно для IPv4 - посмотрите на сам гугл у них нигде нету спареных хостнеймов.

Еще раз повторюсь, наример у вас есть 2 публичных IP: IPv4 (например 4.0.0.4) и IPv6 (например 6::6) и домен (например my.com) . По моему субъективному мнению что должно быть:

$ host 4.0.0.4
v4.my.com
$ host v4.my.com
4.0.0.4

$ host 6::6
v6.my.com
$ host v6.my.com
6::6
Тоесть никаких миксированых и не однозначных ответов после пары Revrse Resolve -> Direct Resolve . Все ответы должны быть однозначны. Грубо говоря команды:
$ [ host `host 4.0.0.4` = '4.0.0.4']
и
$ [ host `host 6::6` = `6::6` ];

должны всегда генерировать TRUE
а я так понял у вас сейчас гдето так
$ host 4.0.0.4
my.com
$ host 6::6
my.com

$ host my.com
4.0.0.4
6::6

И в этом проблема, так как при Reverse Resolve -> Direct Resolve мы не получаем исходного значения, а получаем список адрессов один из которых есть исходный а это не правильно нужно чтобы был только один адресс и он соотвецтвовал исходному.

zaz ★★★★ ()

а у тебя обратный DNS для IPv6 адреса во что резолвится?

Harald ★★★★★ ()
Ответ на: комментарий от zaz
$ host 4.0.0.4
my.com
$ host 6::6
my.com

$ host my.com
4.0.0.4
6::6


И в этом проблема, так как при Reverse Resolve -> Direct Resolve мы не получаем исходного значения, а получаем список адрессов один из которых есть исходный а это не правильно нужно чтобы был только один адресс и он соотвецтвовал исходному.

Вы не правы. У меня именно так и настроено и все работает.

anc ★★★★★ ()
Ответ на: комментарий от zaz

В этом и проблема - у вас должно быть два разных хостнейма, отдельно для IPv6 и отдельно для IPv4 - посмотрите на сам гугл у них нигде нету спареных хостнеймов.

Уважаемый ZAZ!
Как вы видите для себя физическое воплощение реализации двух разных хостнеймов?
Ведь в моем понятии, почтовый сервер - это установленный постфикс, а если постфикс-мульти - то один его какой-то экземпляр.
Имеется PHP-скрипт рассылки, в котором явно указано, куда коннектиться для отправки сообщений, то есть к какому почтовому серверу. Сам скрипт не может заранее знать, по какому каналу произойдет SMTP соединение, по IPv4 или IPv6. Это происходит только на уровне самого постфикса, то есть когда PHP-скрипт уже скинул сообщения постфиксу. У самого постфикса имеется единственный экземпляр main.cf, где я могу указать единственный хостнейм.
Каким образом я могу сделать два разных хостнейма?

rafaello ()
Ответ на: комментарий от rafaello

Имеется PHP-скрипт рассылки

Опаньки. А не за это ли гугл забанил? Реально они могут, у них не познанного в спаморезалке чуть больше чем дофига.
ЗЫ «Как вы видите для себя физическое воплощение реализации двух разных хостнеймов?.....»
Вы абсолютно правы, а zaz нет. Хоть я и не знаю postfix, но общие принципы одинаковы.

anc ★★★★★ ()
Ответ на: комментарий от anc

Опаньки. А не за это ли гугл забанил? Реально они могут, у них не познанного в спаморезалке чуть больше чем дофига.

Во первых скрипт используется для одиночных отправлений и я его привел для примера.
С таким же успехом я говорю, что есть установленный roundcube.
В третьих, гугл же принимает по IPv4
В четвертых, давайте не будем уводить тему в сторону, а лучше подождем ответа г-на ZAZ, если же он конечно ответит.

rafaello ()
Ответ на: комментарий от rafaello

А причем здесь hostname и HELLO хост от? Проверки которые а описывал они осуществляются сразу полсе конекта до начала любой передачи данных. Это чистый TCP + DNS и имя хостов там никак не участвует.

zaz ★★★★ ()
Ответ на: комментарий от zaz

Г-н ZAZ!
Вы предоставили прекрасное решение, чтобы разделить hostname и сделать два разных

Я бы вам посоветовал завести два под домена (v4.myhostname + v6.myhostname) и соотвецтвенно настроить reverse DNS для IPv6 в v6.myhostname а для IPv4 в v4.myhostname. И соотвецтвенно v4.myhostname резолвить только в IPv4 аддресс а v6.myhostname только в IPv6.

Однако вы говорите о том, как это сделать физически, то есть на практике!
Очень жаль....

rafaello ()
Ответ на: комментарий от rafaello

Опечатка: Однако вы не говорите о том, как это сделать физически...

rafaello ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.