自由的生活_软路由

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 896|回复: 17

[脚本] 那位大神帮忙写个脚本。

[复制链接]
发表于 2022-11-11 16:44:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
检测4个PPPOE拨号 ,只要有一条线路没有拨上号,其他3条正常拨号成功线路全部关闭。等没有拨上号的线路,拨上号以后。启动那三条线路被关闭的线路。就可以啦!
routeros
发表于 2022-11-12 10:28:01 | 显示全部楼层
新增一個profile1,然後pppoe-out1設置要使用這個profile1。
Snap2.jpg

在profile1裡放置腳本:
Snap3.jpg

這樣您的願望就達成了。


routeros
 楼主| 发表于 2022-11-26 23:05:30 | 显示全部楼层
cspm333 发表于 2022-11-12 10:28
新增一個profile1,然後pppoe-out1設置要使用這個profile1。

哦,好的,我试试。谢谢啦!
routeros
 楼主| 发表于 2022-11-26 23:40:42 | 显示全部楼层
cspm333 发表于 2022-11-12 10:28
新增一個profile1,然後pppoe-out1設置要使用這個profile1。

大神 还是不行,达不到效果 还是要写脚本才行呢。主要是开机后效果不佳!
routeros
发表于 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為例:
Snap2.jpg
  1. :if (![/interface get pppoe-out1 running]) do={/interface disable pppoe-out2}
复制代码

這樣只要pppoe-out1未工作,其他的pppoe-out便會被script強迫關閉,直到pppoe-out1連上後才會啟用。
routeros
 楼主| 发表于 2022-11-29 23:48:39 | 显示全部楼层
哦,好的。我试试,谢谢啦大神!
routeros
 楼主| 发表于 2022-11-30 22:55:15 | 显示全部楼层
cspm333 发表于 2022-11-28 13:40
小問題,其它的pppoe撥號只要等pppoe-out1開始工作再啟用就好。

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

大神,这个脚本是有用,但是还有个小问题,那就是1号线路拨通 2,3,4 启用后会出现 随机性的 4号 线路无法拨通 ,这时脚本就不起作用啦!是随机性的不一定是4号线路。请大神帮忙,谢谢!
routeros
发表于 2022-12-1 10:17:57 | 显示全部楼层
本帖最后由 cspm333 于 2022-12-1 10:57 编辑

難以致信...是未成功撥號還是未啟用?profile裡的script只負責開關pppoe-out不負責成功撥號
  1. #profile2:
  2. :if (![/interface get pppoe-out1 running]) do={/interface disable pppoe-out2}
复制代码
  1. #profile3:
  2. :if (![/interface get pppoe-out1 running]) do={/interface disable pppoe-out3}
复制代码
  1. #profile4:
  2. :if (![/interface get pppoe-out1 running]) do={/interface disable pppoe-out4}
复制代码


如果錯誤是來自未成功啟用pppoe-out,這是最後的補強,在/system scheduler新增:
Snap6.jpg
  1. :local pppoe1 [/interface get pppoe-out1 running]
  2. :local pppoe2 [/interface get pppoe-out2 disabled]
  3. :local pppoe3 [/interface get pppoe-out3 disabled]
  4. :local pppoe4 [/interface get pppoe-out4 disabled]
  5. :if ($pppoe1 $pppoe2) do={/interface enable pppoe-out2}
  6. :if ($pppoe1 $pppoe3) do={/interface enable pppoe-out3}
  7. :if ($pppoe1 $pppoe4) do={/interface enable pppoe-out4}
复制代码
這道工下去啟用還會有問題...會翻桌的
routeros
 楼主| 发表于 2022-12-1 15:27:47 | 显示全部楼层
大神,不好意思,你尽心尽力帮忙。还是翻车啦。
是我开始没有讲清楚!
是从启动软路由开始 四条线路全部开启,等待拨号成功。如果四条线路只有三条线路拨号成功,一条随机线路拨号失败。关闭拨号成功的三条线路,只开启未拨号成功的那一条随机线路。直到未拨号成功的那一条随机线路拨号成功,剩下的三条线路再开启拨号。如果还是有一条随机线路没有拨号成功 就从新循环操作 直到4条线路全部拨号成功为止 。 都是随机性的不是固定1号线路。

全部是开开关关。



routeros
发表于 2022-12-1 17:45:45 | 显示全部楼层
有什么特殊意义吗?是要4条线都上线了再给上网?那检测4条线的状态然后开网不就好了。
routeros
 楼主| 发表于 2022-12-1 19:53:32 | 显示全部楼层
是为了4条线路全部拨上号
routeros
 楼主| 发表于 2022-12-1 19:55:06 | 显示全部楼层
