Насколько я понимаю, требуется некая динамическая маршрутизация.
Скрипт типа if (!ping ...) можно конечно написать, но хочется реализовать демоном.
Нагуглил, что это задачу теоретически можно решить с помощью zebra-quagga (ospf).
Но есть некоторые траблы с пониманием настройки (насколько я понял, есть два основных конфига - зебры и оспфд )
Если у кого-то есть пример настройка под шлюзы двух провайдеров, поделитесь. Можно даже своими словами.
Принимаются любые советы, особенно если я вообще не туда копаю