Change the following lines from the script in MikroTik Wiki. The password must be specified in plain text instead of an md5 checksum.
:local HEupdatepath "/nic/update"
"?username=" . $HEuserid . \
"&password=" . $HEpass . \
"&hostname=" . $HEtunnelid . \
"&myip=" . $HEipv4addr) \
Original script from MikroTik Wiki.
http://wiki.mikrotik.com/wiki/Hurricane_Electric_IPv6_Tunnel_-_IPv4_Endpoint_updater
This is my script.
Update Hurricane Electric IPv6 Tunnel Client IPv4 address
#--------------- Beginning of user defined variables ------------------
This routers 6to4 Tunnel Interface
:local HEtunnelinterface “6to4 Interface”
Hurricane Electric Tunnel ID
:local HEtunnelid “Tunnel ID”
Hurricane Electric Username
:local HEuserid “HE Username”
Hurricane Electric Password in Plain Text
:local HEpass “HE Password”
This routers WAN Interface
:local WANinterface “WAN Interface”
#--------------- End of user defined variables -----------------------------
:local HEupdatehost “ipv4.tunnelbroker.net”
:local HEupdatepath “/nic/update”
:local outputfile (“HE-” . $HEtunnelid . “.txt”)
Internal processing below…
----------------------------------
:local HEipv4addr
Get WAN interface IP address
:set HEipv4addr [/ip address get [/ip address find interface=$WANinterface] address]
:set HEipv4addr [:pick [:tostr $HEipv4addr] 0 [:find [:tostr $HEipv4addr] “/”]]
:if ([:len $HEipv4addr] = 0) do={
:log error ("Could not get IP for interface " . $WANinterface)
:error ("Could not get IP for interface " . $WANinterface)
}
Update the HEtunnelinterface with WAN IP
/interface 6to4 {
:if ([get ($HEtunnelinterface) local-address] != $HEipv4addr) do={
:log info ("Updating " . $HEtunnelinterface . " local-address with new IP " . $HEipv4addr . “…”)
set ($HEtunnelinterface) local-address=$HEipv4addr
}
}
:log info ("Updating IPv6 Tunnel " . $HEtunnelid . " Client IPv4 address to new IP " . $HEipv4addr . “…”)
/tool fetch mode=http
host=($HEupdatehost)
url=(“http://” . $HEupdatehost . $HEupdatepath .
“?username=” . $HEuserid .
“&password=” . $HEpass .
“&hostname=” . $HEtunnelid .
“&myip=” . $HEipv4addr)
dst-path=($outputfile)
:log info ([/file get ($outputfile) contents])
/file remove ($outputfile)