routeros雙線ADSL

http://www.txwb.com/Article/serverHelp/wljs/200812/27163.html

ROS雙線ADSL不同網關按網段分流

 

[作者:lessf 來源:lunhui.net 時間:2008-12-16添加到QQ收藏QQ書籤]我來說兩句
建立PPP撥號,把其中一條撥號名命名爲ADSL1,另一個命明爲ADSL2,首先等待撥號成功。

設置參考圖1:
點擊全屏瀏覽


撥號成功後,PPPOE會自動添加IP地址和網關,我們要做的就是,手動再添加一次這些地址,以配合腳本。
手動添加2個和PPP自動添加出來一樣的IP,並標記爲1和2,1爲ADSL1的IP,2爲ADSL2的IP:

綠色代表我們添加時取的數字,紅框代表的是我們添加的內容,說簡單點,就是複製一份自動分配得來的IP地址,然後做個標記

位置winbox-ip-addresses

設置如圖2
點擊全屏瀏覽

下面是手動添加2個和PPP自動添加出來一樣的router(稱作外網網關),並標記爲1和2,1爲ADSL1的外網網關,2爲ADSL2的外網網關:

黑色代表我們添加時取的數字,紅框代表的是我們添加的內容,說簡單點,就是複製一份自動分配得來的外網網關,然後做個標記

位置winbox-ip-routes

設置如圖3
點擊全屏瀏覽


添加完畢後,打開winbox-new terminal,複製下面的腳本,在終端上點右鍵,選paste

1.添加IP地址僞裝

/ ip firewall nat
add chain=srcnat action=masquerade comment="" disabled=no



2.添加網段分流腳本,請手動修改紅色部分

紅色部分代表了192.168.1.1-192.168.1.120用ADSL1,192.168.1.121-192.168.1.240用ADSL1

修改完畢後,複製修改後的內容,在終端上paste


/ ip firewall mangle
add chain=prerouting src-address=192.168.1.1-192.168.1.120 action=mark-routing new-routing-mark=1 passthrough=yes /
    comment="" disabled=no
add chain=prerouting src-address=192.168.1.121-192.168.1.240 action=mark-routing new-routing-mark=2 passthrough=yes /
    comment="" disabled=no
add chain=postrouting protocol=tcp tcp-flags=syn action=change-mss new-mss=1400 comment="" disabled=no

3.添加ADSL掉線後自動添加新IP和網關腳本

位置winbox-system-script 點“+ ”號,改name爲script,然後複製下面的腳本到source裏,添加完畢後效果如圖4

: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=("ADSL" . $i)] running]
    :if ($status=true) do={
     :set new-address [/ip address get [/ip address find dynamic=yes interface=("ADSL" . $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=("ADSL" . $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 route set [/ip route find comment=$i] gateway=$new-address
       }
   }
}




點擊全屏瀏覽

4.添加腳本計劃任務

10秒鐘運行一次script腳本,就是上面那個,來防掉線!!

/ system scheduler
add name="task" on-EVEnt=script start-date=jan/01/1970 start-time=00:00:00 interval=10s comment="" /
    disabled=no

router os 雙線adsl負載均衡配置過程

作者:紅易網絡    發表時間: 2007-12-28 
 

※廣告3※

 

先來看看配置之後的效果圖

 

1

以下是詳細配置過程:
1 標記連接和路由
配置mangle後的效果圖
2

以下是詳細配置過程

 

3

4

5

6

7

8

9

10

11

12

2 配置網關(此步之前需要先配置好pppoe,配置過程請到論壇上找)
由下圖可知,我加了2條規則,分別對應兩個pppoe獲得的地址,特點是address=network=broadcast。
這樣做的目的是讓ros能夠根據這裏所設的網關分別路由。
注意comment中的1和2,再運行腳本時要用到。

 

13

3 配置srcnat(ip僞裝)
總配置效果圖,注意comment的設置,在運行腳本時要用到

 

14

配置截圖:

 

15

16

17

18

4 配置路由
總配置效果圖,注意comment的設置,在運行腳本時要用到
可以看到,我在路由表中加入了3條規則,前兩條分別對應於在mangle中設置的兩個路由標記
另外一條沒有路由標記,官方解釋說是用於路由被標記之外的ros本身的包,具體什麼意思我也沒有徹底明白
19

5 加入防adsl掉線腳本

再到system->schedulerl加入:
: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
       }
   }
}

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章