Create [Script-MikroTik] 2 PPPoE WAN Connection (Dynamic IP from ISP) + Auto Fail Over + Recursive Routing (RouterOS7).txt

This commit is contained in:
MR.KRITTIN 2022-05-02 15:54:48 +07:00
parent 0301542d1a
commit 196a95eb96

View file

@ -0,0 +1,60 @@
################################################################################################
## 2 PPPoE WAN Connection (Dynamic IP from ISP) + Auto Fail Over + Recursive Routing (RouterOS7)
## Credit : @Ton(y)Dev พ่อมดไอที
################################################################################################
### PPP > Profiles > Name Profile1 (New Profile) > Scripts > On Up: ###
:local createRoute do={
/log/info message="Add route $remoteAddress"
/ip/route/add dst-address=$dstAddress gateway=$remoteAddress scope=10 target-scope=10 distance=$distance comment=("D".$wan)
/ip/route/add dst-address=0.0.0.0/0 gateway=$gateway scope=30 target-scope=11 distance=$distance check-gateway=ping routing-table=main suppress-hw-offload=no comment=("D".$wan)
}
:local wanConf {
{
"remoteAddress"=$"remote-address";
"dstAddress"=1.1.1.1/32;
"gateway"=1.1.1.1;
"distance"=1;
"wan"="pppoe-out1"
};
{
"remoteAddress"=$"remote-address";
"dstAddress"=8.8.8.8/32;
"gateway"=8.8.8.8;
"distance"=2;
"wan"="pppoe-out2"
};
}
:local getInterface [/interface/get $interface];
:foreach w in=$wanConf do={
:local wan ($w->"wan");
:if ($wan = ($getInterface->"name")) do={
:if ([:len [/ip/route/print as-value where comment=("D".$wan)]] > 0) do={
/log/info message="Remove route D$wan"
/ip/route/remove [find comment=("D".$wan)]
}
$createRoute remoteAddress=($w->"remoteAddress") dstAddress=($w->"dstAddress") gateway=($w->"gateway") distance=($w->"distance") wan=$wan
}
}
##########[Completed PPP UP]##########
### PPP > Profiles > Name Profile1 (New Profile) > Scripts > On Down: ###
:local removeRoute do={
/ip/route/remove [find comment=$wan]
}
:local gw [/ip/route/print as-value where gateway=$"remote-address"];
:if (($gw->0->"comment") != "") do={
$removeRoute wan=($gw->0->"comment")
}
##########[Completed PPP DOWN]##########