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

Re: Ростелеком. Проверка на серый IP

Добавлено: 22 сен 2022, 09:33
Sertik
Ну хоть как-то так оформите, а то вообще не читабельно было и не защищено от ошибок.
Комментарии убрал, и так всё понятно.

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

:local netRange 10.0.0.0/8
:local PpoeIntName "pppoe"
:local pingAdrcheck 8.8.8.8
:local pingNum 3
:global currentIP
:global newIP [/ip address get [find interface=$PpoeIntName] address]
     :if (![:any $newIP]) do={:error "pppoe интерфейс отсутствует или не имеет адреса"}
     :if ($newIP in $netRange) do={
                  /interface pppoe-client disable $PpoeIntName;
                  :delay 1;
                  /interface pppoe-client enable $PpoeIntName;
         } else={
                               :if ($newIP != $currentIP) do={
                                      :local chekping [/ping $pingAdrcheck count=$pingNum]
                                            :if ($chekping != 0) do={
                                          :do {
                                                    [/tool e-mail send to=you-mail@ya.ru subject=$newIP]
                                                } on-error={:log error "отправка на почту не прошла" }
                                          :do {
                                                    [/tool fetch url="https://api.telegram.org/bot**********: ... ext=$newIP"];
                                               } on-error={:log error "в Телеграмм ничего не отправлено" }
                                       :set currentIP $newIP;}
     }
  }

Re: Ростелеком. Проверка на серый IP

Добавлено: 06 мар 2023, 07:02
Crazyk1
Подскажите что делает эта строка?
С ней у меня скрипт не работает, пришлось удалить :ne_vi_del:

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

:if (![:any $newIP]) do={:error "pppoe интерфейс отсутствует или не имеет адреса"}

Re: Ростелеком. Проверка на серый IP

Добавлено: 06 мар 2023, 11:27
Sertik
Команда :any проверяет переменную на "непустость"

Re: Ростелеком. Проверка на серый IP

Добавлено: 28 янв 2025, 20:29
ruslabigboy
ivk писал(а): 20 сен 2022, 13:36
seva150785 писал(а): 06 июл 2022, 14:53 В общем скрипт работает только раз и при условии, что есть в логах запись "Connected to grey IP".
......
:global currentIP
# Проверяем какой у нас "ip" на интерфейсе с именем: "pppoe" и записываем его в переменную newIP
.......

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# НАСТРОЙКА ЯНДЕКС ПОЧТЫ:
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tool e-mail
set address=smtp.yandex.ru from="you-mail@ya.ru" password=mailpassword \
port=465 start-tls=tls-only user=you-mail@ya.ru
День добрый всем!
Имею ту же проблему - провайдер Таттелеком, периодически появляется серый айпишник.
Применил скрипт из сообщения ivk - вроде бы все работает... Но!
Если менять адрес скриптом - то белый адрес появляется не сразу, а примерно с 5...10-й попытки... Если же менять адрес кнопкой "Reconnect" (Winbox - Quick Set) - то адрес белый приходит после 1й попытки.. Почему так?

Вот лог при сработке скрипта:
20:07:26 pppoe,ppp,info tattelecom: terminating... - administrator request
20:07:26 pppoe,ppp,info tattelecom: disabled
20:07:26 system,info device changed by tcp-msg(winbox):admin@192.168.1.11/script:script-autoreconnect/action:32 (/interface set tattelecom disabled=yes; /queue interface set tattelecom; /interface pppoe-client set tattelecom disabled=yes)
20:07:27 pppoe,ppp,info tattelecom: initializing...
20:07:27 pppoe,ppp,info tattelecom: connecting...
20:07:27 system,info device changed by tcp-msg(winbox):admin@192.168.1.11/script:script-autoreconnect/action:33 (/interface set tattelecom disabled=no; /queue interface set tattelecom; /interface pppoe-client set tattelecom disabled=no)
20:07:28 pppoe,ppp,info tattelecom: authenticated
20:07:28 pppoe,ppp,info tattelecom: connected
20:07:28 interface,info tattelecom detect UNKNOWN
20:07:34 interface,info tattelecom detect INTERNET

Вот лог по кнопке Реконнект:
20:06:23 pppoe,ppp,info tattelecom: terminating... - administrator request
20:06:23 system,info device changed by (/interface set tattelecom; /queue interface set tattelecom; /interface pppoe-client set tattelecom)
20:06:23 pppoe,ppp,info tattelecom: disconnected
20:06:23 pppoe,ppp,info tattelecom: initializing...
20:06:23 pppoe,ppp,info tattelecom: connecting...
20:06:24 pppoe,ppp,info tattelecom: authenticated
20:06:24 pppoe,ppp,info tattelecom: connected
20:06:24 interface,info tattelecom detect UNKNOWN
20:06:30 interface,info tattelecom detect INTERNET