Проверка и отсылка определённых ip через email

Автоматизация при помощи встроенного скриптового языка и RouterOS API
Ответить
Аватара пользователя
Amduscia
Сообщения: 38
Зарегистрирован: 14 окт 2016, 17:00
Откуда: Латвия

Проверка и отсылка определённых ip через email

Сообщение Amduscia » 18 янв 2017, 22:44

Хаю хай.

Имеется:
Динамические адреса из множества подсетей которые меняются раз в случай.
wan интерфейс который через бридж соединён с интерфейсом который не входит в локальную сеть куда будет воткнут радиолинк родственников.

Цель:
Мониторить этот интерфейс и если там замечен новый ip адрес, отправить его мне на email.

Аватара пользователя
Chupaka
Сообщения: 681
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Проверка и отсылка определённых ip через email

Сообщение Chupaka » 19 янв 2017, 01:12

Да, описание задачи ну просто запутаннейшее. Под wan имелся в виду wlan? :)

Поскольку я знаю, что речь уже шла про "registration-table last-ip", то вкратце - как-то так:

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

:global known;

# тут бы ещё проверить, что регистрация с таким маком существует
:local ip [ /interface wireless registration-table get [find mac-address="00:00:33:44:55:66"] last-ip ];

:if ([:find $known $ip] < 0) do={
	:set known ($known,$ip);
	
	# сообщаем куда надо
	:log info ("новый адрес: ".$ip);
}

Аватара пользователя
Amduscia
Сообщения: 38
Зарегистрирован: 14 окт 2016, 17:00
Откуда: Латвия

Re: Проверка и отсылка определённых ip через email

Сообщение Amduscia » 19 янв 2017, 11:34

Почему запутаннейшее? :D wan знаю что такое а что такое wlan? :D

В бридж добавил WiFi интерфейс, телефон получил от провайдера ip, в скрипте мак телефона прописал, запустил - в логе ничего нового не увидел

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

:global known;

:local ip [ /interface WiFi registration-table get [find mac-address="9C:4A:7B:7B:16:D2"] last-ip ];

:if ([:find $known $ip] < 0) do={
	:set known ($known,$ip);
	
	:log info ("Radiolink new ip is: ".$ip);
}
Изображение

Аватара пользователя
Chupaka
Сообщения: 681
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Проверка и отсылка определённых ip через email

Сообщение Chupaka » 19 янв 2017, 13:02

Что именно "запустил"? Создан отдельный скрипт в скриптах?

Для мониторинга можно по пути добавить вывода отдалочной информации, например, :log info ("Last-IP is ".$ip); после :local ip

Аватара пользователя
Amduscia
Сообщения: 38
Зарегистрирован: 14 окт 2016, 17:00
Откуда: Латвия

Re: Проверка и отсылка определённых ip через email

Сообщение Amduscia » 19 янв 2017, 14:33

Да создан скрипт, потом нажал Run script и там ничего нет нового

Аватара пользователя
Chupaka
Сообщения: 681
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Проверка и отсылка определённых ip через email

Сообщение Chupaka » 19 янв 2017, 14:49

Хм... Это какой-то несмешной стёб?
Chupaka писал(а):
19 янв 2017, 01:12

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

:local ip [ /interface wireless registration-table
Amduscia писал(а):
19 янв 2017, 11:34

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

:local ip [ /interface WiFi registration-table

"/interface wireless" - это так-то команда

Аватара пользователя
Amduscia
Сообщения: 38
Зарегистрирован: 14 окт 2016, 17:00
Откуда: Латвия

Re: Проверка и отсылка определённых ip через email

Сообщение Amduscia » 19 янв 2017, 15:30

разве wireless не надо менять на название своего интерфейса?

Сработало когда написал wireless :D
Изображение
Изображение

Аватара пользователя
Chupaka
Сообщения: 681
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Проверка и отсылка определённых ip через email

Сообщение Chupaka » 19 янв 2017, 15:39

На будущее: если что-то хочется поменять - надо открыть Терминал и проверить Tab'ом для автодополнения, есть ли вообще такая команда

Аватара пользователя
Amduscia
Сообщения: 38
Зарегистрирован: 14 окт 2016, 17:00
Откуда: Латвия

Re: Проверка и отсылка определённых ip через email

Сообщение Amduscia » 19 янв 2017, 16:13

И как теперь эту строчку из лога на email отправлять?


Ответить