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

Исходное сообщение
"Exim4, 2 интерфейса"

Отправлено Dagger , 16-Ноя-08 13:25 
Что есть:
    - Debian Lenny.
    - Веб-сервер, почтовый сервер(exim4) и домашняя файлопомойка.
    - Два провайдера, два интерфейса.
        - eth1 - анлимный канал. Режется все, что только можно, в том числе smtp, но у провайдера relay-сервера не обнаружено.
        - eth2 - 100Mbit лимитированный канал. Открыто все.
    - default route разруливаю через iproute2 вот таким вот скриптом: http://dumpz.org/3496/
      Соответственно, весь трафик, который инициирует сервер, уходит через eth1, а ответы на трафик, который приходит на eth2 через него же и уходят.

Проблема:
    Нужно, чтобы почта уходила через eth2. Пробовал заставить exim слушать только eth2, но безрезультатно. Только слушает, но не отправляет. Пробовал заворачивать трафик (скрипт: http://dumpz.org/3498/), который уходит по eth1 с 25 портом заворачивать на eth2 - безрезультатно.


Содержание

Сообщения в этом обсуждении
"Exim4, 2 интерфейса"
Отправлено Alexander Pytlev , 17-Ноя-08 00:22 
>Проблема:
>    Нужно, чтобы почта уходила через eth2. Пробовал заставить
>exim слушать только eth2, но безрезультатно. Только слушает, но не отправляет.
>Пробовал заворачивать трафик (скрипт: http://dumpz.org/3498/), который уходит по eth1 с 25
>портом заворачивать на eth2 - безрезультатно.

Так не получится.
Вообще, exim тут не причём совсем, проблема в маршрутизации.

попробуй так:
в первый скрипт добавить
ip rule add fwmark 0x25 table internet

во второй вместо твоего это
iptables -t mangle -A OUTPUT -p tcp --dport ${MAIL_PORT}
-j MARK --set-mark 0x25
iptables -t nat -A POSTROUTING -p tcp --dport ${MAIL_PORT}
-o eth2 -j SNAT --to-source ${PAY_IP}


"Exim4, 2 интерфейса"
Отправлено shutdown now , 17-Ноя-08 00:41 
>[оверквотинг удален]
>
>попробуй так:
>в первый скрипт добавить
>ip rule add fwmark 0x25 table internet
>
>во второй вместо твоего это
>iptables -t mangle -A OUTPUT -p tcp --dport ${MAIL_PORT}
> -j MARK --set-mark 0x25
>iptables -t nat -A POSTROUTING -p tcp --dport ${MAIL_PORT}
> -o eth2 -j SNAT --to-source ${PAY_IP}

я, например, вот так указываю exim'у с какого ip почту отсылать:

begin transports
remote_smtp:
        driver = smtp
        interface = 80.хх.хх.4

T_mailhub:
    driver = smtp
        interface = 10.10.10.7


"Exim4, 2 интерфейса"
Отправлено apytlev , 17-Ноя-08 16:21 

>я, например, вот так указываю exim'у с какого ip почту отсылать:
>
>begin transports
>remote_smtp:
>        driver = smtp
>        interface = 80.хх.хх.4
>
>T_mailhub:
> driver = smtp
>        interface = 10.10.10.7

Вот так, всё оказывается гораздо проще :)
Как говориться, "Читайте доки - они рулез" :)