lusheng 发表于 2022-12-1 17:45
有什么特殊意义吗?是要4条线都上线了再给上网?那检测4条线的状态然后开网不就好了。 ...

是为了4条线路全部拨上号。
routeros
发表于 2022-12-1 21:14:29 | 显示全部楼层
本帖最后由 cspm333 于 2022-12-2 00:13 编辑

2,5,8樓的script與操作全都不要了,用這個頂上。

1.先在/ip firewall raw新增:
螢幕快照 2022-12-01 20-59-29.png 螢幕快照 2022-12-01 20-59-57.png

2./system scheduler新增:
螢幕快照 2022-12-01 21-23-21.png
  1. :local pppoe1 [/interface get pppoe-out1 running]
  2. :local pppoe2 [/interface get pppoe-out2 running]
  3. :local pppoe3 [/interface get pppoe-out3 running]
  4. :local pppoe4 [/interface get pppoe-out4 running]

  5. :local bhi [/ip firewall raw find dst-address="0.0.0.0/0" action=drop]
  6. :local bhole (![/ip firewall raw get $bhi disabled])

  7. :if (($pppoe1 $pppoe2 $pppoe3 $pppoe4) $bhole) do={/ip firewall raw disable $bhi}
  8. :if (!($pppoe1 $pppoe2 $pppoe3 $pppoe4) !$bhole) do={/ip firewall raw enable $bhi}
复制代码
概念是在/ip firewall raw建個封鎖一切的規則。

只要4個pppoe-out中有一個未running,防火牆就封鎖一切連線;
若pppoe-out全都處running狀態,則自動將封鎖規則關閉,讓連線與外面正常通信。

routeros
 楼主| 发表于 2022-12-2 00:09:35 | 显示全部楼层
cspm333 发表于 2022-12-1 21:14
2,5,8樓的script與操作全都不要了,用這個頂上。

1.先在/ip firewall raw新增:

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

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


111111111.png
routeros
发表于 2022-12-2 08:46:29 | 显示全部楼层
本帖最后由 cspm333 于 2022-12-2 09:09 编辑

第一次聽這樣的請求,總之試試吧:
螢幕快照 2022-12-02 09-04-40.png
  1. :local pppoe1 [/interface get pppoe-out1 running]
  2. :local pppoe2 [/interface get pppoe-out2 running]
  3. :local pppoe3 [/interface get pppoe-out3 running]
  4. :local pppoe4 [/interface get pppoe-out4 running]

  5. :if (!$pppoe1) do={
  6. :while ($pppoe1=no) do={
  7.   /interface disable pppoe-out2,pppoe-out3,pppoe-out4
  8.   :delay 5s ; :set pppoe1 [/interface get pppoe-out1 running]
  9. }
  10. /interface enable pppoe-out2,pppoe-out3,pppoe-out4 ; :delay 5s
  11. :set pppoe2 [/interface get pppoe-out2 running]
  12. :set pppoe3 [/interface get pppoe-out3 running]
  13. :set pppoe4 [/interface get pppoe-out4 running]
  14. }

  15. :if (!$pppoe2) do={
  16. :while ($pppoe2=no) do={
  17.   /interface disable pppoe-out1,pppoe-out3,pppoe-out4
  18.   :delay 5s ; :set pppoe2 [/interface get pppoe-out2 running]
  19. }
  20. /interface enable pppoe-out1,pppoe-out3,pppoe-out4 ; :delay 5s
  21. :set pppoe3 [/interface get pppoe-out3 running]
  22. :set pppoe4 [/interface get pppoe-out4 running]
  23. }

  24. :if (!$pppoe3) do={
  25. :while ($pppoe3=no) do={
  26.   /interface disable pppoe-out1,pppoe-out2,pppoe-out4
  27.   :delay 5s ; :set pppoe3 [/interface get pppoe-out3 running]
  28. }
  29. /interface enable pppoe-out1,pppoe-out2,pppoe-out4 ; :delay 5s
  30. :set pppoe4 [/interface get pppoe-out4 running]
  31. }

  32. :if (!$pppoe4) do={
  33. :while ($pppoe4=no) do={
  34.   /interface disable pppoe-out1,pppoe-out2,pppoe-out3
  35.   :delay 5s ; :set pppoe4 [/interface get pppoe-out4 running]
  36. }
  37. /interface enable pppoe-out1,pppoe-out2,pppoe-out3 ; :delay 5s
  38. }
复制代码


routeros
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1,渝公网安备 50011602500124号 )

GMT+8, 2023-2-1 19:42 , Processed in 0.086940 second(s), 16 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表