Если переработать, то может в закрепы кинуть , пришлось разобраться с состоянием Wireguard интерфейсов, а то примеры некорректные были.
Смысл всех этих действий. Т.к некоторые ip прилетают в большом пуле, некоторые ресурсы перестают открываться, хотя могут и через vpn и через провайдера. Когда vpn работает, то не замечаешь этого.
У меня есть 2 хоста, которые всегда ходят через VPN (телефоны с 10.11.11.4/5) я их удаляю или добавляю в таблицы маршрутизации. Эти строки можно удалить. Но оставил как пример.
Общий stop, глобально тушит таблицу маршрутизации правил обхода блокировок, когда нет связи.
1. Сам файл лежит тут /opt/etc/ndm/ifstatechanged.d/100-iprule.sh и его содержимое:
#!/opt/bin/sh
[ "$1" == "hook" ] || exit 0
[ "$id" == "Wireguard0" ] || exit 0
logger "Интерфейс изменился: $id-$change-$connected-$link-$up"
case ${id}-${change}-${connected}-${link}-${up} in
Wireguard0-link-no-down-down)
logger "Start reset to ISP, manual off"
/opt/root/Bird4Static/scripts/bird-table.sh stop
ip rule delete from 10.11.11.4 table 42
ip rule delete from 10.11.11.5 table 42
logger "Stop reset to ISP, manual off"
;;
Wireguard0-link-yes-up-up)
logger "Wireguard Up! Use VPN"
/opt/root/Bird4Static/scripts/bird-table.sh start
ip rule add from 10.11.11.4 table 42
ip rule add from 10.11.11.5 table 42
;;
Wireguard0-link-no-down-up)
logger "Wireguard Down!Start Reset to ISP"
/opt/root/Bird4Static/scripts/bird-table.sh stop
ip rule delete from 10.11.11.4 table 42
ip rule delete from 10.11.11.5 table 42
logger "Wireguard Down!Stop Reset to ISP"
;;
esac
exit 0
Wireguard0-link-no-down-down - когда вручную отключаешь VPN в веб интерфейсе роутера
Wireguard0-link-yes-up-up - когда VPN соединение включено и линк поднялся (в случае проблем с соединением)
Wireguard0-link-no-down-up - когда VPN соединение включено и линк упал ( в случае проблем с соединением) -