>И? Каналы настроены.$SUBJ Если и, то не я один...
> Проблема с почтой, а не с двумя провайдерами.
Свои заклинаня с _работающими_ заклинаниями сравнивать не пробовал? А вдруг?!
>---------------------------------------------------------------------
>#!/bin/sh
>IF0=eth0 #локалка
>IF1=eth1 #будет именем первого интерфейса
>IF2=eth1:1 #-- именем второго.
iptables _не_ различает интерфейс и его алиасы. Интерфейс один, на нём несколько адресов. В ip, вероятно, так же. В "тех других" рецептах их различают по src или gw ip, afaiu.
>[оверквотинг удален]
>P0=192.168.4.10 #шлюз локалки
>P1=8.2.5.9 #это IP-адрес шлюза провайдера 1
>
>P2=9.16.1.190 #-- IP адрес шлюза провайдера 2
>P0_NET=192.168.0.0/16 #сеть локалки
>P1_NET=8.2.5.0/29 #это IP сеть, к которой принадлежит $P1
>
>P2_NET=9.16.1.0/30 #-- сеть, к которой принадлежит $P2 .
>
>ip route add $P1_NET dev $IF1 src $IP1 table T1
Локально доступные на интерфейсах сетки роутятся и так, "по умолчанию". imho, эти правила не нужны.(1)
>ip route add default via $P1 table T1
>ip route add $P2_NET dev $IF2 src $IP2 table T2
(1)+1
>ip route add default via $P2 table T2
>ip route add $P0_NET dev $IF0 table T1
>ip route add $P1_NET dev $IF1 src $IP1
>ip route add $P2_NET dev $IF2 table T1
(1)+2+3+4 //"три правила выше"
>ip route add 127.0.0.0/8 dev lo table T1
(1)+5 "default via $P1 table T1" не смущает?
>ip route add $P0_NET dev $IF0 table T2
>ip route add $P1_NET dev $IF1 table T2
>ip route add $P2_NET dev $IF2 src $IP2
Вы ходите кругами и перебираете _все_ комбинации всех параметров, а уж оно _должно_само_ заработать? "Пересечение" с тремя правилами чуть выше не смущает? Нет? Ну, пойдём дальше.
>ip route add 127.0.0.0/8 dev lo table T2
Дежавю?
>ip route add default via $P2
Продолжаем "перебирать всё"?
>ip rule add from $IP1 table T1
>ip rule add from $IP2 table T2
О ЧУУУДО! Строки из правильного заклинания.
>route add default gw 9.16.1.190
Как, ещё default? Так надёжнее! Точно! Чем больше напишешь, тем скорее хоть что-то заработает!
>route add -net 8.2.5.0/29 gw 8.2.5.9
Роутим локальную сетку через gw? Да, и такая комбинация букофф возможна... В комбинаторике.
>iptables -t nat -A POSTROUTING -p tcp -s 192.168.4.31 -o eth1 -j
>SNAT --to-source 8.2.5.11
>iptables -t nat -A POSTROUTING -p tcp -s 127.0.0.1 -o eth1 -j
>SNAT --to-source 8.2.5.11
Ой!
>iptables -t nat -A POSTROUTING -s 127.0.0.1 -j RETURN
>iptables -t nat -A POSTROUTING -s 192.168.4.31 -j RETURN
>iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -o eth1 -j SNAT --to-source
>9.16.1.189
>iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -o eth1:1 -j SNAT --to-source
>9.16.1.189
Во-первых, "-o eth1:1" не работает. А во-вторых, чего бы это пакеты для локалки на eth0 делали бы на eth1? А-а-а, "волшебный" роутинхх... Я что-то пропустил.
>ip rule add fwmark 2 table T1
А где "-j MARK --set-mark 2"?