ros 5 adsl 掉线需要修改pcc吗
发布网友
发布时间:2022-12-10 06:40
我来回答
共3个回答
热心网友
时间:2024-11-24 07:51
#===================================================================================
# 多线ADSL掉线自动修改PCC参数-脚本 V1.1b20111106 By 塔城陈强
#===================================================================================
# ROS版本 3.30
# 思路: 自动判断 ADSL 总线路数,自动判断 正常ADSL线路数
# 根据对比,如果正常线路数与总线路数不一致,则更改PCC参数,
# 如果 一致,则恢复原有的PCC参数。
# 对 ADSL线路 名称 没有特定要求。
# 对 Mangle 标记连接和标记路由 名称 没有特定要求。
# 要求:所有的ADSL线路都要做PCC
# 变量 pppoeclientAllNum ADSL 总线路数量
# 变量 pppoeclientRunNum 实际运行正常 的 ADSL 线路数量
# 变量 pppoeclientName 实际运行正常 的 ADSL 名
# 变量 z 线路正常后禁止掉的连接标记数。
{
:local pppoeclientAllNum
:local pppoeclientRunNum
:local pppoeclientName
:local z 0
#得到 ADSL 总线路数,包括禁用的,未拨号的。
:set pppoeclientAllNum [:len [/interface pppoe-client find ]]
:log info ("pppoeclientAllNum".$pppoeclientAllNum)
#得到 ADSL 正常线路数。
:set pppoeclientRunNum [:len [/interface pppoe-client find running=yes]]
:log info ("pppoeclientRunNum".$pppoeclientRunNum)
#正常线路数<总线路数
:if ($pppoeclientRunNum < $pppoeclientAllNum) do={
#用一个循环来修改PCC
:for ii from=0 to=($pppoeclientAllNum-1) do={
:log info ("ii".$ii)
#如果ii的值<=(正常线路数-1) (因为ii从0开始的),则修改PCC 连接标记及路由标记
:if ($ii<=($pppoeclientRunNum-1)) do={
#修改 PCC值
/ip firewall mangle set [find per-connection-classifier~("/".$ii."\$")] \
per-connection-classifier=("both-addresses:".$pppoeclientRunNum."/".$ii) \
comment=("PCC" . $pppoeclientRunNum . "-" . $ii) \
disable=no
#修改PCC路由标记
/ip firewall mangle set [find action="mark-routing" connection-mark=[/ip firewall mangle get [find per-connection-classifier~("/".$ii."\$")] new-connection-mark ]] disable=no
:log warning ("both-addresses:".$pppoeclientRunNum."/".$ii)
#如果ii的值>(正常线路数-1) (因为ii从0开始的),则把余下的 PCC 连接标记及路由标记 禁止掉。
} else={
/ip firewall mangle set [find per-connection-classifier~("/".$ii."\$")] disable=yes
/ip firewall mangle set [find action="mark-routing" connection-mark=[/ip firewall mangle get [find per-connection-classifier~("/".$ii."\$")] new-connection-mark ]] disable=yes
:log warning ("both-addresses:".$pppoeclientAllNum."/".$ii."disable")
}
}
}
#正常线路数=总线路数
:if ($pppoeclientRunNum = $pppoeclientAllNum) do={
#判断 禁止 的连接标记数,如果为0则为正常,如果不为0,则修改所有的PCC值。
:set z [:len [/ip firewall mangle find action="mark-connection" disabled=yes chain=prerouting]]
:if ($z>0) do={
#通过循环,把所有的PCC连接标记和路由标记全部修改。
:for ii from=0 to=($pppoeclientRunNum-1) do={
#修改 PCC值
/ip firewall mangle set [find per-connection-classifier~("/".$ii."\$")] per-connection-classifier=("both-addresses:".$pppoeclientRunNum."/".$ii) comment=("PCC" . $pppoeclientRunNum . "-" . $ii) disable=no
#修改PCC路由标记
/ip firewall mangle set [find action="mark-routing" connection-mark=[/ip firewall mangle get [find per-connection-classifier~("/".$ii."\$")] new-connection-mark ]] disable=no
:log warning ("both-addresses:".$pppoeclientRunNum."/".$ii)
}
}
}
转载,仅供参考。
热心网友
时间:2024-11-24 07:51
出口要掉线还是内网要掉线?
热心网友
时间:2024-11-24 07:52
pcc啥啊巴巴爸爸巴巴爸爸吧,牛*吗