есть шлюз на debian
есть 2 провайдера
один ip на eth0:3
другой на eth1
по умолчанию настраиваем чтобы шлюз был на eth0:3
#!/bin/sh
IP1=88.140.167.214
IP2=217.230.75.242
P1=88.140.167.213
P2=217.230.75.241
P1_NET=88.140.167.212/30
P2_NET=217.230.75.240/30
IF1=eth0:3
IF2=eth1
ip route flush table prov214
ip route add default via $P1 dev eth0:3 table prov214
ip route flush table prov242
ip route add default via $P2 dev eth1 table prov242
# Говорим, что по дефолту будем ходить через первого провайдера.
ip route del 0/0
ip route add default via $P1
ip rule del table prov214
ip rule del table prov242
ip rule add from $IP1 table prov214
ip rule add from $IP2 table prov242
ip rule add fwmark 0x1/0x1 lookup prov214
#!/bin/bash
iptables -A PREROUTING -i eth1 -j MARK --set-mark 0x1 -t mangle
iptables -A PREROUTING -j CONNMARK --save-mark -t mangle -m mark --mark 0x1
iptables -A PREROUTING -j CONNMARK -t mangle --set-mark 0x1 -i eth1
iptables -A PREROUTING -j CONNMARK -t mangle --set-mark 0x1 -s 10.0.1.73 -d ! 10.0.0.0/16
в конфиге openvpn указываю
local 217.230.75.241
такая схема работает, но почему не работает если убрать опцию local? Пакеты идут через шлюз по умолчанию если приходят на 217.230.75.241
При том, что если убираем маркировку, то и с local не работает.