итак сделал как описано в LARTC
впринципе все работает кроме того что пакеты идут в обход а не напрямуюip route add 195.162.38.0/30 dev eth0 src 195.162.38.2 table T1
ip route add 94.251.99.0 dev eth2 src 94.251.99.225 table T2
ip route add default via 195.162.38.1 table T1
ip route add default via 94.251.99.1 table T2
ip route add default via 94.251.99.225
ip rule add from 195.162.38.2 table T1
ip rule add from 94.251.99.225 table T2
ip route add 94.251.99.0 dev eth2 table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route add 192.168.1.0/24 via 192.168.1.253 table T1
ip route add 192.168.1.0/24 via 192.168.1.253 table T2
ip route add 195.162.38.0/30 dev eth0 table T2
ip route add 127.0.0.0/8 dev lo table T2
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.254 dev eth1
route add -net 192.168.16.0 netmask 255.255.255.0 gw 192.168.1.254 dev eth1
route add -net 192.168.17.0 netmask 255.255.255.0 gw 192.168.1.254 dev eth1но проблема в том что у одного из провайдеров есть подсети в которые я хочу попасть через его интерфейс и неполучается
|--- 0.0.0.0
|- 195.162.38.3 <----------> 195.162.38.2 <-|---- 195.162.32.0/24
-- локалка -- |
|- 94.251.99.225<----------> 94.251.99.225 <- 0.0.0.0
пока все ходит через 94.х.х.хiptables -t nat -A POSTROUTING -p tcp --dport 110 -s $local_net -d 195.162.32.0/24 -j SNAT --to-source $inet_ip
iptables -t nat -A POSTROUTING -p udp --dport 110 -s $local_net -d 195.162.32.0/24 -j SNAT --to-source $inet_ip
iptables -t nat -A POSTROUTING -p tcp --dport 25 -s $local_net -d 195.162.32.0/24 -j SNAT --to-source $inet_ip
iptables -t nat -A POSTROUTING -p udp --dport 25 -s $local_net -d 195.162.32.0/24 -j SNAT --to-source $inet_ipiptables -t nat -A POSTROUTING -p tcp --dport 5190 -s $local_net -j SNAT --to-source $inet1_ip
iptables -t nat -A POSTROUTING -p udp --dport 5190 -s $local_net -j SNAT --to-source $inet1_ip
iptables -t nat -A POSTROUTING -p tcp --dport 110 -s $local_net -j SNAT --to-source $inet1_ip
iptables -t nat -A POSTROUTING -p udp --dport 110 -s $local_net -j SNAT --to-source $inet1_ip
iptables -t nat -A POSTROUTING -p tcp --dport 25 -s $local_net -j SNAT --to-source $inet1_ip
iptables -t nat -A POSTROUTING -p udp --dport 25 -s $local_net -j SNAT --to-source $inet1_ipiptables -t nat -A POSTROUTING -p icmp -s $local_net -d 195.162.32.0/24 -j SNAT --to-source $inet_ip
iptables -t nat -A POSTROUTING -p icmp -s $local_net -j SNAT --to-source $inet1_ip
iptables -t nat -A POSTROUTING -p icmp -s $local_net1 -j SNAT --to-source $inet1_ip
iptables -t nat -A POSTROUTING -p icmp -s $local_net_edu -j SNAT --to-source $inet1_ip
iptables -t nat -A POSTROUTING -p icmp -s $local_net_edu1 -j SNAT --to-source $inet1_ip
как сделать чтоб к 195.162.32.0 ходило через 195.162.38.3 уже перепробывал кучу вариантов непомогло
http://www.opennet.me/tips/info/2009.shtml
>http://www.opennet.me/tips/info/2009.shtmlнепомогло даже при жесткой привязке по ип отправителя идет кругом не через того провайдера
решилось все просто прописал строчку
ip rule add to 195.162.32.0/24 table T1