Проблема такая: есть локальная сеть и два канала связи с разными провайдерами. Стоимость трафика разная, но тот канал, что дешевле, падает чаще.Поставил пакет zebra, отключил defaulrouter в rc.conf, прописал два статичных маршрута в зебре - по одному на каждого провайдера, чтобы днс искались хотя бы напрямую, а не через противника. Пытался настроить ospfd и ripd для зебры, но сильно сомневаюсь, что вообще правильно делал. Отключил ospf и rip, остались только статичные маршруты. Настроил два правила в ipfw:
00050 divert 8668 ip from any to any via xl0
00051 divert 8669 ip from any to any via rl0
xl0 - первый провайдер, rl0 - второй провайдер.
Формально все работает, но в таблице маршрутизации (netstat -r) почему-то есть, таки, маршрут default, и указывает он на первого провайдера. Когда провайдер в дауне, у меня вообще связи нет, хотя шлюз другого провайдера нормально пингуется.
Помогите последовательно разобраться. Думаю, что с зебры надо начинать, чтобы маршруты динамически прописывались и это было видно по той же таблице маршрутизации на уровне ядра.