Доброго дня, ув. сообщество. Проблема в следующем.
На ноутбуке стоит Ubuntu. По кабелю, ноутбук подключен к домашнему Роутеру.
На роутер приходит интернет от местного провайдера. Кроме того у метного провайдера, есть локальная сеть.
Ее я использую. А интернет хочу использовать от модема 3G.
Для того чтобы заблокировать интернет приходящий с рутера, я написал скрипт, который положил в /etc/network/if-up.d/
Данный скрипт удаляет маршрут по умолчанию и прописывает маршруты к локальным сетевым адресам.
При этом в какой либо настройке сети в ручную необходимость отпадает. Как только я вставляю кабель, NetworkManager
подключается к сети, подымается интерфейс, и маршруты дописываются. А стандартный удаляется.
Далее я вставляю к комп 3G Модем. В том же скрипте прописано, чтобы при поднятии интерфейса ppp0, для него добавлялся маршрут
по умолчанию. Соответственно весь трафик инета будет идти через ppp0. Все отлично работает.
Проблема возникает, когда происходит обрыв соединения по модему, или когда я отключаю модем.
Для того чтобы после отключения удалялся маршрут по умолчанию я добавил скрипт в каталог /etc/network/if-down.d/
В данном скрипте удаляется маршрут по умолчанию (default).
Суть проблемы такова, что данный скрипт почему то не срабатывает. Т.е. после отключения модема, маршрут по умолчнаию
не добавлется, а присваивается интерфейсу eth0. Вопрос, как заставить удалятся данный маршрут при отключении модема,
но не завтронув при этом сеть через кабель.
Код скрипта /etc/network/if-up.d/addroutes
if [ "$IFACE" = eth0 ] || [ "$IFACE" = wlan0 ]; then
route delete default dev $IFACE
# route add -host 192.168.1.1 dev $IFACE
route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1 dev $IFACE
route add -net 172.22.0.0 netmask 255.255.0.0 gw 192.168.1.1 dev $IFACE
route add -net 80.67.208.0 netmask 255.255.255.0 gw 192.168.1.1 dev $IFACE
fi
if [ "$IFACE" = ppp0 ]; then
route delete default
route add default dev ppp0
fi
Код скрипта /etc/network/if-down.d/delroutes
# Delete default route
route del default $IFACE
Таблица маршрутов при подлключении сетевого кабеля:
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
80.67.208.0 192.168.1.1 255.255.255.0 UG 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
172.22.0.0 192.168.1.1 255.255.0.0 UG 0 0 0 eth0
10.0.0.0 192.168.1.1 255.0.0.0 UG 0 0 0 eth0
Таблица маршрутов при включении модема:
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
10.64.64.64 * 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
80.67.208.0 192.168.1.1 255.255.255.0 UG 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
172.22.0.0 192.168.1.1 255.255.0.0 UG 0 0 0 eth0
10.0.0.0 192.168.1.1 255.0.0.0 UG 0 0 0 eth0
default * 0.0.0.0 U 0 0 0 ppp0
Таблица маршрутов после отключения модема:
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
80.67.208.0 192.168.1.1 255.255.255.0 UG 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
172.22.0.0 192.168.1.1 255.255.0.0 UG 0 0 0 eth0
10.0.0.0 192.168.1.1 255.0.0.0 UG 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0