smx_jinxin 发表于 2022-11-11 16:44:48

那位大神帮忙写个脚本。

检测4个PPPOE拨号 ,只要有一条线路没有拨上号,其他3条正常拨号成功线路全部关闭。等没有拨上号的线路,拨上号以后。启动那三条线路被关闭的线路。就可以啦!

cspm333 发表于 2022-11-12 10:28:01

新增一個profile1,然後pppoe-out1設置要使用這個profile1。


在profile1裡放置腳本:


這樣您的願望就達成了。


smx_jinxin 发表于 2022-11-26 23:05:30

cspm333 发表于 2022-11-12 10:28
新增一個profile1,然後pppoe-out1設置要使用這個profile1。




哦,好的,我试试。谢谢啦!

smx_jinxin 发表于 2022-11-26 23:40:42

cspm333 发表于 2022-11-12 10:28
新增一個profile1,然後pppoe-out1設置要使用這個profile1。




大神 还是不行,达不到效果 还是要写脚本才行呢。主要是开机后效果不佳!

cspm333 发表于 2022-11-28 13:40:14

本帖最后由 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連上後才會啟用。

smx_jinxin 发表于 2022-11-29 23:48:39

哦,好的。我试试,谢谢啦大神!

smx_jinxin 发表于 2022-11-30 22:55:15

cspm333 发表于 2022-11-28 13:40
小問題,其它的pppoe撥號只要等pppoe-out1開始工作再啟用就好。

除了前面pppoe-out1的profile1保留,您再 ...

大神,这个脚本是有用,但是还有个小问题,那就是1号线路拨通 2,3,4 启用后会出现 随机性的 4号 线路无法拨通 ,这时脚本就不起作用啦!是随机性的不一定是4号线路。请大神帮忙,谢谢!:)

cspm333 发表于 2022-12-1 10:17:57

本帖最后由 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:}

smx_jinxin 发表于 2022-12-1 15:27:47

大神,不好意思,你尽心尽力帮忙。还是翻车啦。:(
是我开始没有讲清楚!
是从启动软路由开始 四条线路全部开启,等待拨号成功。如果四条线路只有三条线路拨号成功,一条随机线路拨号失败。关闭拨号成功的三条线路,只开启未拨号成功的那一条随机线路。直到未拨号成功的那一条随机线路拨号成功,剩下的三条线路再开启拨号。如果还是有一条随机线路没有拨号成功 就从新循环操作 直到4条线路全部拨号成功为止 。 都是随机性的不是固定1号线路。

全部是开开关关。



lusheng 发表于 2022-12-1 17:45:45

有什么特殊意义吗?是要4条线都上线了再给上网?那检测4条线的状态然后开网不就好了。

smx_jinxin 发表于 2022-12-1 19:53:32

是为了4条线路全部拨上号

smx_jinxin 发表于 2022-12-1 19:55:06

lusheng 发表于 2022-12-1 17:45
有什么特殊意义吗?是要4条线都上线了再给上网?那检测4条线的状态然后开网不就好了。 ...

是为了4条线路全部拨上号。

cspm333 发表于 2022-12-1 21:14:29

本帖最后由 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狀態,則自動將封鎖規則關閉,讓連線與外面正常通信。

smx_jinxin 发表于 2022-12-2 00:09:35

cspm333 发表于 2022-12-1 21:14
2,5,8樓的script與操作全都不要了,用這個頂上。

1.先在/ip firewall raw新增:


大神思路错啦!
如果按照你的思路走我将永远无法上网。因为有随机一条线路不通就上不了网啦!要按照我的思路走才能把4线全部拨上号!只需要开开关关线路就可以实现4条线路全部拨号成功!

启动软路由开始 四条线路全部开启,等待拨号成功。如果四条线路只有三条线路拨号成功,一条随机线路拨号失败。关闭拨号成功的三条线路,只开启未拨号成功的那一条随机线路。直到未拨号成功的那一条随机线路拨号成功,剩下的三条线路再开启拨号。如果还是有一条随机线路没有拨号成功 就从新循环操作 直到4条线路全部拨号成功为止 。 都是随机性的不是固定1号线路。



cspm333 发表于 2022-12-2 08:46:29

本帖最后由 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
查看完整版本: 那位大神帮忙写个脚本。