ROS 典型PCC负载脚本_ros各种脚本

其他范文 时间:2020-02-26 22:49:02 收藏本文下载本文
【www.daodoc.com - 其他范文】

ROS 典型PCC负载脚本由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“ros各种脚本”。

ROS 典型PCC负载脚本

:global num

:set num 38

:for szwm from=1 to=$num do={ :global type

:set type(“both-addrees:”.$num.“/”.($szwm-1))#设置网卡名字 name中的wlan可以改成#/interface set(“ether”.$szwm)name=(“wlan”.$szwm)#建立pppoe拨号,并禁用

/interface pppoe-client add name=(“pppoe-out”.$szwm)user=(“user”.$szwm)paword=(“pa”.$szwm)

interface=(“wlan”.$szwm)comment=(“ADSL_”.$szwm)disabled=no # NAT伪装

/ip firewall nat add chain=srcnat out-interface=(“pppoe-out”.$szwm)action=masquerade comment=(“NAT_ADSL”.$szwm)# 标记从哪里来

/ ip firewall mangle

add chain=input in-interface=(“pppoe-out”.$szwm)action=mark-connection new-connection-mark=(“adsl”.$szwm.“_conn”)pathrough=yes comment=(“From_ADSL”.$szwm)#标记从哪里来,回哪里去

/ ip firewall mangle add chain=output connection-mark=(“adsl”.$szwm.“_conn”)

action=mark-routing new-routing-mark=(“to_adsl”.$szwm)pathrough=yes comment=(“To_ADSL”.$szwm)#PCC设置

/ip firewall mangle add chain=prerouting action=mark-connection new-connection-mark=(“adsl”.$szwm.“_conn”)dst-addre-type=!local in-interface=Local per-connection-claifier=$type pathrough=yes comment=(“ADSL_PCC”.$szwm)#标记路由

/ip firewall mangle add chain=prerouting connection-mark=(“adsl”.$szwm.“_conn”)in-interface=Local action=mark-routing new-routing-mark=(“to_adsl”.$szwm)comment=(“Route_To_ADSL”.$szwm)#添加路由 /ip route add dst-addre=0.0.0.0/0 gateway=(“pppoe-out”.$szwm)routing-mark=(“to_adsl”.$szwm)check-gateway=ping comment=(“To_ADSL”.$szwm)

add dst-addre=0.0.0.0/0 gateway=(“pppoe-out”.$szwm)distance=$szwm check-gateway=ping comment=(“ECMP_”.$szwm)

}

配合这个掉线后自动修改脚本很好用

以4线为例,其中某条线路断了后,会自动判断剩余可用的线路数量然后修改PCC规则的参数,线路恢复正常后会自动把参数修改回正常状态,注意连接标记名称一定要以纯数字“1、2、3、4...”来命名。一般该脚本设置30秒间隔就比较合适。#pcc掉线后自动修改参数脚本 {

:local status :local i “4” :local x “0” :local y “0” :local z “0”

:set x [:len [/interface pppoe-client find running=yes]] :if($x

:for ii from=1 to=$i do={

:set status [/interface get [find name=(“pppoe-out”.$ii)] running] :if($status=true)do={

/ip fir man set [find new-connection-mark=$ii] per-connection-claifier=(“both-addrees:”.$x.“/”.$y)disable=no;:set y($y+1)} else={

/ip fir man set [find new-connection-mark=$ii] disable=yes}}} :if($x=$i)do={

:set z [:len [/ip fir man find action=“mark-connection” disabled=yes chain=prerouting]]

:if($z>0)do={

:for ii from=1 to=$i do={

/ip fi man set [find new-connection-mark=$ii] per-connection-claifier=(“both-addrees:”.$x.“/”.$y)disable=no;:set y($y+1)}}}}

以上是PPPOE环境下的,下面的这个是固定IP相同网关的环境,2条线

/ip addre

add addre=192.168.1.1/24 comment=“shan” disabled=no interface=lan network=192.168.1.0

add addre=10.10.10.10/32 disabled=no interface=wan1

