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

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

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

Сообщение Amduscia »

Хаю хай.

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

Цель:
Мониторить этот интерфейс и если там замечен новый ip адрес, отправить его мне на email.
Аватара пользователя
Chupaka
Сообщения: 4092
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

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

Сообщение Chupaka »

Да, описание задачи ну просто запутаннейшее. Под 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 »

Почему запутаннейшее? :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
Сообщения: 4092
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

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

Сообщение Chupaka »

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

Для мониторинга можно по пути добавить вывода отдалочной информации, например, :log info ("Last-IP is ".$ip); после :local ip
Аватара пользователя
Amduscia
Сообщения: 38
Зарегистрирован: 14 окт 2016, 17:00
Откуда: Латвия

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

Сообщение Amduscia »

Да создан скрипт, потом нажал Run script и там ничего нет нового
Аватара пользователя
Chupaka
Сообщения: 4092
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

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

Сообщение Chupaka »

Хм... Это какой-то несмешной стёб?
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 »

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

Сработало когда написал wireless :D
Изображение
Изображение
Аватара пользователя
Chupaka
Сообщения: 4092
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

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

Сообщение Chupaka »

На будущее: если что-то хочется поменять - надо открыть Терминал и проверить Tab'ом для автодополнения, есть ли вообще такая команда
Аватара пользователя
Amduscia
Сообщения: 38
Зарегистрирован: 14 окт 2016, 17:00
Откуда: Латвия

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

Сообщение Amduscia »

И как теперь эту строчку из лога на email отправлять?
Аватара пользователя
Chupaka
Сообщения: 4092
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

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

Сообщение Chupaka »