Предположим имеется связка Микротиков: PPTP-сервер - PPTP-клиент.
Если в качестве клиента выступает мобильный роутер (подключаемый к Интернет по 3G или LTE), то при отрицательном балансе, не смотря на отсутствие возможности выйти в Интернет, он всё равно будет пытаться подключиться к PPTP-серверу и в логах Микротика сервера (да и клиента тоже) будет полно флуда типа ... TCP connection established .... и опять по кругу ... (т.к. трафик то не идет).
Чтобы не захламлять логи Микротиков этими записями (а, то так можно и пропустить что-нибудь важное) предлагаю следующее:
1. На микротике-клиенте в профиль pptp-клиента добавим следующий скрипт (в событие "Down"):
:if (![/interface pptp-client get pptp-out1 disabled]) do={/interface pptp-client set pptp-out1 disabled=yes}
Что он делает: когда pptp-клиент "упал" - выключить его интерфейс, чтобы не флудил.
2. В Планировщик Микротика-клиента вставляем второй скрипт с интервалом на Ваш вкус (думаю, нормально секунд 30 - 1 минута):
:if ([ping 8.8.8.8 count=5] >2) do={:if ([/interface pptp-client get pptp-out1 disabled]) do={/interface pptp-client set pptp-out1 disabled=no}}
Что он делает: проверяет - если пинг до Интернета есть, проверить включен ли pptp-клиент. Если включен - ничего не делать, если выключен - включить).
Таким образом, как только на счет pptp-клиента положат денежки (или Интернет появится по другим причинам - например у провайдера авария была), основной скрипт из планировщика поднимет VPN-канал.
Естественно имя pptp-интерфейса нужно поставить в оба скрипта своё.
Тоже самое можно легко адаптировать под любой VPN-клиент Микротика (l2tp или open).
Проверено, работает.
Исключение флуда в логе при попытках подключения pptp-клиента
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
-
- Модератор
- Сообщения: 3600
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
/system logging set [find topics~"info"] topics=info,!pptp и информационных сообщений по pptp не будет в логе
можно добавить можно добавить отдельный лог для pptp
/system logging action add name=pptpinfo target=memory
/system logging add topics=info,pptp action=pptpinfo
тогда:
/log print where buffer=pptpinfo - видим только лог сообщений pptp
/log print where buffer=memory - видим все остальное кроме pptp
можно добавить можно добавить отдельный лог для pptp
/system logging action add name=pptpinfo target=memory
/system logging add topics=info,pptp action=pptpinfo
тогда:
/log print where buffer=pptpinfo - видим только лог сообщений pptp
/log print where buffer=memory - видим все остальное кроме pptp
Есть интересная задача и бюджет? http://mikrotik.site
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
vqd спасибо, но кроме флуда в логе предложенное решение еще и снимает флуд pptp-интерфейса.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Модератор
- Сообщения: 3600
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
)) Ну видимо вы еще не сталкивались на практике с флудом, когда на собственной шкуре почувствуете что это такое то попытки соединения пптп при отвалившемся внешнем канале вам детским лепетом покажутся, которые не стоят внимания. А вот информативность лога - это уже действительно важно
Есть интересная задача и бюджет? http://mikrotik.site
-
- Модератор
- Сообщения: 3600
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
{
/interface pptp-client
:if (([:ping 8.8.8.8 count=5] >2) and ([get pptp-out1 disabled ])) do={enable pptp-out1}
}
Есть интересная задача и бюджет? http://mikrotik.site
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Спасибо, можно и так, хотя не сильно короче.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 20
- Зарегистрирован: 04 ноя 2021, 10:00
Отличное решение, как раз его применил. Только вместо проверки по 8.8.8.8 лучше провериться по самому PPP серверу. Так так может интернет работать, а сервер при этом не отвечать.