Есть на сервере два канала - основной и резервный, через GPRS.
Хочется мне чтобы через резервный канал висел всегда проброшеный openvpn-туннель до другого сервера, на случай ядерной войны Но весь остальной траффик до этого сервера шёл через основной канал. Т.е. зарулить только определнный порт через GPRS.
Делал так:
# iptables -t mangle -A OUTPUT -d 1.1.1.1 -p tcp --dport 1196 -j MARK --set-mark 1196
Пакеты маркируются:
# iptables -t mangle -L -nv | grep 1196
8 444 MARK tcp — * * 0.0.0.0/0 1.1.1.1 tcp dpt:1196 MARK set 0x4ac
# ip route add default dev ppp64 table GPRS
# ip rule add fwmark 1196 table GPRS
Но при этом соединение на 1196 порт идет один фиг через основной канал.
Или такой механизм реализовать можно только если пакеты маркировать в PREROUTING? Но проблема в том, что пакеты от самого хоста, а не те, которые он форвардит, туда вообще не попадают.
Может как-то можно иначе сделать?