自由的生活_软路由论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 743|回复: 4

[脚本] ROS固定IP如何更改PCC参数

[复制链接]
发表于 2021-8-28 21:42:21 | 显示全部楼层 |阅读模式

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

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

x
我的测试ROS双线固定IP拨外线,内网DHCP,由于外网双线固定IP是同网关,路由设置如下图所示,当其中一条外线不通,WAN状态始终为running,网上有很多关于外线ADSL断线自动修改PCC参数的例子,没有找到像我这种固定IP断线修改PCC参数的例子,望大神指教.

QQ图片20210828213552.png
routeros
发表于 2021-8-29 01:28:45 | 显示全部楼层
本帖最后由 cspm333 于 2021-8-29 01:33 编辑

您一開始方向就錯了吧,您怎把pppoe那套拿來當固定ip用?
除非您兩個固定ip的gateway不同,不然是不需要設標記耶。

1.兩個固定ip的gateway相同,那極有可能都是接同台數據機,
您怎不這樣設?
2021-08-29 00-53-06 的螢幕擷圖.png

2.如果是用步驟1的方式,那gateway就只有一個ip,
不用分wan1與wan2了。
2021-08-29 01-06-47 的螢幕擷圖.png

3.使用固定ip連線出去,使用那個ip是在nat決定,不是在route。
所以要這樣設:
2021-08-29 01-13-55 的螢幕擷圖.png

2021-08-29 01-15-15 的螢幕擷圖.png
完成後192.168.32.0/25的裝置都會使用固定ip(61.220.223.247)出去。

4.因您要使用pcc,所以還要複製步驟3設定再新增一個,
只是這次要改為另一個固定ip(61.220.223.248)。

5.修改步驟3和步驟4,把pcc的參數加進去。
步驟3添加per-connection-classifier=both-addresses-and-ports:2/0
步驟4添加per-connection-classifier=both-addresses-and-ports:2/1

6.結束。

routeros
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-8-29 10:11:15 | 显示全部楼层
感谢大神提供了另外一种同网关负载匀衡的方法,两个出口负载匀衡,您介绍的方法和我现在使用的方法都可以实现,关键是两条固定IP有一条不通的时候,如何用脚本来判断去修改PCC参数,原来的ADSL断线自动更改PCC的参数的脚本如下:判断WAN口是通还是不通,是不是用ping DNS服务器IP来实现(我把WAN1口网线从上级网关上拔下来,插到一个空的交换机上,WAN1状态无论在/interface ,/ip address,/ip  route 中匀显示正常)?

以下ADSL断线自动修改PCC参数脚本加了判断条件,只有符合条件时才修改参数,而不是每次运行就修改,减少了CPU的消耗
{
:local status
:local i "3"
:local x "0"
:local y "0"
:local z "0"
:set x [:len [/interface pppoe-client find running=yes (name~"^tel")=yes]]
:set z [:len [/ip fir nat find action="src-nat" disabled=no chain=srcnat (comment~"^tel")=yes]]
:if ((($x<$i) && ($x<$z)) || (($x<$i) && ($x>$z))) do={
:for ii from=1 to=$i do={
:set status [/interface get [find name=("tel-".$ii)] running]
:if ($status=true) do={
/ip fir man set [find comment=("tel-".$ii)] per-connection-classifier=("both-addresses-and-ports:".$x."/".$y) disable=no;:set y ($y+1);/ip fir man set [find comment=("tel-".$ii$ii)] disable=no;/ip fir man set [find comment=("tel-"."$ii$ii$ii")] disable=no;/ip fir nat set [find comment=("tel-".$ii)] disable=no} else={
/ip fir man set [find comment=("tel-".$ii)] disable=yes;/ip fir man set [find comment=("tel-"."$ii$ii$ii")] disable=yes;/ip fir nat set [find comment=("tel-".$ii$ii)] disable=yes}}}
:if (($x=$i) && ($x>$z)) do={
:for ii from=1 to=$i do={
/ip fi man set [find comment=("tel-".$ii)] per-connection-classifier=("both-addresses-and-ports:".$x."/".$y) disable=no;:set y ($y+1);/ip fi man set [find comment=("tel-".$ii$ii)] disable=no;/ip fir man set [find comment=("tel-"."$ii$ii$ii")] disable=no;/ip fir nat set [find comment=("tel-".$ii)] disable=no}}}
}
routeros
发表于 2021-8-29 23:26:36 | 显示全部楼层
在ping的时候指定源IP试试。如果随便用哪个IP都通,那么你这个pcc调与不调整有何区别?

你这是同一线,同一vlan,分配给你2个IP?然后带宽各自独立?
routeros
 楼主| 发表于 2021-8-30 09:59:04 | 显示全部楼层
colinhd8 发表于 2021-8-29 23:26
在ping的时候指定源IP试试。如果随便用哪个IP都通,那么你这个pcc调与不调整有何区别?

你这是同一线,同 ...

可以指定用哪个出口PING,例:/ping www.baidu.com count=3 interface="WAN1",但是如何使用判断语句,暂时还没有想好,也就是每个出口可以ping通DNS为1,ping不通为0,这样可以统计两个出口通断数,在与后面的NAT数进行比较判断.测试环境下,固定IP,同网关,现实环境中也会有这种情况.
routeros
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2021-10-25 18:33 , Processed in 0.064214 second(s), 17 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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