Dhcp по lan после потери связи

После перезагрузки роутера WB почему-то теряет связь с сетью: устройство перестает пинговаться, пропадает соединение с MQTT.
Порекомендуйте, какие настройки проверить, чтобы сеть автоматически подрималась. А то задолбался WB каждый раз перезапускать.
И сразу еще вопрос: после перезагрузки инога включается свет, связаный с nooLite. Это как-то связано с MQTT? Такое впечатение, что восстанавливается предыдущее состояние. Это можно исправить?

Добрый день,

посмотрите пожалуйста, netplug у вас стоит и запущен?
Ещё помог бы лог из Debug UART во время перезагрузки роутера, или вывод dmesg после этого.

netplug установлен и запущен.
С логами проблематичнее - после перезагрузки роутера к устройству просто не достучаться по сети, поэтому dmesg не посмотреть. А с UART не получится заморочиться - нет соответствующей квалификации и знаний :slight_smile:

В dmesg вот такие строки появляются
smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

[  252.200000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  252.220000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  252.220000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  252.230000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped

такое впечатление, что от WB вообще DHCP-запросов не приходит - в логе роутера пусто.

Следственный эксперимент показал, что проблема возникает именно при перезагрузке роутера. Если после перезагрузки выдернуть и вставить кабель- сеть поднимается.
Вот вывод dmesg

[   60.690000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[  111.040000] smsc95xx 1-1.1:1.0 eth0: link down
[  111.560000] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[  111.870000] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[  111.880000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  113.360000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  113.380000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[  114.170000] smsc95xx 1-1.1:1.0 eth0: link down
[  115.770000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[  235.340000] smsc95xx 1-1.1:1.0 eth0: link down
[  235.430000] smsc95xx 1-1.1:1.0 eth0: link down
[  240.840000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[  323.490000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  323.490000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  323.500000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  323.520000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  323.520000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  323.530000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  323.540000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  323.550000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  323.660000] smsc95xx 1-1.1:1.0 eth0: kevent 2 may have been dropped
[  111.880000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  113.360000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  113.380000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[  114.170000] smsc95xx 1-1.1:1.0 eth0: link down
[  115.770000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

вот это как-то странно, видимо роутер при старте дёргает линк ещё раз зачем-то. А netplug сходит от этого с ума.
Вообще надо посмотреть как-нибудь логи netplug, но я сходу не скажу, как это лучше сделать, не запуская его в консоли.

Можете попробовать поставить ifplugd вместо netplug.

с чередой проблем после обновлений проблема с сетью как-то откатилась на задний план. Теперь вернулся к ней и столкнулся со следующими сложностями.
Установил пакет ifplugd и запустил его с настройками auto и all (через dpkg-reconfigure ifplugd). Отключил запуск netplug (chmod a-x /etc/init.d/netplug ). Перезагрузил…
И вижу, что WB получил другой IP-адрес, хотя у меня на роутере для него установлено DHCP-резервирование. Вижу, что изменился MAC-адрес устройства. И судя по всему, он изменяется при каждой перезагрузке.

Куда покопать? Или как установить фиксированный адрес? (не силен с сетевыми настройками в Линуксах).

А если постоянный адрес прописать?

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

не лучший вариант, но можно и постоянный. Как это правильно сделать? а то я смотрю, что там куча скриптов, связанных с сетевыми подключениями.
Ты запутался :) Просто пропиши статический ip. Не бойся погуглить "настройка сети debian". Подключаешься по ssh, редактируешь файл /etc/network/interfaces. Как - nano /etc/network/interfaces В нем прописываешь все настройки: постоянный адрес, маску, шлюз и днс ``` auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1 8.8.8.8

# - значит что эта строка выполняться не будет (закомментирована), т.е. было dhcp - теперь постоянный адрес.

Жмешь Ctrl+O - записать.
Всё. Перезапусти управление сетью или перезагрузись.

alex, мне тут ещё специалисты подсказали, что проблема может быть в роутере. Некоторые роутеры при старте неправильно конфигурируют vlan-ы на портах, так что клиент может при неудачном стечении обстоятельств попасть на некоторое время в один vlan с WAN-портом и получить ip от провайдера. Возможно тут что-то похожее, хотя глюки netplug мне кажутся более вероятными.

У меня 100% воспроизводится проблема.

После перезагрузки роутера пропадает IP адрес. При этом из процессов пропадает udhcpc.

В консоли:

[58363.730000] smsc95xx 1-1.1:1.0 eth0: link down
[58364.300000] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[58364.550000] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[58364.560000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[58366.110000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[58366.120000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[58375.970000] smsc95xx 1-1.1:1.0 eth0: link down
[58377.640000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[58384.090000] smsc95xx 1-1.1:1.0 eth0: link down
[58385.660000] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1

Т.е. линк пропалает и появляется несколько раз, возможно проблема как-то связана с этим. Никаких запросов адреса по DHCP до роутера не доходит. Запуск из консоли udhcpc приводит к успешному получению адреса.

Гипотезы:

  1. у udhcpc что-то взглюкивает из-за нескольких пропаданий линка.
  2. Проблема в конструкции:

pre-up ifconfig eth0 hw ether cat /var/lib/wirenboard/serial.conf || /bin/true

Её выполнение занимает некоторое время и получается, что приводит к параллельному вызову нескольких pre-up.

Привет.
Ставь статику, проблем не будет.

WB4. DHCP. Начала пропадать сетка.
в логах при этом

физически передергиваю патчкорд и сетка на WB начинает работать, в логах:

#dmesg[quote]
[55882.421854] smsc95xx 1-1.1:1.0 eth0: link down
[55882.927540] smsc95xx 1-1.1:1.0 eth0: hardware isn’t capable of remote wakeup
[55883.228672] smsc95xx 1-1.1:1.0 eth0: hardware isn’t capable of remote wakeup
[55883.238960] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[58565.678684] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[58565.691067] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[87008.661862] smsc95xx 1-1.1:1.0 eth0: link down
[87018.885738] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[/quote]

Замечено, что в помежуток времени 13-59 - 14-44 был выключен свич провайдера.
Вся же внутренняя сетка на резервном питании.
Повторяется на разных роутерах mikrotik. С разными версиями routerboard.

…наверно тема никому не интересна. Тех. поддержки нет. Решил своими силами.

Буду признателен, если напишите как именно решили своими силами.

Не понимая сути происходящего в WB, приделал костыль. При потере связи микротик рвёт и восстанавливает порт, на котором сидит WB.