PCC负载均衡,多线合并成功,带断线自动修改。
::::标记及PCC/ip firewall mangle
add action=change-mss chain=forward comment="" disabled=no new-mss=1400 protocol=tcp tcp-flags=syn
:for i from=1 to=4 do= {/ip firewall mangle add action=mark-connection chain=input comment="" disabled=no in-interface=("pppoe-out".$i) new-connection-mark=("in".$i) passthrough=yes}
:for i from=1 to=4 do= {/ip firewall mangle add action=mark-routing chain=output comment="" connection-mark=("in".$i) disabled=no new-routing-mark=("to".$i) passthrough=yes}
:for i from=1 to=4 do= {/ip firewall mangle add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local new-connection-mark=($i) passthrough=yes per-connection-classifier=("both-addresses:4/".($i-1)) src-address=192.168.1.0/24}
:for i from=1 to=4 do= {/ip firewall mangle add action=mark-routing chain=prerouting comment=($i) connection-mark=("in".$i) disabled=no new-routing-mark=("to".$i) passthrough=yes src-address=192.168.1.0/24}
:::添加路由表
:for i from=1 to=4 do= {/ip route add comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=("pppoe-out".$i) routing-mark=("to".$i)}
:for i from=1 to=4 do= {/ip firewall nat add action=masquerade chain=srcnat comment="" disabled=no out-interface=("pppoe-out".$i)}
PPC断线自动修改脚本
1分钟运行一次。
复制到system—schduler
{
:local status
:local i "4"
:local x "0"
:local y "0"
:local z "0"
:set x [:len ]
:if ($x<$i) do={
:for ii from=1 to=$i do={
:set status running]
:if ($status=true) do={
/ip fir man set per-connection-classifier=("both-addresses:"."$x"."/"."$y") disable=no;:set y ($y+1)} else={
/ip fir man set disable=yes}}}
:if ($x=$i) do={
:set z [:len ]
:if ($z>0) do={
:for ii from=1 to=$i do={
/ip fi man set per-connection-classifier=("both-addresses:"."$i"."/"."$y") disable=no;:set y ($y+1)}}}}
##说明:from=1 to=4(pppoe1到4,就是4线pppoe),:local i "4" (4线),根据自己实际修改。
192.168.1.0/24根据实际修改(内网IP地址段)
pppoe客户端名称,请按照pppoe-out1、pppoe-out2、pppoe-out3、pppoe-out4命名
参照别人的修改而成。
断线脚本非自己原创。
使用时注意是否和你原来的系统有冲突(包括名称重名、标记重名等)
在3线4M的ADSL测试,单机迅雷下载1.2m/s。 好像有了!~~ 有了也收藏,谢谢!:D 学习了:):) 学习了:lol 本帖最后由 fandl 于 2012-3-18 20:39 编辑
PCC断线脚本,带注释
{
:local status
#local(本地变量)status
:local i "4"
#定义本地变量i=4
:local x "0"
#定义本地变量x=0
:local y "0"
#定义本地变量y=0
:local z "0"
#定义本地变量z=0
:set x [:len ]
#设置变量X为运行中的pppoe客户端数量。len:数组;find:查找
:if ($x<$i) do={
#如果变量x<变量i,执行
:for ii from=1 to=$i do={
#循环执行变量ii从1到变量i的值。
:set status running]
#设置变量ststus为pppoe-out1到变量ii,条件为运行。
:if ($status=true) do={
#如果成立,执行(执行到:set y ($y+1)})
/ip fir man set per-connection-classifier=("both-addresses:"."$x"."/"."$y") disable=no;:set y ($y+1)} else={
#修改PCC参数。在ip-firewall-mangle里设置:new-connection-mark=$ii;per-connection-classifier=("both-addresses:"."$x"."/"."$y") disable=no
#设置变量y为y+1。
#否则执行
/ip fir man set disable=yes}}}
#关闭在ip-firewall-mangle里new-connection-mark=$ii
:if ($x=$i) do={
#如果变量x等于变量i,执行
:set z [:len ]
#设置变量z为关闭的标记连接数量。
:if ($z>0) do={
#如果变量zd大于0,执行
:for ii from=1 to=$i do={
#循环执行变量ii从1到变量i的值。
/ip fir man set per-connection-classifier=("both-addresses:"."$i"."/"."$y") disable=no;:set y ($y+1)}}}}
#修改PCC参数。在ip-firewall-mangle里设置:new-connection-mark=$ii;per-connection-classifier=("both-addresses:"."$x"."/"."$y") disable=no
#设置变量y为y+1。
新手,自己注释,有错误的地方欢迎指出。
注意复制到网页自动换行了。
要自己修改为一行啊!
高手不是天生的,也是一点一点学习累积起来的。 网银就测试了建设银行。
可以登陆。 正想加多一条ADSL,到时试一下,感谢分享。 这个智能型属于,头次见到,支持下:lol 谢谢分享 感谢分享:( 感谢分享:handshake 非常好用,谢谢 记号,需要的,正在研究ROS,小白水平。
页:
[1]