Настроил я как-то VPN IKEv2, IP у клиента прилетал на интерфейс от провайдера. На счет того, постоянный он или нет, узнавать не стал, настроил все через DDNS самого микротика и забыл.
Проходит некоторое количество времени и у клиента перестает работать VPN, не подключается и все. Начинаю разбираться и вижу, что сменился IP на интерфейсе, а в ipsec\peer указан старый, поменял и все заработало, но это не наш вариант и хотелось бы что бы это все происходило автоматически без ручного вмешательства, вот и написал текущий скрипт и повесил его на dhcp-client\script.
Пользуйтесь, может еще кому пригодится.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#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 } |