add addre=20.20.20.20/32 disabled=no interface=wan2

/ip firewall mangle add action=accept chain=prerouting disabled=no dst-addre=10.10.10.10 in-interface=wan1

add action=accept chain=prerouting disabled=no dst-addre=20.20.20.20 in-interface=wan2

add action=mark-connection chain=input comment=

“C2B7D3C9D4ADC2B7B7B5BBD8B2DFC2D4” disabled=no in-interface=wan1 new-connection-mark=wan1_conn pathrough=yes

add action=mark-routing chain=output connection-mark=wan1_conn disabled=no new-routing-mark=wan1_rout pathrough=yes

add action=mark-connection chain=input disabled=no in-interface=wan2 new-connection-mark=wan2_conn pathrough=yes

add action=mark-routing chain=output connection-mark=wan2_conn disabled=no new-routing-mark=wan2_rout pathrough=yes

add action=mark-connection chain=prerouting comment=wan1 disabled=no

dst-addre-type=!local new-connection-mark=wan1_conn pathrough=yes per-connection-claifier=both-addrees:2/0 src-addre-list=192.168.1.0/24

add action=mark-routing chain=prerouting connection-mark=wan1_conn disabled= no new-routing-mark=wan1_rout pathrough=yes src-addre-list=192.168.1.0/24

add action=mark-connection chain=prerouting comment=wan2 disabled=no

dst-addre-type=!local new-connection-mark=wan2_conn pathrough=yes per-connection-claifier=both-addrees:2/1 src-addre-list=192.168.1.0/24

add action=mark-routing chain=prerouting connection-mark=wan2_conn disabled= no new-routing-mark=wan2_rout pathrough=yes src-addre-list=192.168.1.0/24

add action=change-m chain=forward comment=

“============D0DEB8C4MMS=============shan” disabled=yes new-m=1440 pathrough=yes protocol=tcp tcp-flags=syn

/ip firewall nat

add action=src-nat chain=srcnat comment=“wan1BFDANat” disabled=no

out-interface=wan1 src-addre-list=192.168.1.0/24 to-addrees=10.10.10.10 add action=src-nat chain=srcnat comment=“wan2BFDANat” disabled=no

out-interface=wan2 src-addre-list=192.168.1.0/24 to-addrees=20.20.20.20 add action=masquerade chain=srcnat comment=“shan” disabled=no src-addre-list=192.168.1.0/24 to-addrees=0.0.0.0

/ip route

add disabled=no distance=1 dst-addre=0.0.0.0/0 gateway=1.1.1.1%wan1 routing-mark=wan1_rout scope=30 target-scope=10 add disabled=no distance=1 dst-addre=0.0.0.0/0 gateway=1.1.1.1%wan2 routing-mark=wan2_rout scope=30 target-scope=10

add disabled=no distance=1 dst-addre=0.0.0.0/0 gateway=1.1.1.1%wan1 scope=255 target-scope=10

add disabled=no distance=2 dst-addre=0.0.0.0/0 gateway=1.1.1.1%wan2 scope=255 target-scope=10

add comment=“shan” disabled=yes distance=1 dst-addre=0.0.0.0/0 gateway=192.168.1.1 scope=30 target-scope=10

这上5.x的双线同网关固定IP的pcc脚本,lan为局域网口,wan1和wan2为两个外网口。把1.1.1.1改成网关,10.10.10.10改成外网1IP,20.20.20.20改成外网2IP,192.168.1.1为局域网,看着改成自已的ip就行了

批量设置脚本 设置VLAN命令

:for i from=2 to=25 do= {/interface vlan add name=(“VLAN”.$i)vlan-id=$i interface=WAN} 设置桥用于拔号

:for i from=2 to=25 do= {/interface bridge add name=(“bridge”.$i)auto-mac=no admin-mac=(“AA:AB:AC:AD:AE:”.($i+10))} 把VLAN加入到桥

:for i from=2 to=25 do= {/interface bridge port add interface=(“VLAN”.$i)bridge=(“bridge”.$i)} 设置PPP拔号

