У меня есть Raspberry Pi (ОС: Raspbian, на основе Debian), который подключен к маршрутизатору через Ethernet и модулю GSM через USB.
У меня есть ситуация, когда мне нужно переключить доступ в Интернет между двумя интерфейсами в зависимости от доступности.
Если Ethernet (eth0
) не имеет подключения к Интернету (но все еще подключен к локальной сети), модуль GSM (ppp0
) необходимо использовать. Если подключение к Интернету доступно на eth0
, затем eth0
должен быть использован.
pi@raspberrypi:~ $ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
default 192.168.3.1 0.0.0.0 UG 202 0 0 eth0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.3.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
Я хочу знать, есть ли способ настроить маршрутизацию таким образом, чтобы она обрабатывалась.
Если нет, то какую команду мне следует запустить, чтобы переключить другой интерфейс как основной (нужно ли менять метрику?)
Покажи свои маршруты ip route
вместо того route
: устарел (как netstat и ifconfig).
Вы можете изменить метрику с помощью ip route change 0.0.0.0/0 dev ppp0 metric 100
.
Но я не знаю, как это можно автоматизировать.
Вы ищете аварийное переключение маршрута, которое можно выполнить, запустив этот двойной сценарий аварийного переключения WAN от Apsu, найденный на Gist.