找回密码
 立即注册
查看: 10291|回复: 0

RouterOS实现PPPoE拨号带宽叠加

[复制链接]
发表于 2014-5-9 16:45:54 | 显示全部楼层 |阅读模式
   最近出现了很多XX光纤带宽可以叠加的配置,如20M带宽可以重复拨号3次,也就是可以获得20M×3=60M的带宽。本人测试后没有达到效果,不过这里也可以随便说下RouterOS在这样的带宽中如何通过PCC叠加带宽。
在介绍配置之前,需要普及下知识:
1、当前运营商都是使用PPPoE拨号认证上网,PPPoE即Point to Point Protocol over Ethernet,在以太网上承载PPP协议(点到点连接协议),它利用以太网将大量主机组成网络,通过BAS接入设备连入因特网,并对接入的每一个主机实现控制、计费功能,因此用户需要使用运营商分配的帐号和密码验证登录。
2、BAS (Broadband Access Server/ Broadband Remote Access Server) 中文译名: 宽带接入服务器是一种设置在网络汇聚层的用户接入服务设备,可以智能化地实现用户的汇聚、认证、计费等服务。

3、BAS不仅会验证用户的帐号和密码,而且还会匹配以太网中的VLAN信息和MAC地址,即匹配这个用户是不是在指定的VLAN中,终端拨号的MAC地址是否重复(即一个MAC地址只能拨号一次)。
   补充了上知识,看看XX光纤宽带情况,首先允许一个光猫下3个终端拨号,前提是光猫需要改桥接模式,才可以实现3个终端拨号,当然他们都在一个VLAN下,唯一要求是3个终端使用不同的MAC地址。
      OK,根据以上信息由RouterOS的一个以太网口与光猫以太网连接后做3次拨号上网完全没有问题,这个已经在多年前被广大的RouterOS爱好者解决了——VRRP,虽然和带宽绑定风马牛不相及,但添加VRRP接口后,会模拟出一个新的MAC地址,即在一个以太网接口上可以模拟出多个虚拟MAC地址。使用RouterOS的VRRP需要在4.0版本以上,因为之前的VRRP协议基于三层,而4.0后是基于二层。
这样我们在RouterOS实现PPPoE带宽叠涉及到的主要功能包括VRRP、PCC标记和策略路由。接下来我们细说
      这里我使用的是2011UAS-2HnD的路由器,使用ether1接口做PPPoE拨号,并取名为ether1-wan,Wlan1无线覆盖上网。


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后,在命令行复制粘贴以下脚本(如果脚本执行错误请根据脚本命令在winbox图形界面里面设置):

[mw_shl_code=applescript,true]/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[/mw_shl_code]

路由配置
下面是将标记的路由添加到路由表中,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倍。

如果用RouterOS做带宽叠加,家庭或者小型公司局域网从这样的需求上看,可以考虑RouterBOARD产品,带802.11bgn无线可以选择RB951-2n,淘宝价格在270元左右,虽然价格比普通路由贵,但性价比不错,特别是各种网络功能上!!!具备之前提到的BAS(虽然性能差,但带个十几二十个没有问题),以及WiFi Hotspot热点认证功能哦。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|第一站论坛 ( 蜀ICP备06004864号-6 )

GMT+8, 2024-3-29 21:36 , Processed in 0.070080 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表