Задача
Я пытаюсь настроить какое-то «бесперебойное интернет-снабжение» для машины с 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
? Это вообще возможно?
Большое спасибо за любые подсказки!