Есть маршрутизатор, который получает IP провайдерской сети по DHCP. Вместе с IP адресом прилетает основной маршрут через хост в той же сети в которой раздаются адреса. То есть как обычно, получаю IP, например, 192.168.14.28, default gateway 192.168.14.1. Через умолчальный маршрут можно достучаться до провайдерских DNS'ов и сервера VPN, которые находятся в другой подсети. После поднятия VPN умолчальным маршрутом становится адрес интерфейса ppp. Если не прописать маршруты до DNS и сервера VPN ppp отвалится. Это обычная ситуация у многих провайдеров.
Сейчас я прописал создание нужных маршрутов в сценарий ppp if-up. Всё работает, но до поры до времени. Раз в иногда таблица маршрутизации опустошается, умолчальным маршрутом становится 192.168.14.1. С чем это может быть связано? Не может ли так быть, что мой проводной интерфейс обновляет DHCP lease и вместе с тем вновь получает default gw 192.168.14.1? Можно ли в /etc/network/interfaces прописать «бери по DHCP IP адрес, но не бери маршруты»? Читал man interfaces. Там в секции The dhcp method такое вроде бы не описано.
Если я напишу в /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
post-up route add -host 192.168.192.8 gw 192.168.14.1 || true
post-up route add -host 192.168.192.3 gw 192.168.14.1 || true
post-up route add -net 192.168.38.0 netmask 255.255.255.0 gw 192.168.14.1 || true
Как в Debian'е и Ubunt'е правильно прописать статические маршруты чтобы они не отваливались ни при подключении/отключении кабеля к eth0, ни при обрыве связи с ppp, ни при каких-то ещё условиях?