# Detect IP Address on VPN Tunnel if has been changed - MikroTik Script RouterOS

    How to Detect IP Address on VPN Tunnel if has been changed?

    I made this script for VPN Tunnel which suddenly changes the IP in the HostName / Domain name without confirmation first, meaning that sometimes they can change the IP at any time, actually it doesn't matter if we only use 1 WAN ISP but it will be a different story if we use 2 ISP and first select the VPN to one ISP line only.

    You can use this script at starup on schedule and set duration for example 10 Minute (00:10:00)

    :global currentIP;
    :local VpnHostName "my.tunel-vpn.net";
    :local WanGatewayRouter "192.168.3.1";
    :local SetComment "MY-VPN-TUNNEL";

    :local check [/ip route find where comment=$SetComment];
    :local resolvedIP [:resolve $VpnHostName];

    :if (check = "") do={
     /ip route add gateway=$WanGatewayRouter dst-address=$resolvedIP comment=$SetComment;
    } else={
     :if ($resolvedIP != $currentIP) do={
     /ip route set [/ip route find where comment=$SetComment] dst-address=$resolvedIP gateway=$WanGatewayRouter;
     :set currentIP $resolvedIP;
     :log info "Detect New IP VPN TUNNEL = $resolvedIP"
     }
    }
    Credit: https://www.o-om.com