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

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Sertik
Сообщения: 1657
Зарегистрирован: 15 сен 2017, 09:03

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

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

: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;}
     }
  }


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Crazyk1
Сообщения: 2
Зарегистрирован: 05 фев 2022, 10:53

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

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

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


Sertik
Сообщения: 1657
Зарегистрирован: 15 сен 2017, 09:03

Команда :any проверяет переменную на "непустость"


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
ruslabigboy
Сообщения: 1
Зарегистрирован: 28 янв 2025, 15:03

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


Ответить