找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 12922|回复: 13

[负载平衡] PCC负载均衡,多线合并成功,带断线自动修改。

  [复制链接]
发表于 2012-3-15 06:33:17 | 显示全部楼层 |阅读模式

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

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

×
::::标记及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 [/interface pppoe-client find running=yes]]
:if ($x<$i) do={
: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-classifier=("both-addresses:"."$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-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。
routeros
发表于 2012-3-15 09:28:35 | 显示全部楼层
好像有了!~~
routeros
回复

使用道具 举报

发表于 2012-3-16 11:50:37 | 显示全部楼层
有了也收藏,谢谢!
routeros
回复

使用道具 举报

发表于 2012-3-16 14:39:46 | 显示全部楼层
学习了
routeros
回复

使用道具 举报

发表于 2012-3-17 09:30:28 | 显示全部楼层
学习了
routeros
回复

使用道具 举报

 楼主| 发表于 2012-3-18 20:33:22 | 显示全部楼层
本帖最后由 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 [/interface pppoe-client find running=yes]]
#设置变量X为运行中的pppoe客户端数量。len:数组;find:查找
:if ($x<$i) do={
#如果变量x<变量i,执行
:for ii from=1 to=$i do={
#循环执行变量ii从1到变量i的值。
:set status [/interface get [find name=("pppoe-out"."$ii")] running]
#设置变量ststus为pppoe-out1到变量ii,条件为运行。
:if ($status=true) do={
#如果成立,执行(执行到:set y ($y+1)})
/ip fir man set [find new-connection-mark=$ii] 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 [find new-connection-mark=$ii] disable=yes}}}
#关闭在ip-firewall-mangle里new-connection-mark=$ii
:if ($x=$i) do={
#如果变量x等于变量i,执行
:set z [:len [/ip fir man find action="mark-connection" disabled=yes chain=prerouting]]
#设置变量z为关闭的标记连接数量。
:if ($z>0) do={
#如果变量zd大于0,执行
:for ii from=1 to=$i do={
#循环执行变量ii从1到变量i的值。
/ip fir man set [find new-connection-mark=$ii] 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。

新手,自己注释,有错误的地方欢迎指出。

注意复制到网页自动换行了。

要自己修改为一行啊!

高手不是天生的,也是一点一点学习累积起来的。

点评

虽然我不能给你加铜板,但我可以给你掌声!  发表于 2013-1-28 12:03
routeros
回复

使用道具 举报

 楼主| 发表于 2012-3-18 20:57:40 | 显示全部楼层
网银就测试了建设银行。

可以登陆。
routeros
回复

使用道具 举报

发表于 2012-3-19 13:52:43 | 显示全部楼层
正想加多一条ADSL,到时试一下,感谢分享。
routeros
回复

使用道具 举报

发表于 2012-3-19 15:12:25 | 显示全部楼层
这个智能型属于,头次见到,支持下
routeros
回复

使用道具 举报

发表于 2012-3-19 17:04:53 | 显示全部楼层
                       谢谢分享
routeros
回复

使用道具 举报

发表于 2012-3-21 22:05:50 | 显示全部楼层
感谢分享
routeros
回复

使用道具 举报

发表于 2012-3-25 02:48:57 | 显示全部楼层
感谢分享
routeros
回复

使用道具 举报

发表于 2012-12-13 10:04:41 | 显示全部楼层
非常好用,谢谢
routeros
回复

使用道具 举报

发表于 2013-1-19 11:17:04 | 显示全部楼层
记号,需要的,正在研究ROS,小白水平。
routeros
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 01:21 , Processed in 0.158885 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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