RouterOS如何實現多線路帶寬疊加功能

        我們在日常網絡中有的時候會碰到有2-3條運營商線路,但是都是獨立使用,這樣使用的效果就是不夠快,只能獨享一條線路的帶寬,如果我們能3條線路疊加到一起,如20M帶寬可以重複撥號3次,那就是說可以獲得20M×3=60M的帶寬。在這裏說下RouterOS如何實現多線路疊加帶寬。

        我們在RouterOS實現PPPoE帶寬疊涉及到的主要功能包括VRRP、PCC標記和策略路由。接下來我們細說這裏我使用的是RB962的路由器,使用ether1接口做PPPoE撥號,並取名爲ether1-wan,Wlan1無線覆蓋上網。

環境:

  • 1條10兆的PPPoE撥號寬帶三撥

  • 一個安裝有RouterOS的路由器,並且是多接口

一、VRRP配置

首先進入interface的VRRP下創建3個VRRP接口,注意每個VRRP需要設置不同的VRID,否則無法添加(當然你也可以不用建立3個VRRP接口,因爲ether1-wan的MAC地址也是不同等,可以只建立2個VRRP接口,但這裏爲了不讓大家繞彎就直接建立3個VRRP接口)

下面是添加第一個VRRP接口,設置interface爲ether1-wan,VRID爲1

wKiom1g_ztGhDQq6AAKD8BISKMQ667.png-wh_50

剩下的VRRP接口也是相同的,只是VRID不一樣,vrrp2和vrrp3的配置如下:

wKiom1g_zwiDOBrkAAEyBsLxg_w980.png-wh_50

添加完成後,3個VRRP接口都是紅色的無法生效,因爲沒有爲對應的接口配置上IP地址

wKiom1g_zzLw1YBFAACq6MxA9sA523.png-wh_50

我們可以看看3個vrrp接口的MAC地址,vrrp1的MAC地址,vrrp2和vrrp3的MAC地址分別是00:00:5E:00:01:02,00:00:5E:00:01:03

wKiom1g_z1XxCqT2AABxjBJXDkQ784.png-wh_50

二、配置VRRP接口IP地址

        現在要讓3個vrrp接口生效,需要給ether1-wan、vrrp1、vrrp2和vrrp3設置IP地址,進入ip address添加地址,這裏我們可以隨便設置ip地址32位子網也可以,只要讓vrrp接口啓用生效。

先添加ether1-wan,因爲VRRP接口都是基於ether1-wan上,這個接口必須要有ip地址,我們隨便設置一個10.0.0.1/32的地址,只要有地址即可

wKiom1g_z3_xy1-kAAIMXxW9qys722.png-wh_50

在address裏爲vrrp1、vrrp2和vrrp3添加上ip地址10.0.0.1、10.0.0.2和10.0.0.3,如下圖

wKiom1g_z6LS5VutAAEkDF9JLAI035.png-wh_50

現在我們看看interface vrrp中的情況,全部生效

wKiom1g_z8Xhyh_DAADky_BZS4c220.png-wh_50

完成後我們可以建立PPPoE撥號了,進入PPP點加號,選擇PPPoE-client添加到默認名稱爲pppoe-out1,進入Dial out配置帳號和密碼,這裏我假設帳號和密碼都是yus,其他參數可以默認配置,注意Use Peer DNS和Add Default Route取消,因爲後面我們會手動添加路由

wKiom1g_z_rgi53KAAE6xqBlVQc573.png-wh_50

同樣的配置,將vrrp2和vrrp3在PPP中添加,分別是pppoe-client2和pppoe-client3,帳號密碼都相同,如下圖,添加完成後,撥號成功默認會在pppo-out前面出現R,代表撥號成功

wKiom1g_0B_QXhEhAAE_PRihU6k784.png-wh_50

在ip address中可以看到3個pppoe-out撥號獲取的ip地址

wKioL1g_0HDS5QBTAAC31TiH05M121.png-wh_50

三、添加PCC規則

        撥號成功後,我們接下來要做的是配置PCC規則,這個是帶寬疊加的關鍵,PCC是Per Connection Classifier,即每次連接分類,對進入的數據流進行分類,配置較爲複雜涉及到連接分類和路由策略標記,大家可以按照這個流程來。

        首先我們要進入ip firewall mangle中配置PPC規則和路由標記,有幾個參數我們需要說明,src-address是內網電腦的IP地址段,這裏我家裏是192.168.88.0/24,PCC定義可以認爲是將數據分爲幾份,每條規則取其中的第幾份做處理。我們是有3條線路,就需要分3份。

