Страница 1 из 1
Оповещение при смене IP
Добавлено: 08 мар 2021, 09:39
qpp-mikrotik
Добрый день.
Помогите пожалуйста, у меня динамический IP на WAN, необходимо отслеживать его изменение и отправлять обновленные данные.
Предполагаю , что удобнее всего будет отправить изменившийся IP в телеграмм.
Первую часть скрипта я нашел
-------------------------
/tool fetch url="
https://api.telegram.org/botXXXXXXXX:XX ... =XXXXXXXXX"
-------------------------
Как научить Mikrotik отслеживать IP на WAN и при изменении оповещать ?
Заранее благодарю.
Re: Оповещение при смене IP
Добавлено: 08 мар 2021, 14:58
sifonka
Re: Оповещение при смене IP
Добавлено: 08 мар 2021, 22:32
xvo
Бестолковое решение: "смениться" IP может только в момент получения адреса от DHСP-сервера. Поэтому скрипт надо не крутить постоянно через планировщик, а пихать непосредственно в dchp-клиента - если полученный адрес не совпадает с сохраненным, отсылать новый в телеграм.
Записать в layer7-protocol текущее значение:
Код: Выделить всё
/ip firewall layer7-protocol add name=wan_ip regexp=ТЕКУЩИЙ_АДРЕС_БЕЗ_МАСКИ
А в dhcp-клиента добавить:
Код: Выделить всё
{
:if ($bound=1) do={
:local wanip [/ip firewall layer7-protocol find where name=wan_ip]
:if ([/ip firewall layer7-protocol get $wanip regexp] != $"lease-address") do={
/ip firewall layer7-protocol set $wanip regexp=$"lease-address"
/tool fetch "https://149.154.167.220/botXXXXXX/sendmessage?chat_id=XXXXXXXXXX&text=[$identity]: New WAN IP address is $wanip." keep-result=no
}
}
}
Re: Оповещение при смене IP
Добавлено: 08 мар 2021, 23:11
sifonka
xvo писал(а): ↑08 мар 2021, 22:32"смениться" IP может только в момент получения адреса от DCHP-сервера.
а если микрот стоит после провайдерской железки дома и получает всегда 192.168.1.2, например?
Re: Оповещение при смене IP
Добавлено: 09 мар 2021, 00:17
xvo
sifonka писал(а): ↑08 мар 2021, 23:11
а если микрот стоит после провайдерской железки дома и получает всегда 192.168.1.2, например?
В посте про IP который непосредственно на wan-порту микротика, нет?
Собственно, если где-то участвует NAT, то ваш пример в любом случае покажет адрес, который микротику принадлежать не будет.