Страница 1 из 1

Исключение флуда в логе при попытках подключения pptp-клиента

Добавлено: 14 дек 2018, 11:39
Sertik
Предположим имеется связка Микротиков: 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).

Проверено, работает.

Re: Исключение флуда в логе при попытках подключения pptp-клиента

Добавлено: 14 дек 2018, 16:24
vqd
/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

Re: Исключение флуда в логе при попытках подключения pptp-клиента

Добавлено: 14 дек 2018, 17:09
Sertik
vqd спасибо, но кроме флуда в логе предложенное решение еще и снимает флуд pptp-интерфейса.

Re: Исключение флуда в логе при попытках подключения pptp-клиента

Добавлено: 14 дек 2018, 17:44
vqd
)) Ну видимо вы еще не сталкивались на практике с флудом, когда на собственной шкуре почувствуете что это такое то попытки соединения пптп при отвалившемся внешнем канале вам детским лепетом покажутся, которые не стоят внимания. А вот информативность лога - это уже действительно важно

Re: Исключение флуда в логе при попытках подключения pptp-клиента

Добавлено: 14 дек 2018, 17:52
vqd
Sertik писал(а): 14 дек 2018, 11:39
: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}}
{
/interface pptp-client
:if (([:ping 8.8.8.8 count=5] >2) and ([get pptp-out1 disabled ])) do={enable pptp-out1}
}

Re: Исключение флуда в логе при попытках подключения pptp-клиента

Добавлено: 17 дек 2018, 12:28
Sertik
Спасибо, можно и так, хотя не сильно короче.

Re: Исключение флуда в логе при попытках подключения pptp-клиента

Добавлено: 23 мар 2023, 12:44
SergeyN
Отличное решение, как раз его применил. Только вместо проверки по 8.8.8.8 лучше провериться по самому PPP серверу. Так так может интернет работать, а сервер при этом не отвечать.