Как настроить переподключение к интернету

Добрый день, подскажите пожалуйста как настроить переподключение к интернету на wirenboard 6.6 и 6.7
После перезагрузки роутера или кратковременного отключения электроэнергии, wirenboard теряет связь с интернетом, хотя в локальной сети он отображается, веб интерфейс доступен.
Пропадает интернет полностью, не могу подключиться через openvpn, теряю доступ в Умный Дом через Яндекс и Apple Homekit. Пробовал ping 8.8.8.8 , не пингуется.

Такая же проблема на wirenboard 6.7

Файл настройки сети interfaces на wirenboard специально залил заводской, ничего не менял. В настройках роутера выставил статический ip для wirenboard.
Роутер Kroks, проблема повторяется и на роутерах mikrotik

Пробовал allow hotplup для eth0 (через него подключаюсь к роутеру), не помогает. Это видать бесполезная безделушка. Помогает перезагрузка WB, после перезагрузки интернет появляется.

Уже пару месяцев ломаюсь, запарился. Прошу помочь

Тема, вижу очень похожа на

Соответственно - давайте проверять по порядку. Для начала: выткните разьем сети из контроллера. Потом воткните (это как раз и показывает работы allow hotplug, восстановление после пропадания линка)
Потом - соответственно покажите ip route, (надо сначала поставить apt install traceroute -y) traceroute 8.8.8.8
ну и пинг шлюза.
до и после перезагрузки роутера.
PS. У меня микротик, не включено ли у вас случайно arp=reply-only?

Такая же ситуация, но хотел сам попробовать разобраться, но может коллективно будет быстрее))).
PING на 8.8.8.8 не идет.
Пинг на роутер есть
Нахожусь в сети с этим роутром на компе интернет есть.

Завожу перезагрузкой сервиса openvpn-client@Myconf
OpenVPN - active, вот сообщения которые пишет

Без полной информации - непонятно. Как настроена сеть? Что используется для интернета (какой интерфейс?).

использую изернет,
Ip получаю по DHCP от роутера .
OpenVPN работает в Tun

Самое интересное что сейчас заметил, что связь пропадает, если кратковременно разорвать локальное соединение router - WB. после возвращения патчкорда на место, роутер пингуется, а 8.8.8.8 нет.

Попробывал, добавить в конфиг файл ВПН такие настройки как " keepalive , connect-retry "
Не помогло.

Как меняется таблица маршрутизации, какая до разрыва и после? Не меняется ли шлюз?
Не становится ли интерфейс OpenVPN шлюзом по умолчанию?

ДО, VPN работает все ок

После, отк сетевой кабель и вернул назад

Ну да вы правы, почемуто tun0 становиться маршрутом по умолчанию, хоть в таблице указано что default мой локальный роутер,

Я выключил и включил tun0 после этого маршрут пропал и работает все отлично, интернет есть и доступ через OPenVPN имеется, получается дело точно в маршруте по умолчанию. Теперь надо как то пофиксить))

Я не уверен еще на 100% нужно побольше времени для тестов.
Изменил конфиг файл и добавил следующие строки.
route-nopull - игнорируем маршруты от сервера
route 192.168.37.0 255.255.255.0 добавляем свои маршруты

Да, это правильный подход. Но и “машруты с сервера” можно сразу передавать правильные.

1. Allow hotplug работает, отключил и подключил провод ethernet от wirenboard

2. IP route до перезагрузки роутера

root@wirenboard-AJUQM74C:~# ip route
0.0.0.0/1 via 10.8.0.1 dev tun0
default via 192.168.1.1 dev eth0
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2
128.0.0.0/1 via 10.8.0.1 dev tun0
185.185.69.19 via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.158
192.168.42.0/24 dev wlan0 proto kernel scope link src 192.168.42.1

3. IP route после перезагрузки роутера

root@wirenboard-AJUQM74C:~# ip route
0.0.0.0/1 via 10.8.0.1 dev tun0
default via 192.168.1.1 dev eth0
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2
128.0.0.0/1 via 10.8.0.1 dev tun0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.158
192.168.42.0/24 dev wlan0 proto kernel scope link src 192.168.42.1

4. Route до перезагрузки роутера

image

5. Route после перезагрузки роутера

image

Так, отлично.
а traceroute 8.8.8.8
тоже, до и после

Минус только что не весь трафик идет чрез VPN. получается что через ВПН идет только то что ему принадлежит. На данном этапе не устраивает это. Поэтому попробуем через скрипт. ПОвешу через крон на час.

> result=$(ping -c 2 -W 5 8.8.8.8 | grep transmitted)
>     pattern="0 received";
>         if [[ $result =~ $pattern ]]; then
>         echo "Lose connection"
>         systemctl restart openvpn-client@NameConf
>     else
>         echo "connection OK"
>     fi

Tracerooute до перезагрузки роутера

image

Tracerooute после перезагрузки роутера

Собственно, вижу что маршрут через tun0 используется в обоих случаях. Тут советую настроить просто восстановление подключения VPN.

Этого будет достаточно? Или это чуточку не то решение?

Тут надо посмотреть - если сервис openvpn падает при пропадании сети - то да.
Но тогда и интерфейс пропадал бы. Скорее надо использовать ping в какой-нибудь вариации.
Подробнее:
https://bozza.ru/art-160.html

То есть после отключения роутера, шлюз по умрлчанию с него переходит на openvpn шлюз? Есть ли какое-нибудь решение? Можно ли просто запретить использование любых шлюзов, кроме роутеровского?

Нет. Шлюзом остается VPN соединение:

Да, конечно, но тут все зависит от того как спроектирована сеть. Без желаемой схемы крайне сложно что-то советовать, ну и проектирование сетей - все же не профильная тема.
Вот тут оказалось достаточно использовать:

Подскажите пожалуйста подробнее что нужно сделать. В какой конфиг вносить изменения?
Что значит игнорируем маршруты от сервера и как добавить свои маршруты. Извиняюсь, было бы очень полезно