双线adsl负载均衡配置过程

先来看看配置之后的效果图
attachimg.gif 1.jpg

以下是详细配置过程:
1 标记连接和路由
配置mangle后的效果图
attachimg.gif mangle.jpg
以下是详细配置过程
attachimg.gif mark_conection_1_general.gifattachimg.gif mark_conection_1_extra.gifattachimg.gif mark_conection_1_action.gif
下载 (10.43 KB)
2007-10-22 10:44

attachimg.gif mark_routing_1_general.gifattachimg.gif mark_routing_1_action.gif
下载 (10.37 KB)
2007-10-22 10:44

attachimg.gif mark_conection_2_general.gifattachimg.gif mark_conection_2_extra.gifattachimg.gif mark_conection_2_action.gif
下载 (10.4 KB)
2007-10-22 10:44

attachimg.gif mark_routing_2_general.gifattachimg.gif mark_routing_2_action.gif
下载 (10.27 KB)
2007-10-22 10:44


2 配置网关(此步之前需要先配置好pppoe,配置过程请到论坛上找)
由下图可知,我加了2条规则,分别对应两个pppoe获得的地址,特点是address=network=broadcast。
这样做的目的是让ros能够根据这里所设的网关分别路由。
注意comment中的1和2,再运行脚本时要用到。
attachimg.gif address.jpg

3 配置srcnat(ip伪装)
总配置效果图,注意comment的设置,在运行脚本时要用到
attachimg.gif nat.jpg
配置截图:
attachimg.gif nat1_general.jpgattachimg.gif nat1_action.jpg
下载 (25.78 KB)
2007-10-22 10:44

attachimg.gif nat2_general.jpgattachimg.gif nat2_action.jpg
下载 (25.8 KB)
2007-10-22 10:44


4 配置路由
总配置效果图,注意comment的设置,在运行脚本时要用到
可以看到,我在路由表中加入了3条规则,前两条分别对应于在mangle中设置的两个路由标记
另外一条没有路由标记,官方解释说是用于路由被标记之外的ros本身的包,具体什么意思我也没有彻底明白
attachimg.gif route

5 加入防adsl掉线脚本

:local assign-address
:local new-address
:local status
:local x
:set x 2
:for i from=1 to=$x do={
    :set status [/interface get [/interface find  name=("pppoe-out" . $i)] running]
    :if ($status=true) do={
     :set new-address [/ip address get [/ip address find dynamic=yes interface=("pppoe-out" . $i)] address]
     :set new-address [:pick $new-address 0 ([:len $new-address] -3)]
     :set assign-address [/ip address get [/ip address find dynamic=no interface=("pppoe-out" . $i)] address]
     :set assign-address [:pick $assign-address 0 ([:len $assign-address] -3)]
        :if ($assign-address != $new-address) do={ /ip address set [/ip address find comment=$i] address=$new-address network=$new-address broadcast=$new-address
        /ip route set [/ip route find comment=$i] gateway=$new-address
        /ip fir nat set [/ip fir nat find comment=$i] to-addresses=$new-address
        /ip route set [/ip route find comment=$i] gateway=$new-address
       }
   }
}

配置截图:
attachimg.gif script.gif
下载 (20 KB)
2007-10-22 10:44


再到system->scheduler中加入一条
attachimg.gif schedule.gif

至此,双线adsl的配置就大功告成了!
参考官方配置:http://wiki.mikrotik.com/wiki/Improved_Load_Balancing_over_Multiple_Gateways
官方配置中的两条外网网关是不同的,而我们配置的adsl的网关是相同的,这就是为什么在第二步中要加入两条以pppoe地址为网关的规则的原因。
负载均衡运行效果很好,没有qq,网游掉线的问题,可以放心使用!我在routeclub上没有看到过完整的关于负载均衡的配置说明,所以自己做了一份。
为了把负载均衡弄出来花掉了我大量的时间和精力,搞出来实在不容易!以前也去请教过某些高人,都说什么商业应用,不便透漏,一点提示也不肯给,未免小气了一点--!
目前我只尝试了2条ad负载均衡,不知道3条,4条是不是可以直接按照2条的思路去扩展,哪位仁兄做出来了希望给点思路,谢谢!