LINUX.ORG.RU
ФорумAdmin

почта по одному из каналов?


0

0

Есть два канала в интернет.
Хочу направить по одному из них серфинг, а по второму http-сервер и почта.

Сделал так:
в mangle
-A PREROUTING -p tcp -s 172.16.0.0/24 -d 0/0 --dport 25 -j MARK --set-mark 0x5

в таблицу nat:
-A POSTROUTING -s 172.16.0.0/255.255.255.0 -o eth5 -j SNAT --to-source 192.168.1.2


#!/bin/sh
IP1=x.x.x.x
IP2=192.168.1.2
P1=y.y.y.y
P2=192.168.1.1
ip route add default via $P1 table T1
ip route add default via $P2 table T2
ip route add default via $P2
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2
ip rule add fwmark 0x5 table T1

серфинг заработал (через таблицу T2), но IP1 и шлюз P1 из сетки 172.16.0.0/24 не пингуется и почта все равно идет через таблицу T2.
Использую Sendmail. Что у меня не правильно? Срочно нужно что б заработала почта через первый канал. Помогите

я делал немного по другому,

1) настрой snat и dnat для машинки, принимающей и отправляющей почту с адресами того интерфейса, через который хочешь чтобы бегало.

2) в правилах пишешь правило, которое направляет трафик с этой машины направляет в некоторую таблицу (тут используй локальными адресами).

3) в этой таблице пишешь шлюз по умолчанию и интерфейс на тот, который хочешь чтобы трафик бегал.

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

правила iptables для двух почтовичков

1) $IPTABLES -t nat -A POSTROUTING -p tcp -o $INET_IFACE -s $MAIL_IP --dport $SMTP_PORT -j SNAT --to-source $INET_IP

$IPTABLES -A FORWARD -o $INET_IFACE -p tcp -s $MAIL_IP --dport $SMTP_PORT -j ACCEPT

2) $IPTABLES -t nat -A POSTROUTING -p tcp -o $INET_IFACE2 -s $MX2_IP --dport $SMTP_PORT -j SNAT --to-source $INET2_IP

$IPTABLES -A FORWARD -o $INET_IFACE2 -p tcp -s $MX2_IP --dport $SMTP_PORT -j ACCEPT

и правила ip

$ip route add $INET_NET dev $INET_IFACE src $INET_IP table T1

$ip route add default via $INET_IP_GW table T1

$ip route add $INET_NET2 dev $INET_IFACE2 src $INET_IP2 table T2

$ip route add default via $INET_IP2_GW table T2

$ip rule add from $INET_IP table T1

$ip rule add from $INET_IP2 table T2

$ip rule add from $MX2_IP table T2 <-------- вот это правило заворачивает трафик в T2, где пакету присваивается output interface на другого провайдера. далее отрабатывает правило iptables 2) (см выше)

по этим двум скриптам

INET_* - реальные ip/сети

MX2_IP и MAIL_IP - серые адреса.

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