Задачу пытаюсь решить на MikroTik, но и для iptables/iproute2 она будет справедлива.
+---------------------------------------------------------+
| |
| ^ |
| | |
| | OSPF |
| | |
| + |
| ISP 1 |
| +-------------------+ +---------------> |
| from LAN | | |
| +----------> | | |
| | | ISP 2 |
| +-------------------+ +---------------> |
+---------------------------------------------------------+
Допустим, у нас локальная сетка, которую мы маскарадим в инетрнеты с балансировкой и фейловером через 2-х ISP по методу PPC. Т.е. в prerouting на основании неких условий (src-address, src-port, dst-address, dst-port) маркируем исходящие из LAN соединения и загоняем на основе метки в соответствующую таблицу маршрутизации со своим default route.
И все это прекрасно работает, пока не появляется еще один линк, по которому приходит несколько сеток по OSPF. И теперь нам надо принудительно перед маркировкой в ISP проверять, не должно ли это роутиться в OSPF методом проверки сеток из address-list, что дикий костыль и рушит всю идею динамической маршрутизации.
Как бы мне это решить?