Устройства в LAN видят друг друга с задержкой

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
nvr
Сообщения: 8
Зарегистрирован: 02 май 2021, 12:45

Всем привет.

Проблема кратко:
Устройства в локальной сети не видят друг друга, пока не начать долбиться с одного устройства на другое. Поясню: долбиться это пинговать или отправлять GET-запросы по HTTP.

Подробнее:
У меня довольно простая конфигурация сети:
  • Роутер hAP AC2
  • Порт Ethernet1: PPPoE (интернет). Наверное, можно вычеркнуть, т.к. к вопросу отношения не имеет.
  • Порты Ethernet2–5, а также интерфейсы wlan1 (на 2.4 ГГц) и wlan2 (на 5 ГГц) объединены в мост.
  • DNS на отдельном устройстве, DHCP на Mikrotik
Короче, обычная домашняя сеть типа 192.168.0.0/24.

Мои устройства:
  • ПК на Win10, подключён кабелем.
  • Мобильные телефоны на Android, подключены по Wi-Fi 5 ГГц.
  • Масса IoT-устройств, подключены по Wi-Fi 2.4 ГГц. Они не выходят в интернет, работают только в пределах локалки.
Всем в Микротике назначены статические IP.

Прежде чем меня отправят искать правду на форумы умных устройств, я подчеркну, что при замене роутера на простейший Zyxel 2013 года выпуска все проблемы моментально исчезают. Так что источник трудностей определённо в конфигурации Mikrotik и моих кривых руках (потому и прошу помощи).

Всё что мне нужно — это чтобы устройства постоянно друг друга видели и могли общаться друг с другом без танцев с бубном. Но так не получается. Как я писал выше, проблема следующая: устройства не видят друг друга, пока не начать активно отправлять запросы с одного на другое.
Пример: я хочу зайти на веб-интерфейс IoT-девайса с моего ПК через браузер. Не выходит (ERR_ADDRESS_UNREACHABLE). Я отправляю ping -t на адрес нужного устройства. Первые несколько секунд результат такой:
Reply from 192.168.0.XX (адрес, с которого отправляется пинг): Destination host unreachable.
Затем, спустя 5-20 повторных запросов (с ПК быстрее), всё становится прекрасно, пинг проходит, а само устройство становится доступно.
Изображение
Но в этот же момент оно не будет доступно с любого другого устройства! Т.е. с какого ты его пингуешь или отправляешь GET-запросы, только с того и будет доступ. Я даже настроил один из IoT-девайсов на постоянный пинг другого, и — о чудо — между ними никогда нет проблем связи. Если остановить пинг или прекратить регулярно отправлять GET-запросы, танцы через какое-то время придётся повторять.

Заметил следующие мелочи:
  • После того как все устройства пропингованы с ПК (т.е. хотя бы раз после перезагрузки системы он получил к ним доступ), он очень редко испытывает трудности с повторным подключением.
  • С мобильного телефона же контакт теряется очень быстро, и повторять шаманство приходится часто.
Мне важно решить этот вопрос потому, что на моментальный доступ завязано управление умным домом с приложения. И нажимать кнопку включения чего-либо, пока оно не соизволит сконнектиться… ну проще уже до выключателя дойти. На всякий случай: если нет доступа с приложения, то нет и через браузер, к разработчику приложения отправлять тоже не надо, потому что разработчик приложения я, и под Зухелем всё работает идеально отовсюду.
Старый роутер ставить обратно я не хочу, потому что мне нужна беспроводная сеть 5 ГГц, ну и деньги за Микротик уже уплачены, что поделать 😊

Что я уже менял в настройках после попыток решить проблему гуглом и что не принесло результатов:
Увеличен ARP timeout
В ARP-лист занесены все адреса (интерфейсом указывал мост)
Включал-выключал HW Protection
Обновлял RouterOS
Перепрошивал роутер через netinstall

Очень прошу помощи. Ощущение, что решение где-то на поверхности, но я за неимением знаний не понимаю, куда копать.


Выдача /export hide-sensitive:
 
