Есть linux-роутер с двумя wan-интерфейсами eth1 и eth2
(ip-адреса a.a.a.1 и b.b.b.1, шлюзы соответственно a.a.a.254 и b.b.b.254)
Для управления трафиком созданы две таблицы (ISP1, ISP2)
и по средствам fwmark из локальной сети 192.168.1.0/24 есть доступ в интернет через оба канала.
Остается проблемой трафик с самого роутера
Если в качестве шлюза по умолчанию выбран a.a.a.254
(default via a.a.a.254 dev eth1 metric 100)
то пинг проходит с обоих интерфейсов
ping -I eth1 www.ya.ru
ping -I eth2 www.ya.ru
а если шлюз по умолчанию выбран b.b.b.254
(default via b.b.b.254 dev eth2 metric 100)
то пинг проходить только с eth2 (ping -I eth2 www.ya.ru)
Как сделать что бы
ping -I eth1 www.ya.ru
ping -I eth2 www.ya.ru
работал при любом шлюзе по умолчанию?Я недостаточно ориентируюсь в маршрутизации и в частности iproute2, и предполагал, что
трафик с a.a.a.1 будет безусловно попадать в таблицу ISP1 и в свою очередь уходить,
через a.a.a.254 (default via a.a.a.254 dev eth1), но судя по всему так не происходить
ip route:
a.a.a.0/24 dev eth1 proto kernel scope link src a.a.a.1
b.b.b.0/24 dev eth2 proto kernel scope link src b.b.b.1
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.254
default via b.b.b.254 dev eth2 metric 100
ip rule:
0: from all lookup local
32762: from all fwmark 0xb lookup ISP2
32763: from b.b.b.1 lookup ISP2
32764: from all fwmark 0xa lookup ISP1
32765: from a.a.a.1 lookup ISP1
32766: from all lookup main
32767: from all lookup default
ip route list table ISP1:
default via a.a.a.254 dev eth1
ip route list table ISP2:
default via b.b.b.254 dev eth2