URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 81898
[ Назад ]

Исходное сообщение
"Отправка почты с шлюза НЕ по умолчанию"

Отправлено Smash , 09-Сен-08 18:26 
Добрый день.

Есть ОС Fedora 8, 2 интернет провайдера: 1 - adsl с динамическим ip используется по умолчанию (ppp0), 2 - статический ip ethernet интернет на который заведено доменное имя (eth1), локалка 192.168.100.0/24 (eth0)
Задача:
Необходимо, чтобы почта отправлялась со статического ip.
прочитав статью http://www.opennet.me/tips/info/1179.shtml я пытался организовать это следующим образом:

1. Использую почтовик James - прописал bind smtp на статический IP адрес (теперь 25 открыт на статическом адресе, но боюсь, это не заставляет почту отправляться с этого адреса)
2. создал таблицу маршрутизации mail:

192.168.100.0/24 dev eth0 scope link
127.0.0.0/8 dev lo scope link
default via "шлюз статического интернета" dev eth1

3. прописал маршрут

ip rule add from "статический адрес интернет" table mail

0: from all lookup local
32765: from "статический адрес интернет" lookup mail
32766: from all lookup main
32767: from all lookup default

Но почта всёравно уходит с динамического адреса и я получаю в ответ письмо:
Error message:
550-5.7.1 [динамический адрес] The IP you're using to send mail is not authorized
550-5.7.1 to send email directly to our servers. Please use the SMTP
550-5.7.1 relay at your service provider instead. Learn more at
550 5.7.1 http://mail.google.com/support/bin/answ … swer=10336

Если поставить по умолчанию шлюз статического интернета, то всё работает как положено.
Я так понимаю, проблема в том, что почта изначально попадает на ppp0 и не проходит по моему правилу.
Заранее благодарен за любой совет.


Содержание

Сообщения в этом обсуждении
"Отправка почты с шлюза НЕ по умолчанию"
Отправлено XoRe , 10-Сен-08 12:01 
Нужно копать в сторону PBR (Policy Based Routing) - направление определенного исходящего трафика на какой-то шлюз в зависимости от того, какой трафик куда надо.
Это можно сделать роутингом, или фаерволлом, или ещё как - как сумеете.

Во FreeBSD это можно сделать с помощью ipfw.
Правилом фаерволла типа:
fwd <ип_шлюза> tcp from me to any 25
И все tcp пакеты, идущие наружу на 25 порт, будут принудительно отправляться на ип_шлюза.

Думаю, что-то подобное можно реализовать и в linux, причем несколькими способами.


"Отправка почты с шлюза НЕ по умолчанию"
Отправлено angra , 10-Сен-08 18:32 
Если вам нужно отсылать почту на конкретные сервера, то почему бы не поставить для них отдельные правила роута?

"Отправка почты с шлюза НЕ по умолчанию"
Отправлено Smash , 10-Сен-08 23:05 
Хочется сделать один раз и красиво, поэтому варианты отдельно прописывать почтовые сервера не подходит.
Мне интересно, почтовики вообще умееют слать на конкретный интерфейс? Если да, то мой роутиниг бы работал, а так шлет видать не с того :(