# may/02/2021 12:51:50 by RouterOS 6.48.2
# software id = I27W-7ZSX
#
# model = RBD52G-5HacD2HnD
# serial number = **********
/interface bridge
add admin-mac=**:**:**:**:**:** arp-timeout=52w1d auto-mac=no comment=defconf name=\
bridgeLocal
/interface ethernet
set [ find default-name=ether1 ] name=ether1_WAN
/interface pppoe-client
add add-default-route=yes disabled=no interface=ether1_WAN name=pppoe-out1 \
service-name=RCom user=*************
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n country=no_country_set disabled=no \
frequency=2422 frequency-mode=manual-txpower hw-protection-mode=rts-cts mode=\
ap-bridge name=wlan1_2.4 ssid="WLAN1_2.4" tx-power=19 tx-power-mode=\
all-rates-fixed wireless-protocol=802.11
set [ find default-name=wlan2 ] arp-timeout=52w1d band=5ghz-a/n/ac country=\
no_country_set disabled=no distance=indoors frequency-mode=manual-txpower \
hw-protection-mode=rts-cts installation=indoor mode=ap-bridge name=wlan2_5 \
ssid="WLAN2_5" tx-power=20 tx-power-mode=all-rates-fixed \
wireless-protocol=802.11
/interface list
add name=WAN
add name=LAN
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa-psk,wpa2-psk mode=dynamic-keys \
supplicant-identity=MikroTik
/ip hotspot
add interface=wlan1_2.4 name=hotspot1
add interface=bridgeLocal name=hotspot2
/ip pool
add name=dhcp ranges=192.168.0.3-192.168.0.254
/ip dhcp-server
add address-pool=dhcp disabled=no interface=bridgeLocal lease-time=12h name=dhcp1
/lora servers
add address=eu.mikrotik.thethings.industries down-port=1700 name=TTN-EU up-port=\
1700
add address=us.mikrotik.thethings.industries down-port=1700 name=TTN-US up-port=\
1700
add address=eu1.cloud.thethings.industries down-port=1700 name="TTS Cloud (eu1)" \
up-port=1700
add address=nam1.cloud.thethings.industries down-port=1700 name="TTS Cloud (nam1)" \
up-port=1700
add address=au1.cloud.thethings.industries down-port=1700 name="TTS Cloud (au1)" \
up-port=1700
#error exporting /tool user-manager customer
#error exporting /tool user-manager profile
#error exporting /tool user-manager profile limitation
/interface bridge port
add bridge=bridgeLocal interface=ether2
add bridge=bridgeLocal interface=ether3
add bridge=bridgeLocal interface=ether4
add bridge=bridgeLocal interface=ether5
add bridge=bridgeLocal interface=wlan2_5 trusted=yes
add bridge=bridgeLocal interface=wlan1_2.4
/ip settings
set accept-redirects=yes arp-timeout=52w1d3h59m59s
/interface list member
add interface=ether1_WAN list=WAN
add interface=bridgeLocal list=LAN
add interface=pppoe-out1 list=WAN
/interface wireless cap
set bridge=bridgeLocal discovery-interfaces=bridgeLocal interfaces=\
wlan1_2.4,wlan2_5
/ip address
add address=192.168.0.1/24 interface=bridgeLocal network=192.168.0.0
/ip arp
add address=192.168.0.200 interface=bridgeLocal mac-address=AC:67:B2:2B:75:54
add address=192.168.0.250 interface=wlan1_2.4 mac-address=AC:67:B2:2B:71:F0
add address=192.168.0.201 interface=bridgeLocal mac-address=F0:08:D1:D8:D5:F8
add address=192.168.0.220 interface=bridgeLocal mac-address=C8:2B:96:DC:B5:E8
add address=192.168.0.221 interface=bridgeLocal mac-address=24:62:AB:42:44:BC
add address=192.168.0.222 interface=bridgeLocal mac-address=C4:4F:33:B2:AD:FE
add address=192.168.0.223 interface=bridgeLocal mac-address=24:62:AB:42:45:46
add address=192.168.0.123 interface=bridgeLocal mac-address=24:62:AB:40:89:D6
add address=192.168.0.122 interface=bridgeLocal mac-address=D8:F1:5B:A3:E1:E7
add address=192.168.0.121 interface=bridgeLocal mac-address=24:62:AB:40:B6:B6
add address=192.168.0.120 interface=bridgeLocal mac-address=98:0D:67:4D:51:AC
add address=192.168.0.91 interface=bridgeLocal mac-address=AC:67:B2:2B:64:6C
add address=192.168.0.92 interface=bridgeLocal mac-address=7C:9E:BD:06:A1:34
add address=192.168.0.83 interface=bridgeLocal mac-address=B8:27:EB:4D:26:E9
add address=192.168.0.61 interface=bridgeLocal mac-address=C8:2B:96:E6:C4:67
add address=192.168.0.60 interface=bridgeLocal mac-address=C8:2B:96:E6:B7:2F
add address=192.168.0.55 interface=bridgeLocal mac-address=8C:AA:B5:95:4B:E0
add address=192.168.0.210 interface=bridgeLocal mac-address=C8:2B:96:DC:86:A8
add address=192.168.0.253 interface=bridgeLocal mac-address=60:AB:67:E7:2B:B3
add address=192.168.0.33 interface=bridgeLocal mac-address=00:1F:BC:02:AE:22
add address=192.168.0.46 interface=bridgeLocal mac-address=30:A1:FA:B8:9D:E1
/ip dhcp-client
add comment=defconf interface=ether1_WAN
/ip dhcp-server lease
add address=192.168.0.222 client-id="IoT Ceil 2-2-2" mac-address=C4:4F:33:B2:AD:FE \
server=dhcp1
add address=192.168.0.122 client-id="IoT Ceil 1-2-2" mac-address=D8:F1:5B:A3:E1:E7 \
server=dhcp1
add address=192.168.0.220 client-id="IoT Ceil 2-1" mac-address=C8:2B:96:DC:B5:E8 \
server=dhcp1
add address=192.168.0.91 client-id="IoT HUB" mac-address=AC:67:B2:2B:64:6C server=\
dhcp1
add address=192.168.0.201 client-id="IoT Led" mac-address=F0:08:D1:D8:D5:F8 server=\
dhcp1
add address=192.168.0.92 client-id="IoT Biglight Control" mac-address=\
7C:9E:BD:06:A1:34 server=dhcp1
add address=192.168.0.200 client-id="IoT Viewsonic" mac-address=AC:67:B2:2B:75:54 \
server=dhcp1
add address=192.168.0.55 client-id="IoT AC Hisense" mac-address=8C:AA:B5:95:4B:E0 \
server=dhcp1
add address=192.168.0.250 allow-dual-stack-queue=no client-id="IoT Lamp" \
mac-address=AC:67:B2:2B:71:F0 server=dhcp1
add address=192.168.0.123 client-id="IoT Ceil 1-2-3" mac-address=24:62:AB:40:89:D6 \
server=dhcp1
add address=192.168.0.61 client-id="Beetle Small" mac-address=C8:2B:96:E6:C4:67 \
server=dhcp1
add address=192.168.0.221 client-id="IoT Ceil 2-2-1" mac-address=24:62:AB:42:44:BC \
server=dhcp1
add address=192.168.0.223 client-id="IoT Ceil 2-2-3" mac-address=24:62:AB:42:45:46 \
server=dhcp1
add address=192.168.0.60 client-id="Beetle Big" mac-address=C8:2B:96:E6:B7:2F \
server=dhcp1
add address=192.168.0.121 client-id="IoT Ceil 1-2-1" mac-address=24:62:AB:40:B6:B6 \
server=dhcp1
add address=192.168.0.210 client-id="IoT Ceil 1-1" mac-address=C8:2B:96:DC:86:A8 \
server=dhcp1
add address=192.168.0.83 client-id=RPi mac-address=B8:27:EB:18:73:BC server=dhcp1
add address=192.168.0.33 client-id=1:0:1f:bc:2:ae:22 mac-address=00:1F:BC:02:AE:22 \
server=dhcp1
add address=192.168.0.46 client-id=1:30:a1:fa:b8:9d:e1 mac-address=\
30:A1:FA:B8:9D:E1 server=dhcp1
add address=192.168.0.253 client-id=1:60:ab:67:e7:2b:b3 mac-address=\
60:AB:67:E7:2B:B3 server=dhcp1
add address=192.168.0.120 client-id=NAS lease-time=12h mac-address=\
98:0D:67:4D:51:AC server=dhcp1
/ip dhcp-server network
add address=192.168.0.0/24 dns-server=192.168.0.83 gateway=192.168.0.1 netmask=24
/ip dns
set allow-remote-requests=yes servers=192.168.0.83
/ip firewall filter
add action=accept chain=input disabled=yes protocol=icmp
add action=accept chain=input connection-state=established disabled=yes
add action=accept chain=input connection-state=related disabled=yes
add action=drop chain=input in-interface-list=!LAN
/ip firewall nat
add action=masquerade chain=srcnat out-interface-list=WAN
/ip upnp
set enabled=yes
/ip upnp interfaces
add interface=bridgeLocal type=internal
add interface=pppoe-out1 type=external
/system clock
set time-zone-name=Europe/Moscow
#error exporting /tool user-manager database
#error exporting /tool user-manager profile profile-limitation
#error exporting /tool user-manager router
#error exporting /tool user-manager user
Надеюсь, описал проблему достаточно подробно. Если нужно предоставить ещё какую-либо информацию, дайте знать.

