Задать вопрос

Почему растет пинг до роутера Mikrotik от уст-в из локальной сети?

Доброго дня. Ситуация - RB3011UiAS в качестве маршрутизатора, около 150-200 устройств онлайн, примерно поровну PC, Принтеры, ТСД. Беспроводная сеть частично на CAPSMAN на этом же роутере, частично на сторонних точках доступа. На роутере есть бридж, к которому собственно и подключены почти все. Кроме этого ести три VLAN, VLAN созданы на базе LAN bridge, настроено несколько правил маршрутизации между вланами. Каждой подсети назначен отдельный DHCP - частично статика, частично динамика, настроена маркировка важных соединений (rdp,web и тп) и настроены очереди.
Простенький firewall. Ниже будет конфигурация полностью. Итак проблема собственно в чём: два года сидели на RouterOS6 long, но возникла необходимость в Wireguard (ну и новые типы очередей захотелось потыкать) - поставил Routeros7 Stable (на тек момент 7.20.6). Конфиг делал частично вручную - брал второй микротик и настраивал его по примеру старого на шестерке. Поменял шлюз на новый - на семёрке, все завелось, но спустя пару суток увидел следующее - пинг до роутера с локального пк (по проводу) вырос до 10мс и продолжает рости. Например после ребута пинг снова становится 1мс почти стабильно, но за 8 часов растет примерно на 2-3мс, линейно. Нагрузка на ЦПУ при этом не отличается кардинально. В Profile каких-то аномалий относительно только что перезагруженного роутера нет. Уже сталкивался с этой проблемой год назад, когда тоже пытался обновиться до 7рки, там вообще не следил за пингом - через неделю увидел, что до роутера пинг был 70-80мс. При этом до внешки и до устройств за ВПН пинг остается стабильным, не растет. Уже голову сломал, не пойму даже, куда копать. Прошу консультации у знающих людей, заранее благодарю за идеи.
Конфигурацию прикрепил на ЯДиск из-за ограничений в кол-ве символов :)
Конфигурация

Отмечу так же, что на RouterOS 6 такой проблемы не наблюдал, конифг был аналогичный, за исключением очередей и Wireguard.

Отключение очередей, Wireguard интерфейсов, очистка ARP, отключение правил Firewall результатов не дают. Fast Path не могу включить. Т.к. наличие более сложных очередей крайне необходимо в моём случае. Скорость прокачки не падает :). Для примера сейчас пинг с удаленной машины через ВПН до микротика 8-10мс, а до машины за микротиком 4-6. Такая вот дурка. Никакого способа обнулить пинг, кроме ребута шлюза пока так и не придумал.

UPD: замерил скорость ответа встроенного в шлюз DNS сервера, с ним полный порядок - время ответа по локалке в пределах 1мс

UPD: Потребление памяти тоже линейно растёт - скрин заббикса за 4 дня
6957dfcd92ef5405075507.png

UPD: На четвёртые сутки заметил, что отключение LAN_BRIDGE снижает время ответа с 127.0.0.1 до 127.0.0.1 с 40мс до 20. (пинг с внешних устройств не меняется). Также немного снижается потребление ОЗУ. Включение бриджа возвращает все показатели к изначальным (около 40мс и растёт). При этом отключение всех интерфейсов(кроме провайдера) и вланов, очистка ARP, не приводят к такому же результату.

UPD: аптайм 14 дней, пинг 68мс, с 127.0.0.1 на 127.0.0.1 х2 (135мс-140мс). Потребление ОЗУ 280мб (после перезапуска обычно 80-100мб). Планирую сделать чистую установку long term 7.20.7 с настройкой с нуля.

UPD: Нашел причину такого поведения - это скрипт на переключение на резервный канал (lte1), вопрос знатокам - что с ним не так?)))
/system scheduler add interval=1m name=netWatchInternetRestart on-event=netwatchInternetRestart policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup
/system script add dont-require-permissions=yes name=netwatchInternetRestart owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="tool netwatch disable [find comment=Internet];\r\
    \n:delay 3;\r\
    \ntool netwatch enable [find comment=Internet]"
/tool netwatch add comment=Internet disabled=no down-script="/ip route disable [find comment=eth1_Internet]\r\
    \n/interface set ether10_Modem disabled=no\r\
    \n/interface lte set lte1 disabled=no\r\
    \n/tool netwatch enable [find comment=Modem]" host=77.88.8.88 http-codes="" interval=30s name=Internet test-script="" timeout=4s type=simple up-script="/ip route enable [find comment=eth1_Internet]\r\
    \n/interface lte set lte1 disabled=yes\r\
    \n/tool netwatch disable [find comment=Modem]"
/tool netwatch add comment=Modem disabled=yes host=77.88.8.2 http-codes="" interval=5m name=Modem test-script="" timeout=4s type=simple up-script=":log error Eth1Down"
p.s. роутер при включении модема получается по dhcp от него ip адрес, устанавливается маршрут по умолчанию через модем, а маршрут через провайдера отключается.

При удалении задания планировщика и скрипта утечка памяти и рост пинга останавливается.
К слову проводит тесты, добавлял эту конфигурацию в домашний роутер (hap ac^2) и в x86 версию routeros - поведение аналогичное. Скрипт сам перекочевал из ROS6 - там всё было ок.
  • Вопрос задан
  • 2274 просмотра
Подписаться 9 Средний 17 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия 1С-программист
    8 месяцев
    Далее
Решения вопроса 1
@Eaglishee Автор вопроса
Мой итог: проблемы вызывала связка Sheduler+scripts(там был скрипт, который перезапускал правило netwatch), что именно с ними не так - не знаю(подробнее в последнем дополнении к вопросу). Я сменил тип netwatch с simple на icmp, так что скрипт теперь не нужен. Всем спасибо за идеи! Проблема решена, но вопросики остались :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@mastertigr
Возможно проблема версии, у вас же стоит самая новая прошивка, и возможно в ней еще не все отловили. Нужно попробовать дождаться 7.20.7 или 7.21
Ответ написан
Комментировать
b1ora
@b1ora Куратор тега MikroTik
настройка-микротик.рф
Я бы сделал netinstall на появившуюся Long-term версию и настроил с нуля.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы