lam_109 发表于 2009-3-4 21:33:20

好文章啊,顶.

3148715 发表于 2009-3-6 03:47:51

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶......nnnn

xnsxcoolczh 发表于 2009-3-6 21:56:37

值得学习,知道为什么要标记了

clair008 发表于 2009-3-15 20:27:33

好文章,谢谢,学习。

clair008 发表于 2009-3-15 22:02:12

研究了一下,“您有2个以上的网关”。这是什么意思?

是要有两条入户宽带线吗?

重复拨号不行吗?

politank 发表于 2009-3-18 00:04:37

好东西学习了

kroudy1 发表于 2009-3-22 00:38:48

顶你。。。辛苦了。。。。。。。。。

tjwh007 发表于 2009-3-24 15:11:02

谢谢LZ..........

qyii 发表于 2009-3-25 19:22:30

回帖是种美德

fanxk 发表于 2009-6-1 23:23:12

图文的,初学者好用,不过我觉得还是代码好用点

fanxk 发表于 2009-6-1 23:27:06

本帖最后由 fanxk 于 2009-6-1 23:29 编辑

转 此文来自网上,没有修改也没有验证 查看文章   
xADSL+RANDOM负载均衡 完美自适应2009-03-17 15:32软件环境:routeros 2.9.27

功能:实现不同带宽多条ADSL的负载均衡和会聚

第一步, 在/interface里新建好PPPOE client填好ADSL用户名和密码,在原来的name前面加上此条的带宽,
如:2mpppoe-out1,4mpppoe-out2,6mpppoe-out6,不要修改name的其它地方.在不要有多余的PPPOE client,
不要勾ADD default route(默认是勾的),清空ROUTES表NAT表和MANGLE表(自己要加的脚本运行完了再加)



第二步, 全自动配置   请修改内网段,默认为 10.10.10.0/24
脚本复制到WINBOX的New Terminal终端粘贴即可(不包括分隔线).

---------------------------------分隔线------------------------------------------------
:local dd "10.10.10.0/24"
:local x [:len ]
:local xx
:local b 1
/ip fir nat add chain=srcnat src-address=$dd action=masquerade \
    comment="all" disabled=yes
/ ip fir man add chain=prerouting src-address=$dd protocol=tcp dst-port=443 \
    acti=mark-routing new-routing-mark=r1 passthrough=yes comment="443port"
:foreach a in= do={
/int set $a com=$b
:set b ($b+1) }
:for i from=1 to=$x do={
:set xx ($i . "." . $i . "." . $i . "." . $i)
/ ip ad add add=($xx . "/32") netw=$xx broa=$xx \
    inte=( name]) com=$i
/ ip fir man add chain=prerouting src-address=$dd connection-state=new \
    action=mark-connec new-connection-mark=("c" . $i) com=("con" . $i)
/ ip fir man add chain=prerouting src-address=$dd connection-mark=("c" . $i) \
    action=mark-rout new-routing-mark=("r" . $i) passthrough=no com=("rou" . $i)
/ ip ro add dst-add=0.0.0.0/0 gatew=$xx routing-m=("r" . $i) com=$i check=ping
/ ip fir nat add chain=srcnat src-address=$dd com=$i action=src-nat \
    connection-m=("c" . $i) to-address=$xx to-ports=0-65535 }
/ip fir man add chain=forward protocol=tcp tcp-flags=syn \
    action=change-mss new-mss=1400 comment="ChangMSS1400"
/ ip ro add dst-add=0.0.0.0/0 gatew=1.1.1.1 com=($x+1) check=ping


=================================分隔线==============================================


第三步,创建自适应脚本 将脚本复制到WINBOX的New Terminal终端粘贴即可(不包括分隔线)

----------------------------------分隔线----------------------------------------------
/ system scheduler
add name="Xadsl" start-time=00:00:00 interval=20s on-event={
:global x [:len ]
:local nad
:local oad
:local face
:local am 0
:local cc 0
:local rm
:local disx
:local ll [:len ]
:local pt
:local pf
:for i from=1 to=$x do={
:if ( running] =true) do={
   :set face name]
   :set nad add]
   :set nad [:pick $nad 0 [:find $nad "/"]]
   :set oad addr]
   :set oad [:pick $oad 0 [:find $oad "/"]]
   :if ($oad != $nad) do={
   /ip ad set addr=$nad netw=$nad broa=$nad
   /ip route set gateway=$nad
   /ip fi nat set to-address=$nad
   } } }
:if ($ll>=2) do={
:foreach i in= do={   
   :set am ($am+([:pick () 0 1 ])) }
:for i from=1 to=($ll -1) do={
   :set rm [:pick ( name]) 0 1 ]
   :set rm (($rm * 1000) / $am)
   :if ([:pick $rm 2 3] >5) do={ :set rm ($rm+10) }
   :set rm ($rm /10)
   /ip fi man set random=$rm
   :set am ($am -([:pick ( name]) 0 1])) }
/ip fi ma unset random
:if ( disa] =no) do={
   /ip fi na set disa=yes }
:if ( disa] =true) do={
   :for i from=1 to=$ll do={
   /ip fi ma set disa=no
   /ip fi ma set disa=no } }
:if ( disa] =no) do={
   :for i from=1 to=($x - $ll) do={
   /ip fi ma set disa=yes
   /ip fi ma set disa=yes } }
:for i from=1 to=($x - $ll) do={
/ip fir nat set [/ip fir nat find com=[/int get \
      [:pick $pf ($i -1) $i] com]] disa=yes
/ip rou set [/ip rou find com=[/int get \
      [:pick $pf ($i -1) $i] com]] disa=yes }
:for i from=1 to=$x do={
:set cc ($cc +[:len routing-m]]) }
:set disx [:len ]
:if (($disx !=($x - $ll))||($cc != ($ll*2))) do={
:for i from=1 to=$ll do={
    /ip fi na set [/ip fi na fi com=[/int get \
       [:pick $pt ($i -1) $i] com]] disa=no
    /ip fi na set [/ip fir nat find com=[/int get \
       [:pick $pt ($i -1) $i] com]] connection-mark=("c" . $i)
    /ip ro set [/ip ro find com=[/int get \
       [:pick $pt ($i -1) $i] com]] disa=no
    /ip ro set [/ip ro fi com=[/int get \
       [:pick $pt ($i -1) $i] com]] routing-mark=("r" . $i) }}
:for i from=1 to=($x - $ll) do={
   /ip fi na unset [/ip fi na fi com=[/int get \
       [:pick $pf ($i -1) $i] com]] connection-mark
   /ip ro unset [/ip ro fi com=[/int get \
       [:pick $pf ($i -1) $i] com]] routing-m }
}
:set disx [:len ]
:if ($ll=1) do={
:if ( disa] =yes) do={
   /ip fi na set disa=no }
:if ($disx != $x) do={
   :for i from=1 to=$x do={
    /ip fi na set disa=yes
    /ip ro set disa=yes
    /ip ro unset routing-mark } }
}
:delay 2s
:if ( active] != true) do={
    :set nad [/ip add get [/int get [/int fi runn=true \
         type=pppoe-out] comm] netw]
    /ip ro set gatew=$nad }
}

夏月轻雷 发表于 2009-6-2 00:40:56

留个QQ~!麻烦作者联系我,ROS爱好者也可以过来聊聊~!
67088833

Guanglight 发表于 2009-6-12 16:43:50

难得的好文章

泥公仔 发表于 2010-4-27 11:59:33

收藏收藏,謝謝.

gll800 发表于 2010-4-29 17:42:25

学习了多谢楼主提供~~
页: 1 [2] 3
查看完整版本: random图文教程-负载均衡?端口聚合?路由叠加?