help со скриптом для перезагрузки active connections

Автоматизация при помощи встроенного скриптового языка и RouterOS API
den_kedr
Сообщения: 1
Зарегистрирован: 10 авг 2021, 09:34

help со скриптом для перезагрузки active connections

Сообщение den_kedr »

Добрый день, у меня поднятый VPN 24/7 но провайдер любит по утрам что то делать и частенько VPN подзависает (сессия активная, но не подключается).
Хочу запустить настройку или скрипт которая будет каждый день в определенное время перезапускать активные сессии в PPP - active connections.
возможно ли такое вообще ?
Аватара пользователя
Chupaka
Сообщения: 4198
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: help со скриптом для перезагрузки active connections

Сообщение Chupaka »

Здравствуйте.

В лоб -

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

/system scheduler add name=reconnect start-date=aug/10/2021 start-time=10:00:00 interval=1d on-event="/ppp active remove [find]"
Что значит "сессия активная, но не подключается" - не совсем понял (сессия не подключается?), но в скрипт on-event можно добавить какой-нибудь пинг и поставить интервал, например, в 5 минут:

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

:if ([/ping 8.8.8.8 count=10] = 0) do={ /ppp active remove [find] }
Аватара пользователя
Gastello
Сообщения: 4
Зарегистрирован: 12 авг 2021, 15:35
Откуда: Русь

Re: help со скриптом для перезагрузки active connections

Сообщение Gastello »

Разрешите присоедениться ибо ситуация схожая. В датацентре есть глобальная стойка где все живут по RDP. В офисах стоят микротики, с поднятыми Впнами(исключительно для некоторого оборудования в том числе и принтеров). Периодически в разных офисах возникают потери пакетов у провайдера(Длится это секунд 5-15). После чего связь нормализуется. Однако Впн имея статус подключено не пропускает пакеты(интернет при этом работает). Помогает подключится к пользователю, подключится к микротику, disable впн на 5 сек и потом дать ему обратно enable. После чего все работает как надо. Думал это как-то через wathdog реализовать. Вроде как через Netwatch что-то подобное можно.
Я так понимаю скрипт :if ([/ping 8.8.8.8 count=10] = 0) do={ /ppp active remove [find] } сделает 10 запросов на айпишник, после чего потушит ВПН? Теоретически дописав
:sleep 10
do={ /ppp active enable [find] }
скрипт будет отрубать активный ВПН, ждать 10 секунд и снова его включать?
Аватара пользователя
Chupaka
Сообщения: 4198
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: help со скриптом для перезагрузки active connections

Сообщение Chupaka »

Нет, удаление из /ppp active всего просто разъединяет клиентов, а не выключает их - пересоединяться они начинают сразу. Если надо что-то выключить и лишь через некоторое время включить - это do={/interface disable l2tp-out1; :sleep 10s; /interface enable l2tp-out1;}
Аватара пользователя
Gastello
Сообщения: 4
Зарегистрирован: 12 авг 2021, 15:35
Откуда: Русь

Re: help со скриптом для перезагрузки active connections

Сообщение Gastello »

Благодарствую.
PAPIruss
Сообщения: 5
Зарегистрирован: 15 янв 2024, 20:18

Re: help со скриптом для перезагрузки active connections

Сообщение PAPIruss »

Chupaka писал(а): 10 авг 2021, 15:39

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

:if ([/ping 8.8.8.8 count=10] = 0) do={ /ppp active remove [find] }
Здравствуйте. Как можно сбросить только одно конкретное динамическое соединение? или несколько соединений по маске
есть удаленный клиент, подключается по SSTP 24/7/365 периодически что то происходит конкретно в его сети после чего соединение висит, но трафик не бегает. или все же на другом конце соединение рвется и происходит новое соединение и так несколько раз в списке интерфейсов при этом появляется что то типа sstp-USER, sstp-USER2, sstp-USER3 и т д помогает в ручную прибить все такие соединения, после чего происходит новый коннект и все работает штатно. баг плавающей, от чего зависит непонятно, может сутками работать нормально потом начинается свистопляска. :if ([/ping ip клиента count=10] = 0) do={ /ppp active remove [find] } работает, но дропаются и все остальные соединения, чего хотелось бы избежать... удаленный клиент не микротик, винда, на ней запускать скрипты возможности нет
Заранее благодарен.