:for i from=2 to=25 do= {/interface pppoe-client add name=(“pppoe-out”.$i)user=(“user”)paword=(“pawd”)interface=(“bridge”.$i)} 这些我都都做好了,那现在开始进行对线路进行标记与PCC设置 标记从哪条线路进就从哪条线路出

:for i from=1 to=192 do= {

/ip firewall mangle

add chain=input action=mark-connection new-connection-mark=(“input”.$i)in-interface=(“pppoe-out”.$i)comment=(“Input”.$i)

add chain=output connection-mark=(“input”.$i)action=mark-routing new-routing-mark=(“route”.$i)} 从哪进从哪出我们已经做好,现在设置PCC 这里由于有些LAN拔号也设了VLAN的,我们进行可移植的统一配置

/ip firewall addre-list add addre=1.2.3.4/24 disabled=no list=mark_route :for i from=2 to=25 do= {

/ip firewall mangle

add chain=prerouting src-addre-list=mark_route action=mark-connection comment=(“Route”.$i)

new-connection-mark=(“conn”.$i)per-connection-claifier=(“both-addrees-and-ports:24/”.($i-2))

add chain=prerouting src-addre-list=mark_route action=mark-routing new-routing-mark=(“route”.$i)connection-mark=(“conn”.$i)}

好了,PCC我们也已经设置好了

现在我们设置PCC的路由与标记的路由

:for i from=1 to=192 do= {/ip route add dst-addre=0.0.0.0/0 gateway=(“pppoe-out”.$i)routing-mark=(“route”.$i)}

另外一个带VRRP的脚本

:do { #adsl线路数 :local adsl 4 #负载的内网地址列表 :local lanlis lanlist #外网卡名称 :local ether ether2 #NAT的源地址段

:local lanip 172.168.1.0/24 /interface vrrp :for a from=1 to=$adsl do={ add name=(“adsl-“.$a)interface=$ether vrid=$a preemption-mode=no disabled=no} /ip addre add addre=11.11.11.11/28 interface=$ether disabled=no :for a from=1 to=$adsl do={ add addre=(“10.10.”.$a.”.1/28”)interface=(“adsl-“.$a)disabled=no} /interface pppoe-client :for a from=1 to=$adsl do= { add add-default-route=no dial-on-demand=no use-peer-dns=no name=(“pppoe-out”.$a)user=(“q”.$a)paword=$a interface=(“adsl-“.$a)} /ip firewall mangle :for a from=1 to=$adsl do={ add action=mark-connection chain=prerouting dst-addre-type=!local src-addre-list=$lanlis pathrough=yes new-connection-mark=(”c-“.($adsl-($a-1)))per-connection-claifier=(”both-addrees:”.($adsl-($a-1)).”/“.0)comment=(”pcc-“.($adsl-($a-1)))add action=mark-routing chain=prerouting src-addre-list=$lanlis pathrough=no connection-mark=(”c-“.($adsl-($a-1)))new-routing-mark=(”r-“.($adsl-($a-1)))} /ip firewall mangle :for a from=1 to=$adsl do={ add chain=input action=mark-connection new-connection-mark=(”c-“.($adsl-($a-1)))in-interface=(”pppoe-out“.($adsl-($a-1)))comment=(”in-out-“.($adsl-($a-1)))add chain=output connection-mark=(”c-“.($adsl-($a-1)))action=mark-routing new-routing-mark=(”r-“.($adsl-($a-1)))pathrough=no} /ip firewall nat :for a from=1 to=$adsl do={ add action=masquerade chain=srcnat out-interface=(”pppoe-out“.$a)src-addre=$lanip disabled=no comment=$a} /ip route :for a from=1 to=$adsl do= { add check-gateway=ping gateway=(”pppoe-out“.$a)routing-mark=(”r-“.$a)comment=(”r-".$a)add check-gateway=ping distance=$a gateway=(“pppoe-out”.$a)}}

下载ROS 典型PCC负载脚本word格式文档
下载ROS 典型PCC负载脚本.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文