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

Пользователи не могут отправлять почтовые сообщения - запись mx для усечения сайта, повторная попытка в режиме TCP

Настройка системы: Linux Red Hat Enterprise Linux ES выпуска 4 (Nahant Update 9), почтовый сервер Postfix

У меня есть пользователь, который пытается отправить электронное письмо. Электронная почта на этом сервере годами работает без каких-либо (постоянных) проблем. Теперь этот пользователь не может отправлять электронную почту определенному серверу, а только этому серверу. Я проверил свою учетную запись и тоже не могу отправить серверу электронную почту.

Когда я копаю запись mx, я получаю следующее:

dig -t mx xxxxxxxxx.com
;; Truncated, retrying in TCP mode.
;; connection timed out; no servers could be reached

Когда я запускаю ту же команду с + ignore, она работает.

Я выполнил эту команду, и она показывает размеры моих пакетов UDP:

dig +short rs.dns-oarc.net txt
rst.x3827.rs.dns-oarc.net.
rst.x3837.x3827.rs.dns-oarc.net.
rst.x3843.x3837.x3827.rs.dns-oarc.net.
"Tested at 2013-06-14 22:41:30 UTC"
"72.51.49.20 sent EDNS buffer size 4096"
"72.51.49.20 DNS reply size limit is at least 3843"

Это кажется достаточно большим, но я не знаю.

Я добавил серверы OpenDNS на свой resolv.host, но это не помогло.

Сервер старый (около 2008 г.) и скоро будет заменен. Я подозреваю, что это решит проблему, но до замены еще две-четыре недели, а пока я хотел бы ее исправить.

Postfix дает мне это в почтовом журнале для этого сервера:

14 июня 16:01:35 postfix / smtp [10962]: to =, relay = none, delay = 94925, delays = 94358 / 0.03 / 567/0, dsn = 4.4.3, status = deferred (имя хоста или домена не найдено. Ошибка службы имен для name = xxxxxxx.com type = MX: Host not found, попробуйте еще раз)

Не уверен, нужно ли мне как-то менять постфикс или имя или что-то еще.

Спасибо bqb

Эта первая строка ошибки была предупреждением.

;; Усечено, повторная попытка в режиме TCP.

Нильс в своей ветке на SF: Принудительная пересылка DNS-запросов в режим TCP дайте объяснение следующим образом:

Первый запрос идет в режиме UDP, ответ не помещается в UDP (из-за длинного списка авторитетных NS), затем он повторяется в режиме TCP, доставляя правильный ответ.

Вторая - постоянная ошибка, из-за которой dig не может достичь ни одного сервера NS.

;; время соединения истекло; серверы недоступны

Вы можете указать dig, чтобы рекламировать большой буфер приема, например dig +bufsize=2048 xxxxx.com.

Исходя из на ваш комментарий, это сработало в вашем случае.

Решение

Вы можете попробовать установить параметр edns-udp-size и / или max-udp-size в вашем named.conf как Альнитак указал в своем ответ.

Также попробуйте проверить правило брандмауэра, чтобы разрешить TCP-пакет через порт 53. Похоже, это причина, по которой ваш раскопок был время вышло в режиме TCP.