Есть шлюз. Вот некоторые настройки:
# ip route
xx.xx.xx.0/24 dev eth1.20 proto kernel scope link src xx.xx.xx.207
xx.xx.xx.0/24 dev eth1 proto kernel scope link src xx.xx.xx.205
192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.240
default via xx.xx.xx.205 dev eth1 scope link
xx.xx.xx.205 - наш внешний IP 192.168.1.240 - внутренний адрес шлюза
# iptables -L -t nat -n
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 192.168.1.0/24 0.0.0.0/0 mark match !0x1 to:xx.xx.xx.205
На шлюзе есть ipsec, который соединяет нашу 192.168.1.0/24 подсеть с 192.168.3.0/24 подсетью.
Суть задачи: в сети есть второй роутер с адресом 192.168.1.250, на который надо направить весь интернет трафик. А по текущему каналу оставить только ipsec и один сайт: yy.yy.yy.yy.
Делаю что:
# ip route add 192.168.3.0/24 via xx.xx.xx.205 table 100
# ip route add yy.yy.yy.yy via xx.xx.xx.205 table 100
# ip route add default via 192.168.1.250 table 100
# iptables -t nat -F
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -m mark ! --mark 0x1 -j SNAT --to-source 192.168.1.240
# ip rule add from 192.168.1.0/24 table 100
# ip route add 192.168.3.0/24 via xx.xx.xx.205 table 100
# ip route add yy.yy.yy.yy via xx.xx.xx.205 table 100
# ip route add default via 192.168.1.250 table 100
# ip route del default table main
# iptables -t nat -F
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -m mark ! --mark 0x1 -j SNAT --to-source 192.168.1.240
# ip rule add from 192.168.1.0/24 table 100
Оставляю первый вариант, но без правки iptables:
# ip route add 192.168.3.0/24 via xx.xx.xx.205 table 100
# ip route add yy.yy.yy.yy via xx.xx.xx.205 table 100
# ip route add default via 192.168.1.250 table 100
# iptables -t nat -F
# ip rule add from 192.168.1.0/24 table 100
Как надо написать правила, чтобы решить задачу?