那位大神帮忙写个脚本。
检测4个PPPOE拨号 ,只要有一条线路没有拨上号,其他3条正常拨号成功线路全部关闭。等没有拨上号的线路,拨上号以后。启动那三条线路被关闭的线路。就可以啦! 新增一個profile1,然後pppoe-out1設置要使用這個profile1。在profile1裡放置腳本:
這樣您的願望就達成了。
cspm333 发表于 2022-11-12 10:28
新增一個profile1,然後pppoe-out1設置要使用這個profile1。
哦,好的,我试试。谢谢啦! cspm333 发表于 2022-11-12 10:28
新增一個profile1,然後pppoe-out1設置要使用這個profile1。
大神 还是不行,达不到效果 还是要写脚本才行呢。主要是开机后效果不佳!
本帖最后由 cspm333 于 2022-11-28 13:53 编辑
小問題,其它的pppoe撥號只要等pppoe-out1開始工作再啟用就好。
除了前面pppoe-out1的profile1保留,您再新增profile2,profile3,profile4分別對應相關的pppoe-out。
profile2,profile3,profile4的script編輯如下,以profile2為例:
:if (!) do={/interface disable pppoe-out2}
這樣只要pppoe-out1未工作,其他的pppoe-out便會被script強迫關閉,直到pppoe-out1連上後才會啟用。 哦,好的。我试试,谢谢啦大神! cspm333 发表于 2022-11-28 13:40
小問題,其它的pppoe撥號只要等pppoe-out1開始工作再啟用就好。
除了前面pppoe-out1的profile1保留,您再 ...
大神,这个脚本是有用,但是还有个小问题,那就是1号线路拨通 2,3,4 启用后会出现 随机性的 4号 线路无法拨通 ,这时脚本就不起作用啦!是随机性的不一定是4号线路。请大神帮忙,谢谢!:) 本帖最后由 cspm333 于 2022-12-1 10:57 编辑
難以致信...是未成功撥號還是未啟用?profile裡的script只負責開關pppoe-out,不負責成功撥號喔#profile2:
:if (!) do={/interface disable pppoe-out2}#profile3:
:if (!) do={/interface disable pppoe-out3}#profile4:
:if (!) do={/interface disable pppoe-out4}
如果錯誤是來自未成功啟用pppoe-out,這是最後的補強,在/system scheduler新增:
:local pppoe1
:local pppoe2
:local pppoe3
:local pppoe4
:if ($pppoe1 $pppoe2) do={/interface enable pppoe-out2}
:if ($pppoe1 $pppoe3) do={/interface enable pppoe-out3}
:if ($pppoe1 $pppoe4) do={/interface enable pppoe-out4}這道工下去啟用還會有問題...會翻桌的{:3_47:} 大神,不好意思,你尽心尽力帮忙。还是翻车啦。:(
是我开始没有讲清楚!
是从启动软路由开始 四条线路全部开启,等待拨号成功。如果四条线路只有三条线路拨号成功,一条随机线路拨号失败。关闭拨号成功的三条线路,只开启未拨号成功的那一条随机线路。直到未拨号成功的那一条随机线路拨号成功,剩下的三条线路再开启拨号。如果还是有一条随机线路没有拨号成功 就从新循环操作 直到4条线路全部拨号成功为止 。 都是随机性的不是固定1号线路。
全部是开开关关。
有什么特殊意义吗?是要4条线都上线了再给上网?那检测4条线的状态然后开网不就好了。 是为了4条线路全部拨上号
lusheng 发表于 2022-12-1 17:45
有什么特殊意义吗?是要4条线都上线了再给上网?那检测4条线的状态然后开网不就好了。 ...
是为了4条线路全部拨上号。
本帖最后由 cspm333 于 2022-12-2 00:13 编辑
2,5,8樓的script與操作全都不要了,用這個頂上。
1.先在/ip firewall raw新增:
2./system scheduler新增:
:local pppoe1
:local pppoe2
:local pppoe3
:local pppoe4
:local bhi
:local bhole (!)
:if (($pppoe1 $pppoe2 $pppoe3 $pppoe4) $bhole) do={/ip firewall raw disable $bhi}
:if (!($pppoe1 $pppoe2 $pppoe3 $pppoe4) !$bhole) do={/ip firewall raw enable $bhi}概念是在/ip firewall raw建個封鎖一切的規則。
只要4個pppoe-out中有一個未running,防火牆就封鎖一切連線;
若pppoe-out全都處running狀態,則自動將封鎖規則關閉,讓連線與外面正常通信。
cspm333 发表于 2022-12-1 21:14
2,5,8樓的script與操作全都不要了,用這個頂上。
1.先在/ip firewall raw新增:
大神思路错啦!
如果按照你的思路走我将永远无法上网。因为有随机一条线路不通就上不了网啦!要按照我的思路走才能把4线全部拨上号!只需要开开关关线路就可以实现4条线路全部拨号成功!
启动软路由开始 四条线路全部开启,等待拨号成功。如果四条线路只有三条线路拨号成功,一条随机线路拨号失败。关闭拨号成功的三条线路,只开启未拨号成功的那一条随机线路。直到未拨号成功的那一条随机线路拨号成功,剩下的三条线路再开启拨号。如果还是有一条随机线路没有拨号成功 就从新循环操作 直到4条线路全部拨号成功为止 。 都是随机性的不是固定1号线路。
本帖最后由 cspm333 于 2022-12-2 09:09 编辑
第一次聽這樣的請求,總之試試吧:
:local pppoe1
:local pppoe2
:local pppoe3
:local pppoe4
:if (!$pppoe1) do={
:while ($pppoe1=no) do={
/interface disable pppoe-out2,pppoe-out3,pppoe-out4
:delay 5s ; :set pppoe1
}
/interface enable pppoe-out2,pppoe-out3,pppoe-out4 ; :delay 5s
:set pppoe2
:set pppoe3
:set pppoe4
}
:if (!$pppoe2) do={
:while ($pppoe2=no) do={
/interface disable pppoe-out1,pppoe-out3,pppoe-out4
:delay 5s ; :set pppoe2
}
/interface enable pppoe-out1,pppoe-out3,pppoe-out4 ; :delay 5s
:set pppoe3
:set pppoe4
}
:if (!$pppoe3) do={
:while ($pppoe3=no) do={
/interface disable pppoe-out1,pppoe-out2,pppoe-out4
:delay 5s ; :set pppoe3
}
/interface enable pppoe-out1,pppoe-out2,pppoe-out4 ; :delay 5s
:set pppoe4
}
:if (!$pppoe4) do={
:while ($pppoe4=no) do={
/interface disable pppoe-out1,pppoe-out2,pppoe-out3
:delay 5s ; :set pppoe4
}
/interface enable pppoe-out1,pppoe-out2,pppoe-out3 ; :delay 5s
}
页:
[1]
2