Отваливается сеть при пропадании и не восстанавливается


#1

Всем Доброго Наступающего года!

В последнее время участились пропадания электроэнергии от нескольких секунд до нескольких минут. Аккумуляторный модуль дает самому WB5 это пережить и не перезагрузиться. Но после восстановления питающего напряжения у WB отваливается сеть, то есть на свиче видно, что Ethernet -линк на него горит, но не мигает. При этом идет опрос датчиков RS-485 + w1 и работают правила. А вот ни по ethernet-у ни по WiFi даже не пингуется. Пробовал выключать RJ45 из свича и подключать обратно, чтобы заставить заново проинициализировать интерфейс - линк заново загорается, но сеть не восстанавливается.
Приходится WB выключать кнопкой, потом он загружается без проблем, и сеть появляется и WiFi и ethernet. В логах все совершенно чисто - никаких сообщений о проблемах на сети.
Мой /etc/network/iinterfaces:

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet dhcp
    wpa-ssid    RFGW
    wpa-psk     ************

auto eth0
iface eth0 inet static
    address 192.168.88.240
    gateway 192.168.88.1
    hostname WirenBoard
    hwaddress 00:86:41:47:d8:a1
    mtu 1500
    netmask 255.255.255.0
    pre-up ifconfig eth0 hw ether `cat /var/lib/wirenboard/serial.conf` || /bin/true

allow-hotplug eth1
iface eth1 inet dhcp

Это WirenBoard 5.5, второго ethernet- а нет. WiFi по DHCP получает всегда один и тот же адрес 192.168.88.235/24 - это прописано в DHCP-сервере

Раз отваливаются оба сетевых соединения - дело не в аппаратуре, а в какой-то установке ядра, которое отключает сеть при ее пропадании и не подключает ее назад. Где это можно поправить ?

А также вопрос - какими средствами отловить момент перехода на аккумулятор и обратно, чтобы для начала хотя бы записать это в лог ?


#2

Роутер у вас при этом остаётся живым, при пропадании напряжения? Т.е. вы уверены, что проблема именно в переключении ВБ на аккумулятор, а не в пропадании и восстановлении линка? У себя я аналогичную проблему решил предельно тупо — lease timeout на dhcp установил в 5 минут.


#3

Роутер без UPS-а - поэтому он перезагружается после пропадания напряжения, так же как и свич, в который они оба воткнуты. Но временное пропадание ethernet-линка не производит такого эффекта - я несколько раз перетыкал RJ45 в свиче при нормальном питании от 220V, и сеть восстанавливалась без проблем. Так же пару раз вырубался на длительное время роутер (то есть не было ни DHCP ни WiFi от роутера), но сеть у WB не отваливалась - WiFi появлялся сразу же после включения роутера. Так что здесь только пропадание и восстановление напряжения 220 В играет роль.

На DHCP у меня Mikrotik-роутер по умолчанию выставляет 24 часа leased-timeout, а на Ethernet-е адрес статический.


#4

Хм. А у меня тоже микротик :slight_smile: Интересно, с другими роутерами проблема повторяется?..


#5

Раз отваливаются оба сетевых соединения - дело не в аппаратуре, а в какой-то установке ядра, которое отключает сеть при ее пропадании и не подключает ее назад.

Сделал дополнительную перепроверку:
выключил роутер (а с ним DHCP-сервер, WiFi-сеть и выход в интернет) примерно на 5 минут, при этом вся домашняя локальная сеть осталась включенной. После включения роутера и восстановления выхода в интернет оба сетевых подключения WB5 так и не восстановились и не пинговались. Причем на самом Ethernet-е светился не только линк, но и моргал светодиод активности , то есть он принимал пакеты ping-а, но не отвечал.

То есть переход на аккумулятор и обратно не является первопричиной, а проблема в настройках операционной системы, которая не пытается заново подключить и Ethernet и WiFi-сеть после ее пропадания соединения с интернетом.

В каких настройках это можно поправить ?


#6

А вы пробовали в настройках микротика уменьшить leased-timeout?
На контроллере айпишник по DHCP получается?


#7

В настройках микротика leased-timeout уменьшать еще не пробовал - попробую в выходные.

WiFi сконфигурирован как клиент и получает настройки через DHCP от Mikrotik-а.
На Eth0 IP-адрес статически ставится в конфигурации, но Mikrotik-овский DHCP-сервер в случае чего выдаст ему те же самые настройки.
Может влияет то, что по IP-адресам и Eth0 и WiFi находятся в одной сетке, и после восстановления сети ядро запутывается с роутингом - куда посылать ответный пакет?


#8

У меня только eth0, без wifi, симптомы те же самые.


#9

У меня это и оказалось причиной почему не работал ethernet при отвалившемся WiFi - ответные пакеты от eth0 пытались возвращаться через WiFi, который не работал, но роутинг с него не снимался, то есть это выглядело вот так:

 root@wirenboard:~# netstat -rn
 Kernel IP routing table
 Destination    Gateway        Genmask         Flags   MSS Window  irtt Iface
 0.0.0.0        192.168.88.1   0.0.0.0         UG        0 0          0 wlan0
 192.168.88.0   0.0.0.0        255.255.255.0   U         0 0          0 eth0
 192.168.88.0   0.0.0.0        255.255.255.0   U         0 0          0 wlan0

А после переноса eth0 в другую сетку роутинг стал нормальным и появился отдельный возвратный маршрут для eth0:

 root@wirenboard:~# netstat -rn
 Kernel IP routing table
 Destination    Gateway        Genmask         Flags   MSS Window  irtt Iface
 0.0.0.0        192.168.88.1   0.0.0.0         UG        0 0          0 wlan0
 0.0.0.0        192.168.1.1    0.0.0.0         UG        0 0          0 eth0
 192.168.1.0    0.0.0.0        255.255.255.0   U         0 0          0 eth0
 192.168.88.0   0.0.0.0        255.255.255.0   U         0 0          0 wlan0

Так же уменьшил в DHCP-сервере leased-time до 5 минут.
Отключение роутера и WIFi пока не проверял из-за боязни потерять белый внешний IP-адрес: в каникулы многие из дома сидят в интернете и белых IP-адресов не хватает - провайдер загоняет под NAT тех, кому не хватило.


#10

Можно использовать вот этот скрипт, поставив в нем WLANINTERFACE=eth0:
“Автоматическое переподключение при проблемах с соединением”
Я поставил его для WiFi (он у меня на DHCP), только не каждую минуту, а раз в пять минут, чтобы не грузить контроллер.


#11

WiFi сконфигурирован как клиент и получает настройки через DHCP от Mikrotik-а.
Так же уменьшил в DHCP-сервере leased-time до 5 минут.
И не в роутинге дело. Вчера во всем городе свет моргнул из-за просадки напряжения на ЛЭП, роутер перезагрузился и опять сеть отвалилась по обоим интерфейсам и WiFi и Eth0. Не помог ни скрипт “Автоматическое переподключение при проблемах с соединением”, ни разнесение интерфейсов по разным сетям. Кратковременное вытягивание кабеля Eth0 WB переживает нормально, а вот пропадание WiFi - отключает сеть безвозвратно. Это явно какая-то настройка в ядре - подскажите где это можно поправить.


Яндекс.Метрика