Спасибо всем, кто дочитал.


Ca6ko
Сообщения: 1484
Зарегистрирован: 23 ноя 2018, 11:08
Откуда: Харкiв

nvr писал(а): 02 май 2021, 13:45 решение где-то на поверхности
Сброс в завод, минимальная настройка через квик сет и всё будет работать.
Потом частями переносить конфиг и искать кто виноват, или забить.

PS Устройство без фаервола может быть все что угодно.
Мощность увеличивать без думно не нужно. 20 это не правильное число :ni_zia:
Использование wifi, с его не стабильностью, для управления - очень плохая идея.


1-е Правило WiFi - Везде где только можно откажитесь от WiFi!
2-е Правило WiFi -Устройство, которое пользователь не носит с собой постоянно, должно подключаться кабелем!!

Микротики есть разные: черные, белые, красные. Но все равно хочется над чем нибудь заморочится.
Аватара пользователя
Kostetyo
Сообщения: 205
Зарегистрирован: 21 окт 2013, 21:52

Проверьте на всех устройствах: 1. Основной шлюз, даже если уже проверяли, проверьте еще раз, основной шлюз должен быть IP микротика.
2. Проверьте кто у вас является днс на всех устройствах (я думаю что проблема именно в этом), настройте корректно днс сервер.
3. Встречался с подобным на китайских датчиках, они как бы уходили в энергосберегающий режим и не просыпались до отправки пакетов в их сторону, причем web-сервер становился не доступен и api тоже. Помогал именно пинг, однако пинг будил это устройство и оно могло общаться с другими без проблем, не важно кто пингует. У Вас же какой-то затык в самой сети, сбросьте все под ноль. и настраивайте все на базе микротика, в том числе днс. Не используйте квик сетап, не используйте фаервол, пока что.


