LINUX.ORG.RU
ФорумAdmin

sendmail игнорирует clientportoptions...


0

1

...по крайней мере для одного адреса.

1. На сервере два провайдера, два исходящих канала - yota через eth2 и eretlecom через pppoe (ppp0).

2. Настроена маршрутизация для двух каналов по LARTC

3. Маршрутом по умолчанию для сервера служит yota

4. Учитывая частоту появления подсетей йоты в различных блэклистах, в конфиге сендмэйла, который служит почтовиком, указано O ClientPortOptions=Family=inet, Address=91.XXX.XXX.XXX (ertelecom)

Все чудно работает для всех кроме, по-крайней мере, одного адреса. На него настойчиво сендмэйл отправляет с йоты. Почему?

Временно поставил костыль, написав статический маршрут на этот адрес через эртелеком. Но хочется понимания. Спасибо.

То есть вы делали strace sendmail'а и в трассировке видно, что при отправке письма sendmail не делает bind() на этот 91.XXX.XXX.XXX адрес?

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

Нет, я тупо посмотрел tcpdumpом , откуда ходят пакеты на 25й порт при отправке письма. Только на один адрес настойчиво ломится с интерфейса, не указанного в clientoptions.

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

Ну я советую запустить ″strace -e trace=network -f -v -o /tmp/strace.tmp″ указав через опцию ″-p″ pid sendmail'а и сразу же отправить два письма, на нормальный и на проблемный адрес. Дождаться, что в логах будут записи об отправке этих писем, остановить strace через ″Ctrl+C″.

Потом поискать в strace.tmp ip-адреса relay'ев на которые были отправлены эти письма и убедиться, что перед ″connect()″ на искомый адрес есть ″bind()″ на адрес 91.XXX.XXX.XXX (только там нужно ещё pid процесса смотреть). Или его нет. И, в зависимости от этого, думать над конфигом sendmail'а или над списком маршрутов/правил iptables.

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

уху, спасибо, понял. Как окошко появится, займусь. Отпишу, когда всё.

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