我們在日常網路中有的時候會碰到有2-3條運營商線路,但是都是獨立使用,這樣使用的效果就是不夠快,只能獨享一條線路的頻寬,如果我們能3條線路疊加到一起,如20M頻寬可以重複撥號3次,那就是說可以獲得20M×3=60M的頻寬。在這裡說下RouterOS如何實現多線路疊加頻寬。
我們在RouterOS實現PPPoE頻寬疊涉及到的主要功能包括VRRP、PCC標記和策略路由。接下來我們細說這裡我使用的是2011UAS-2HnD的路由器,使用ether1介面做PPPoE撥號,並取名為ether1-wan,Wlan1無線覆蓋上網。
工具/原料
3條20兆的PPPoE撥號寬頻
一個安裝有RouterOS的路由器,並且是多介面
方法/步驟
VRRP配置
首先進入interface的VRRP選單下建立3個VRRP介面,注意每個VRRP需要設定不同的VRID,否則無法新增(當然你也可以不用建立3個VRRP介面,因為ether1-wan的MAC地址也是不同等,可以只建立2個VRRP介面,但這裡為了不讓大家繞彎就直接建立3個VRRP介面)
下面是新增第一個VRRP介面,設定interface為ether1-wan,VRID為1
剩下的VRRP介面也是相同的,只是VRID不一樣,vrrp2和vrrp3的配置如下:
新增完成後,3個VRRP介面都是紅色的無法生效,因為沒有為對應的介面配置上IP地址
我們可以看看3個vrrp介面的MAC地址,vrrp1的MAC地址,vrrp2和vrrp3的MAC地址分別是00:00:5E:00:01:02,00:00:5E:00:01:03
配置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的地址,只要有地址即可
在address裡為vrrp1、vrrp2和vrrp3新增上ip地址10.0.0.1、10.0.0.2和10.0.0.3,如下圖
現在我們看看interface vrrp中的情況,全部生效
完成後我們可以建立PPPoE撥號了,進入PPP點加號,選擇PPPoE-client
新增到預設名稱為pppoe-out1,進入Dial out配置帳號和密碼,這裡我假設帳號和密碼都是yus,其他引數可以預設配置
同樣的配置,將vrrp2和vrrp3在PPP中新增,分別是pppoe-client2和pppoe-client3,帳號密碼都相同,如下圖
新增完成後,撥號成功預設會在pppo-out前面出現R,代表撥號成功
在ip address中可以看到3個pppoe-out撥號獲取的ip地址
新增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
在Advanced裡配置Per Connection Classifier引數
在Extra中配置Dst-address-type的address-type為local,點Invert(代表排除路由器本地IP地址)
在Action中配置action=mark-connection標記連線,new-connection-mark取名pcc1
這樣第一條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
後面也是相同的配置,繼續新增相同的兩組規則。後面規則就不在過多介紹,這裡有指令碼,開啟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 mangleadd action=mark-connection chain=input in-interface=pppoe-out1new-connection-mark=pcc1add action=mark-connection chain=input in-interface=pppoe-out2new-connection-mark=pcc2add action=mark-connection chain=input in-interface=pppoe-out3new-connection-mark=pcc3add action=mark-routing chain=output connection-mark=pcc1new-routing-mark=route1add action=mark-routing chain=output connection-mark=pcc2new-routing-mark=route2add action=mark-routing chain=output connection-mark=pcc3new-routing-mark=route3
路由配置
下面是將標記的路由新增到路由表中,winbox進入ip route新增規則,如下圖:
進入路由表,新增gateway=pppoe-out1,routing-mark=route1,後面2條route2和route3分別對應到pppoe-out2和pppoe-out3,配置完成後如下:
最後記得配置好nat規則,進入ip firewall nat中新增一個snat用於隱藏內網ip訪問公網,程式碼如下:
/ip firewall nat
add action=masquerade chain=srcnat
這樣PCC頻寬疊加就配置完成,大家可以測試了是否頻寬達到了原來的3倍。