Actualizando IP en VPN con IP Dinámico
Nos suele suceder que necesitamos conectarnos a un servidor VPN pero éste tiene IP Dinámico y trabaja con algún DDNS.
MikroTik no soporta el utilizar dominios para la conexión a servidores VPN, IPSEC entre algunos servicios que requieren de definir un servidor concentrador para conectarse.
Para poder trabajar con ello, se utiliza script que resolverán el DDNS a un IP y lo actualizarán en donde sea necesario.
#************************************************************************************************
# Parameters
#************************************************************************************************
:local hostname "remote.hostname.com"
:local interface "pptp-vpn"
#************************************************************************************************
:global setupIp
:local resolvedIp [:resolve $hostname]
if ([:len [/interface find name=$interface]] > 0) do={
:local type [/interface get [find name=$interface] type];
:set type ([pick $type 0 [find $type "-"]]."-client");
:local cmd [:parse ":global setupIp; :set setupIp [:interface $type get $interface connect-to]"]; $cmd;
:if ($setupIp != $resolvedIp) do={
:set cmd [:parse ":interface $type set $interface connect-to=$resolvedIp"]; $cmd;
:set cmd [:parse ":interface $type disable $interface"]; $cmd;
:set cmd [:parse ":interface $type enable $interface"]; $cmd;
:log warn "$type: Switching interface $interface from IP $setupIp to $resolvedIp"
}
} else={
:log error "Interface $interface not found"
}
Vía: MikroTik