Postfix: «Время соединения истекло» для всей исходящей электронной почты [закрыто]

24

Я пытался настроить списки рассылки с помощью GNU Mailman, но это была полная катастрофа с кучей дорожных преград. Postfix может получать электронную почту, но не отправлять ее обратно, я заглянул в журнал, и вот что я нашел:

Mar 30 16:35:30 apott-server postfix/smtp[22572]: connect to gmail-smtp in.l.google.com[74.125.142.26]:25: Connection timed out
Mar 30 16:36:01 apott-server postfix/smtp[22572]: connect to alt1.gmail-smtp-in.l.google.com[173.194.76.27]:25: Connection timed out
Mar 30 16:36:31 apott-server postfix/smtp[22572]: connect to alt2.gmail-smtp-in.l.google.com[74.125.131.26]:25: Connection timed out
Mar 30 16:37:01 apott-server postfix/smtp[22572]: connect to alt3.gmail-smtp-in.l.google.com[173.194.67.27]:25: Connection timed out
Mar 30 16:37:31 apott-server postfix/smtp[22572]: connect to alt4.gmail-smtp-in.l.google.com[173.194.65.26]:25: Connection timed out
Mar 30 16:37:31 apott-server postfix/smtp[22572]: A0616100CCB: to=<example@gmail.com>, relay=none, delay=150, delays=0.06/0.01/150/0, dsn=4.4.1, status=deferred (connect to alt4.gmail-smtp-in.l.google.com[173.194.65.26]:25: Connection timed out)

Ясно, что что-то мешает исходящей почте, есть ли у кого-нибудь предложения, как это исправить?

(Сервер является коробкой Ubuntu Linux)

Спасибо за любую помощь.

APott
источник
3
Какой хостинг вы используете? Может ли это быть просто случай подключения вашей машины к сети, которая не разрешает исходящую почту?
kasperd
@kaspered Это моя собственная машина в моей сети. Есть входящая и исходящая почта, я делал это раньше на разных машинах, есть что-то с этим конкретным.
APott
Это может быть по множеству причин, начните с того, что вставьте ip вашего почтового сервера в MXTOOLBOX здесь , это может произойти, если ваш сервер находится в широкополосной сети домашнего класса, или у вас нет записи PTR для вашего IP, или ваш на черный список
0x7c0
@Shutupsquare Это говорит, что нет никаких проблем.
APott
Вы используете широкополосный доступ в домашнем классе? Или это бизнес широкополосный сервис?
0x7c0

Ответы:

17

Тайм-аут соединения означает, что ваши пакеты TCP SYN не возвращают SYN-ACK. Это означает, что что-то должно блокировать либо SYN, либо SYN-ACKS.

Вы можете использовать traceroute, чтобы узнать, насколько далеко зашли ваши SYN-пакеты.

traceroute -n -T -p 25 gmail-smtp-in.l.google.com

Обратите внимание, что для Ubuntu существуют разные команды traceroute. Приведенная выше команда работает с traceroute.db, но не с traceroute-nanog или inetutils-traceroute.

Для сравнения может быть полезно запустить второй traceroute, используя порт 80, а не порт 25.

kasperd
источник
1
Спасибо за ответ. Вывод выглядит следующим образом: traceroute to gmail-smtp-in.l.google.com (74.125.142.27), 30 hopsmax, 60 байтовых пакетов 1 192.168.1.254 3,567 мс 20,770 мс 20,768 мс 2 * * * 3 * * * 4 * * * 5 * * * 6 * * * 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * * 18 * * * 19 * * * 20 * * * 21 * * * 22 * ​​* * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * *
APott
4
Этот вывод показывает, что пакеты SYN не попадают за пределы вашей собственной сети. Пакеты SYN блокируются либо 192.168.1.254, либо следующим маршрутизатором на пути. Вы можете сравнить выход с другим, используя порт 80.
kasperd
5
Для тех, кто нашел этот вопрос, но пользуется AWS EC2: исходящий SMTP преднамеренно ограничен , но вы можете попросить об этом .
мсанфорд
+1 маршрутизатор использовал белый список SMTP-серверов по умолчанию ...
Willi Mentzel
У меня такие же проблемы, сделайте сравнение с портом 80, и результаты трассировки будут иметь смысл!
мусорщик
3

Это может быть не связано, но я собираюсь опубликовать это здесь, потому что мне было трудно найти ответ на мой вопрос. Мне удалось получить исходящую электронную почту, работающую из бродячего виртуального ящика, отредактировав мой так, /etc/resolv.confчтобы он использовал сервер имен Google, а не IP-адрес 10.0.xx, для которого было установлено:

sudo vi /etc/resolv.conf

Измените IP-адрес сервера имен:

nameserver 8.8.8.8

Затем вам нужно будет перезапустить постфикс:

sudo /etc/init.d/postfix restart
jrode
источник
Это было именно то, что я искал на своем бродячем ящике. Благодарность!
стикс
2
не мой вопрос принять.
Styks
1
Я думаю, что это не связано, так как traceroute удалось преобразовать имя хоста в IP-адрес. Я не думаю, что postfix говорит, Connection timed outкогда разрешение DNS не удается, потому что это может ввести в заблуждение.
Касперд
2

Настройте узел ретрансляции на ваш SMTP-сервер isp, в: /etc/postfix/main.conf

затем перезагрузите: перезагрузка службы sudo

Диего
источник
15
Было бы полезно объяснить, какой именно параметр, т. Е. relayhostИ, возможно, сначала объяснить причину проблемы ОП: для борьбы со спамом многие потребительские интернет-провайдеры блокируют исходящую почту и заставляют пользователей использовать свои SMTP-серверы.
HBruijn