Есть сервер, смысл жизни которого -- предоставление SSH-туннелей поверх VPN'а в далёкую сеть. Не буду вдаваться пока в подробности, чтобы не выносить никому мозг.
Итак, у сервера есть eth0. При поднятии vpn (vpnc на самом деле) появляется подключение tun0, маршрутизация становится по дефолту через него. Мне это не нужно, я через tun0 должен видеть только один сервак. Для простоты, 10.1.1.10. Соответственно в скрипте, при поднятии туннеля:
route add -net 10.1.1.10 netmask 255.255.255.255 tun0
route add -net 0.0.0.0/0 eth0
Периодически, это соединение падает => вся маршрутизация, связанная с tun0 удаляется из таблицы. Другой скрип, который проверяет связь и поднимает впн обратно прогоняет те же команды.
Однако, как показывает практика, это не работает. После падения туннелей, маршрутизация обратно не поднимается => локалка сервак видеть перестаёт.
Что я делаю не так?