nvr
Сообщения: 8
Зарегистрирован: 02 май 2021, 12:45

Ca6ko писал(а): 02 май 2021, 23:31 Мощность увеличивать без думно не нужно. 20 это не правильное число :ni_zia:
Не успел убрать, это было в качестве эксперимента :)
Ca6ko писал(а): 02 май 2021, 23:31 Использование wifi, с его не стабильностью, для управления - очень плохая идея.
Полностью согласен, но все устройства, которые работают нестабильно, у меня без Ethernet (это микроконтроллеры). Ну и всё-таки хорошо работали под другим роутером, за то время успел наклепать их порядочно по всему дому, а теперь вот такая ситуация.
Kostetyo писал(а): 04 май 2021, 17:13 1. Основной шлюз, даже если уже проверяли, проверьте еще раз, основной шлюз должен быть IP микротика.
Да, шлюз корректный, выставлен вручную.

Kostetyo писал(а): 04 май 2021, 17:13 2. Проверьте кто у вас является днс на всех устройствах (я думаю что проблема именно в этом), настройте корректно днс сервер.
Все обращения к устройствам в сети производятся с указанием только IP-адреса, по идее настройки DNS влиять не должны. В любом случае я перенастроил сеть на использование DNS на Микротике — безрезультатно.
Kostetyo писал(а): 04 май 2021, 17:13 3. Встречался с подобным на китайских датчиках, они как бы уходили в энергосберегающий режим и не просыпались до отправки пакетов в их сторону, причем web-сервер становился не доступен и api тоже. Помогал именно пинг, однако пинг будил это устройство и оно могло общаться с другими без проблем, не важно кто пингует. У Вас же какой-то затык в самой сети, сбросьте все под ноль. и настраивайте все на базе микротика, в том числе днс. Не используйте квик сетап, не используйте фаервол, пока что.
Попробовал с квиком, попробовал без. Фаерволл тоже выключал. Без эффекта.

Я производил поиск затыка, как вы и советовали, поэтапно. Найти конфиг, при котором проблема не проявляется, не могу.
Возможно, какая-то особенность моих устройств (это микроконтроллеры на базе чипа ESP32, если это важно) делает их несовместимыми с Микротиком (это я наверно глупость сказал) или требующими особой настройки роутера (возможно, ближе к правде).

