Last active
March 24, 2025 19:29
-
-
Save wannadrunk/d3ea3f4f071a9d31fb1bfa16fd082be8 to your computer and use it in GitHub Desktop.
Mikrotik script to reconnect the pppoe when get the private/nat IP from ISP, keep trying to get a public ip.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Don't forget to change the "wanInterface" value below to your PPPoE interface | |
:global reconnectCount; | |
:local wanInterface "pppoe-out1"; | |
:if ($"local-address" in 100.64 .0.0/10) do={ | |
:if ($reconnectCount < 10) do={ | |
:set reconnectCount ($reconnectCount+1); | |
:log warning ("$wanInterface: Got Private IP ".$"local-address"." Reconnecting the interface..."); | |
/interface pppoe-client disable $wanInterface; | |
:delay 5s; | |
/interface pppoe-client enable $wanInterface; | |
} else={ | |
:log error ("$wanInterface: Reconnect count exceeded, currently using ".$"local-address"); | |
} | |
} else={ | |
:set reconnectCount 0; | |
:log info ("$wanInterface: Got Public IP ".$"local-address"); | |
} |
:global reconnectCount = 0;
:local wanInterface = "pppoe-out1";
:if ($"local-address" in 100.64.0.0/10) do={
:if ($reconnectCount < 10) do={
:set reconnectCount ($reconnectCount + 1);
:log warning ("$wanInterface: Got Private IP ".$"local-address"." Reconnecting the interface...");
/interface pppoe-client disable $wanInterface;
:delay 5s;
/interface pppoe-client enable $wanInterface;
:log info ("$wanInterface: Reconnection attempt $reconnectCount completed.");
} else={
:log error ("$wanInterface: Reconnect count exceeded, currently using ".$"local-address". " Please check the connection manually.");
}
} else={
:set reconnectCount 0;
:log info ("$wanInterface: Got Public IP ".$"local-address");
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ตรง 100.64 .0.0/10 ต้องลบ space ออกครับ