Имеем дебиан машину на которой запущен сервер, eth2+ppp0(провайдер1 как дефолтный) и eth4(провайдер2 по dhcp)
echo "1">/proc/sys/net/ipv4/ip_forward
echo "0">/proc/sys/net/ipv4/conf/all/rp_filter
ip route add default via 195.*.*.* dev ppp0 table te
ip route add default via 134.*.*.* dev eth4 table ky
ip rule add fwmark 1 lookup te
ip rule add fwmark 2 lookup ky
# ip ru
0: from all lookup local
32764: from all fwmark 0x2 lookup ky
32765: from all fwmark 0x1 lookup te
32766: from all lookup main
32767: from all lookup default
iptables -t mangle -A INPUT -i ppp0 -j CONNMARK --set-mark 1
iptables -t mangle -A INPUT -i eth4 -j CONNMARK --set-mark 2
iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark
Весь инет облазил,максимум добился что пингуется оба провайдера + веб сервер доступен с двух провов. Но вот с сервером работающим по udp всё глухо. Такое чувство сервер отвечает всегда с дефолтного интерфейса.
По идее можно маркировать только eth4? всё остальное пускать по defroute...пробовал и ничего нового..
connmark, iproute2, iptables