Я всё ещё склоняюсь к версии, что что-то не так с резолвингом адресов. ПК прекрасно видит устройства длительное время после первого взаимодействия, а телефон — нет. Это не может быть ARP-кэш (т.е. на Винде он есть, на телефоне нет или работает по иному прицнипу, короткий таймаут итп)?
И прошу прощения за, возможно, комичный вопрос: на старом роутере в настройках вообще не было ничего связанного с ARP, а все устройства работали стабильно. Может ли быть это связано? Может, он по умолчанию использовал какой-то из режимов (?) ARP, который проблем не вызывал?


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Я бы попробовал удалить все ваши выкрутасы с arp - убрал все значения arp-timeout - на бридже, на wlan-интерфейсе и в ip settings, убрал все статические arp записи, и включил add-arp-for-leases на dhcp-server'е.


Telegram: @thexvo
mafijs
Сообщения: 536
Зарегистрирован: 03 сен 2017, 03:08
Откуда: Marienburga

nvr писал(а): 05 май 2021, 21:59 это микроконтроллеры на базе чипа ESP32, если это важно
Тоже именно такие есть дома, работает исправно, посылает данные в InfluxDB.
Замечу, что через web подключится бывает не первого раза. Лнгче подключается с Ubuntu mozilla.
Но это мне редко надо. Всю информацию получаю с базы InfluxDB.
Подключены на hAP AC. соединение не падает.

Код: Выделить всё

/interface wireless
set [ find default-name=wlan1 ] band=2ghz-onlyg basic-rates-a/g=6Mbps,9Mbps,12Mbps,18Mbps,24Mbps,48Mbps country=latvia disabled=no mode=ap-bridge security-profile=passwd ssid=esp32connect supported-rates-a/g=\
    6Mbps,9Mbps,12Mbps,18Mbps,24Mbps,36Mbps,48Mbps tx-power=4 tx-power-mode=all-rates-fixed
п.с. RouterOS старый. 6.40.3 , не хочется портить Uptime , уже 1314 суток. :-):


nvr
Сообщения: 8
Зарегистрирован: 02 май 2021, 12:45

xvo писал(а): 05 май 2021, 22:10 Я бы попробовал удалить все ваши выкрутасы с arp - убрал все значения arp-timeout - на бридже, на wlan-интерфейсе и в ip settings, убрал все статические arp записи, и включил add-arp-for-leases на dhcp-server'е.
К сожалению, результат такой же. Первые обращения к устройству улетают в никуда, и только через какое-то количество обращений связь устанавливается.
Вот снимок экрана телефона, иллюстрирующий этот эффект:
Изображение

Я всё больше склоняюсь к тому, что устройства несовместимы с Микротиком, как бы парадоксально это ни звучало.


mafijs
Сообщения: 536
Зарегистрирован: 03 сен 2017, 03:08
Откуда: Marienburga

Ну не знаю. У меня тоже не c первого раза ping проходит с портативного, но сервера (Ubuntu) с сразу.
И как уже писал, на прямую подключтся к ESP32 без надобности.


nvr
Сообщения: 8
Зарегистрирован: 02 май 2021, 12:45

mafijs писал(а): 10 май 2021, 21:14 И как уже писал, на прямую подключтся к ESP32 без надобности.
А мне вот это, наоборот, очень нужно, потому что управление реле, сигналами ИК-управления и прочим напрямую завязано на ноги микроконтроллеров.


В общем, вернул я старый роутер на место, Микротик подключил к нему по кабелю в режиме АР. DHCP на старом, вообще всё на старом, Микротик это теперь только WIFi с NAT. Подключаюсь с телефона что через сеть 2,4, что через 5 ггц — всё работает без проблем. Ничего не отваливается, доступ к устройствам моментальный. Что за дурь происходит, если использовать его как основной роутер, чёрт его знает. Наверное, уже и не буду дальше разбираться. Спасибо всем, кто попытался помочь!


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Ну в общем на стороне микротика реально тут можно попробовать только одно - сделать бэкап, сбросить конфиг на заводской, и посмотреть, как с ним.

Я ESP32 подключал у себя только не на долго, для теста, так что не могу уверенно сказать, что проблем с ним не было.
На STM32 с ESP8266 в качестве wifi у меня какое-то время что-то крутилось с MQTT на борту, там такого не замечал.
Плюс на другой локации лампочки на основе ESP8266, на них вроде тоже никто не жаловался.

Идея поковырять на самих ESP'шках режимы энергосбережения кажется мне не лишенной смысла - вполне может быть, что один роутер по какой-то причине не даёт им заснуть, а с микротиком они таки засыпают.


Telegram: @thexvo
Ответить