Задача
Я пытаюсь настроить какое-то «бесперебойное интернет-снабжение» для машины с Linux. По этой причине я использую две восходящие линии: стандартное проводное соединение через eth0 и дополнительно соединение 3G, которое доступно через eth1 . Проводное соединение eth0 должно быть соединением по умолчанию, в то время как соединение eth1 должно использоваться только в случае проблем с соединением через eth0 . Оба интерфейса настроены через DHCP.
Текущая настройка
У меня есть два маршрута по умолчанию через eth0 и eth1 соответственно, и я назначил более высокое значение метрики для eth1 так что eth0 предпочтительнее по умолчанию. В принципе, это работает нормально: при отключении кабеля Ethernet от порта eth0 система непрерывно продолжает использовать eth1 для любого доступа в Интернет, так как она обнаруживает, что кабель eth0 отключен, и, таким образом, может немедленно удалить мертвые записи eth0 из таблица маршрутизации (которая кажется поведением по умолчанию).
Эта проблема
Однако я сталкиваюсь с проблемой, когда проводное соединение напрямую не прерывается на самом интерфейсе eth0 , а в более поздний момент в сети. В этом случае машина Linux, разумеется, не может обнаружить, что какой-то кабель был отключен, сохраняет записи eth0 в таблице маршрутизации, и любая попытка подключения к Интернету завершается неудачно с ошибкой "целевая сеть недоступна".
Итак, есть ли какой-нибудь способ сказать Linux немедленно отказаться от маршрута eth0 если он не может быть использован для достижения целевой сети? И если да, как мне определить, когда соединение eth0 снова станет доступным, чтобы я мог снова переключиться с eth1 на eth0 ? Это вообще возможно?
Большое спасибо за любые подсказки!
