Полезные скрипты для Mikrotik

Настроил я как-то VPN IKEv2, IP у клиента прилетал на интерфейс от провайдера. На счет того, постоянный он или нет, узнавать не стал, настроил все через DDNS самого микротика и забыл.

Проходит некоторое количество времени и у клиента перестает работать VPN, не подключается и все. Начинаю разбираться и вижу, что сменился IP на интерфейсе, а в ipsec\peer указан старый, поменял и все заработало, но это не наш вариант и хотелось бы что бы это все происходило автоматически без ручного вмешательства, вот и написал текущий скрипт и повесил его на dhcp-client\script.
Пользуйтесь, может еще кому пригодится.

#Get ipsec peer
:global ikv2  [/ip ipsec peer get [find name="peer-ikev2" ]]
 # full view
:global ikv2peerip  [:pick $ikv2 5 [:find $ikv2peerip  "local-address"]];   
# parser ip
:global ikv2peerip  [:pick $ikv2peerip 0];				     				
# get inteface ip address with mask
:global NewIPMask [/ip address get [find interface="ether1"] address];       
# delete mask on ip address
:global NewIP [:pick $NewIPMask 0 [:find $NewIPMask "/"]];
# cgange ip ipsec peer 
:if ($ikv2peerip != $NewIP ) do={
:log warning "CHANGE  WAN IP ADDRESS!!!"
:log warning "Old IP:  + $ikv2peerip "
:log warning "NewIP: + $NewIP"
ip ipsec peer set local-address=$NewIP numbers=0
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *