找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5800|回复: 6

[策略设置] 请高手将 多线ADSL拨出动态IP自动负载均衡脚本 修改成为3.X版本的

[复制链接]
发表于 2009-2-13 12:04:39 | 显示全部楼层 |阅读模式

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

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

×
请高手将 多线ADSL拨出动态IP自动负载均衡脚本 修改成为3.X版本的,同时希望能够支持ADSL同网关情况的

#本地变量,GW:网关变量, JS:计数器
:local gw ""
:local js 0
#执行循环,对每一个未激活(未拨号或禁用)PPPOE-CLIENT连接
:foreach k in=[/inter pppoe-c find running=false] do={
#查找连接的名字到n
:set n [/inter pppoe-c get $k name]
#取得这个连接的静态IP地址,因为自动得到的是动态IP,所以静态的肯定是脚本加的
:set ipi [/ip addr find interface=$n dynamic=false]
#如果找到了,删掉它
:if ($ipi != "") do={/ip addr remove $ipi}
}

#下去循环每个激活的连接
:foreach k in=[/inter pppoe-c find running=true] do={
#得到接口名字
:set n [/inter pppoe-c get $k name]
#查找接口动态得到的IP
:set dip [/ip address get [find interface=$n dynamic=true] address]
#因为得到的是#.#.#.#/##格式,所以取"/"前面部分为动态IP
:set diip [:pick $dip 0 [:find $dip /]]
#将动态IP加入到网关串中,JS决定是不是加入间隔的逗号
:if ($js=0) do={:set gw $diip} else={:set gw ($gw . "," . $diip)}
:set js ($js+1)
#查找接口的静态IP
:set ipi [/ip addr find interface=$n dynamic=false]
#如果没有静态IP,那么设一个
:if ($ipi="") do={/ip addr add address=$diip netmask=255.255.255.255 network=$diip broadcast=$diip interface=$n} else={
#已经有了,取得静态IP
:set sip [/ip addr get $ipi address]
#求静态IP
:set siip [:pick $sip 0 [:find $sip /]]
#检查是否正确,如不正确,则更新一下。正确不需要重设。
:if ($diip != $siip) do={
/ip addr set $ipi addr=$diip netmask=255.255.255.255 network=$diip broadcast=$diip
}
}
}

#查找标记为"ecmp"的默认网关
:set i [/ip route find comm=ecmp]
#如果GW网关为空,即没有拨号成功的连接,则删除ECMP网关(如果有的话)
:if ($gw = "") do={:if ($i != "") do={/ip route remove $i}} else={
#没有ECMP网关,加一个新的
:if ($i="") do={/ip route add gateway $gw comment=ecmp} else={
#如果有ECMP网关,则取得现在设置
:set ogw [/ip route get $i gateway]
#如果不相同就更新一下
:if ($ogw != $gw) do={/ip route set $i gateway $gw}

}
}
routeros
发表于 2009-2-13 22:04:31 | 显示全部楼层
本帖最后由 wwjun 于 2009-2-13 22:18 编辑

在网关处用gateway interface直接指定接口就可以了。这样的问题以后应该不会再有人问了吧?
脚本对ROS负载均衡已无多大意义。
routeros
回复

使用道具 举报

发表于 2009-2-14 10:49:19 | 显示全部楼层
现在有新办法可以做啦。
routeros
回复

使用道具 举报

发表于 2009-2-14 12:05:42 | 显示全部楼层
3.x下用基于端口的负载均衡就行了,不需要如此繁琐了
routeros
回复

使用道具 举报

发表于 2009-2-14 14:02:03 | 显示全部楼层
2.9.27也不用了
routeros
回复

使用道具 举报

 楼主| 发表于 2009-2-14 17:51:07 | 显示全部楼层
有新方法新思路要共享出来啊,小第不懂,但大家也要指点以下
routeros
回复

使用道具 举报

发表于 2009-2-17 12:16:47 | 显示全部楼层
我是来拿金币的
routeros
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-30 03:23 , Processed in 0.051867 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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