Итак есть шлюз CentOS5 с двумя провайдерами. Настроил source routing. Но вот openvpn почему то не хочет работать правильно. eth1 - провайдер 1, он же шлюз по умолчанию
eth2 - провайдер 2
Т.е. при конекте на интерфейс eth1, все работает хорошо. А вот при конекте к eth2, ответы почему то уходят через eth1.
Хотя например если открывать веб страничку по ip eth1 и eth2, то ответы уходят через тот же интерфейс, через который был получен запрос.
Это какая то особенность openvpn?
Использовал такой скрипт для роутинга
#!/bin/sh
IP1='xxx.xxx.xxx.xxx'
IF1='eth1.4'
P1='xxx.xxx.xxx.xxx'
P1_NET='xxx.xxx.xxx.xxx'
IP2='xxx.xxx.xxx.xxx'
IF2='eth1.6'
P2='xxx.xxx.xxx.xxx'
P2_NET='xxx.xxx.xxx.xxx'
/sbin/ip route flush scope global
/sbin/ip route add $P1_NET dev $IF1 src $IP1 table Prov1
/sbin/ip route add default via $P1 table Prov1
/sbin/ip route add $P2_NET dev $IF2 src $IP2 table Prov2
/sbin/ip route add default via $P2 table Prov2
/sbin/ip route add $P1_NET dev $IF1 src $IP1
/sbin/ip route add $P2_NET dev $IF2 src $IP2
/sbin/ip rule add from $IP1 table Prov1
/sbin/ip rule add from $IP2 table Prov2
/sbin/ip route add default via $P1 dev $IF1
/sbin/ip route add default via $P2 dev $IF2
/sbin/ip route add default via $P1
/sbin/ip route flush cache