У меня есть машина (18.04, в какой-то момент будет 20.04), на которой есть проводная сетевая карта, а также USB-карта с беспроводной. Обычно он подключается кабелем, но иногда кабель отключается (механически, кем-то, по разным причинам).
Я хотел бы убедиться, что статический IP 192.168.10.1
всегда доступен:
Есть ли стандартный (или, по крайней мере, разумный) способ сделать это?
Я видел ответ на вопрос , в котором предлагалось назначить этот IP-адрес lo
интерфейс:
ip address add IP/32 dev lo
но я не уверен, что это разумный подход?
Решение заключалось в использовании networkd-dispatcher . Его можно установить с помощью apt install networkd-dispatcher
, но он уже был установлен в моей системе.
Создается / usr / lib / networkd-dispatcher
и там (среди прочего)
no-carrier.d
→ здесь нужно поместить скрипт для включения Wi-Fi на routable.d
→ здесь нужно разместить скрипт для отключения Wi-Fi Я сделал два скрипта по строкам
#!/bin/bash
# must be /bin/bash, for some reasons /bin/sh does not work
# br0 should be replaced by the interface that goes up and down when the cable is plugged in/out
# wlx1cbfce22a2cc to be replaced by the name of the wifi interface
if [ "$IFACE" == "br0" ]
then
echo "disabling wifi because cable is in"
/sbin/ifconfig wlx1cbfce22a2cc down
fi
Я установил IP-адрес беспроводной карты на тот же, что и проводной - только один из них в данный момент находится под напряжением.