如per-connection-classifier=both-addresses:3/0,代表分3份,取第一份,因爲PCC計數是從0開始,那後面兩條就是:

per-connection-classifier=both-addresses:3/1

per-connection-classifier=both-addresses:3/2


那我們按照這個規則來詳細介紹:

在mangle下點加號,新建第一條規則,在General下選擇Chain爲prerouting(路由前),src-address=192.168.88.0/24


wKiom1g_0JnBkNqcAAD7dSlNHo4155.png-wh_50

在Advanced裏配置Per Connection Classifier參數

wKioL1g_0LnidVcpAAFEBbsFdtQ294.png-wh_50

在Extra中配置Dst-address-type的address-type爲local,點Invert(代表排除路由器本地IP地址),在Action中配置action=mark-connection標記連接,new-connection-mark取名pcc1

wKioL1g_0NrAXIxJAADvjcOvFSM614.png-wh_50

這樣第一條PCC規則配置完了,下面是要配置與PCC相對應的路由規則,前面是將數據連接通過PCC分類,分類後分配給後面的路由規則標記,然後路由分發到對應的接口做負載均衡,下面新建一條mangle規則,標記路由策略,Chain=prerouting,src-address=192.168.88.0/24,connection-mark=pcc1,取前一條PCC規則標記。在Action中選擇action=mark-routing,new-routing-mark取名route1。

wKiom1g_0Q7h3unKAAEJngDKuqs439.png-wh_50

後面也是相同的配置,繼續添加相同的兩組規則。後面規則就不在過多介紹,這裏有腳本,打開winbox的new terminal後,在命令行復制粘貼以下腳本:

/ip firewall mangle
add action=mark-connection chain=prerouting comment=pcc1 dst-address-type=!local \
new-connection-mark=pcc1 per-connection-classifier=both-addresses:3/0 src-address=\
192.168.88.0/24
add action=mark-routing chain=prerouting connection-mark=pcc1 new-routing-mark=route1 \src-address=192.168.88.0/24
add action=mark-connection chain=prerouting comment=pcc2 dst-address-type=!local \
new-connection-mark=pcc2 per-connection-classifier=both-addresses:3/1 src-address=\
192.168.88.0/24
add action=mark-routing chain=prerouting connection-mark=pcc2 new-routing-mark=route2 \src-address=192.168.88.0/24
add action=mark-connection chain=prerouting comment=pcc2 dst-address-type=!local \
new-connection-mark=pcc3 per-connection-classifier=both-addresses:3/2 src-address=\
192.168.88.0/24
add action=mark-routing chain=prerouting connection-mark=pcc3 new-routing-mark=route3 \src-address=192.168.88.0/24


加入每個PPPoE撥號接口的返程路由標記,以下是腳本:

/ip firewall mangle
add action=mark-connection chain=input in-interface=pppoe-out1 new-connection-mark=pcc1
add action=mark-connection chain=input in-interface=pppoe-out2 new-connection-mark=pcc2
add action=mark-connection chain=input in-interface=pppoe-out3 new-connection-mark=pcc3
add action=mark-routing chain=output connection-mark=pcc1 new-routing-mark=route1
add action=mark-routing chain=output connection-mark=pcc2 new-routing-mark=route2
add action=mark-routing chain=output connection-mark=pcc3 new-routing-mark=route3


四、路由配置

        下面是將標記的路由添加到路由表中,winbox進入ip route添加規則,如下圖。進入路由表,添加gateway=pppoe-out1,routing-mark=route1,後面2條route2和route3分別對應到pppoe-out2和pppoe-out3(測試時使用了open***組網,發現ROS本身無法撥到open***服務端,檢查爲無法聯網,後來發現爲本身沒有路由所以導致的,這裏添加一條dst.Address=0.0.0.0/0,gateway=pppoe-out3,routing mark=main即可),配置完成後如下:

wKioL1g_0V_jmGCRAAEzO4sS4jM177.png-wh_50

最後記得配置好nat規則,進入ip firewall nat中添加一個snat用於隱藏內網ip訪問公網,代碼如下:

/ip firewall nat add action=masquerade chain=srcnat
#(這樣寫會容易造成各種問題)

推薦:

/ip firewall nat 
add chain=srcnat connection-mark=pcc1 action=masquerade
add chain=srcnat connection-mark=pcc2 action=masquerade
add chain=srcnat connection-mark=pcc3 action=masquerade


這樣PCC帶寬疊加就配置完成,大家可以測試了是否帶寬達到了原來的3倍。


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