运营商不会告诉你的秘密:企业级路由器能通过多拨叠加带宽,轻松跑满千兆!

我们之前已经介绍了MSR路由器如何配置PPPoE拨号(脚本案例来了!一台初始化配置的MSR810-W快速满足业务上线的4个要求),也介绍了如何配置DDNS(拨号有公网IP地址了,肯定要通过DDNS用起来啊!),后来又补充介绍了IPv4的PPPoE Server通过DHCP为用户分配IPv4地址的配置(PPPoE Server通过DHCP为用户分配IPv4地址),也介绍了IPv6的相关配置(企业路由器配置IPv6家用宽带的PPPoE拨号示例)。

我之前用北京联通的网络的时候就存在一个疑问,为什么100 Mbps的宽带在下载时经常能达到200 Mbps?后来我才发现这是一种单账号多拨(Single Account Multi-PPPoE)的技术,使用同一个宽带账号进行多次拨号,从而获取多个IP地址,进而实现带宽叠加的效果。像一般的家用宽带多为300 Mbps、500 Mbps,搭配使用软路由往往可以实现超过2000 Mbps的宽带效果。

既然只是发起多个拨号而已,那企业路由器能不能实现这个效果呢?我们今天来简单测试一下。

上次我们使用了通过本地DHCP服务器为用户分配IPv4地址,那我们本次就通过PPP地址池为用户分配IPv4地址吧。

既然是单账号多拨,那我们在Server上仅需要创建一个PPPoE用户就可以了。

#local-user pppoe class network password simple pppoe service-type ppp

    

创建一个PPP地址池,包含多个可分配的IP地址;再指定地址池的网关地址。

#ip pool ppp 10.111.1.101 10.111.1.200ip pool ppp gateway 10.111.1.1

然后,我们配置虚拟模板接口1来和客户端交互报文,配置VT1接口采用CHAP认证对端,配置本端IPv4地址为地址池的网关地址,使用PPP地址池ppp为用户分配IPv4地址,并配置为对端指定DNS服务器的IP地址。

#interface Virtual-Template1 ppp authentication-mode chap domain system ppp ipcp dns 8.8.8.8 remote address pool ppp ip address 10.111.1.1 255.255.255.0

接下来,在GigabitEthernet2/0接口上启用PPPoE Server协议,将该虚拟模板接口1绑定至该以太网接口。    

#interface gigabitethernet 2/0pppoe-server bind virtual-template 1

在ISP域system下为PPP用户配置使用本地认证。

#domain system authentication ppp local

接下来,我们配置Client设备,对应各位手里的企业级路由器。

首先,PPPoE的基础部分与之前的基本一样:创建一个Dialer接口,开启共享DDR;配置Client被Server认证的方式为CHAP,当Server认证时,并配置Client发送的CHAP用户名和密码;配置Dialer1接口通过协商获取IP地址和DNS服务器地址;配置PPPoE Client工作在永久在线模式;配置DDR自动拨号的间隔时间为20秒。    

#interface dialer 1 dialer bundle enable ppp chap user pppoe ppp chap password simple pppoe ip address ppp-negotiate ppp ipcp dns request dialer timer idle 0 dialer timer autodial 20

接下来,配置一个PPPoE会话,该会话对应Dialer bundle 1,Dialer bundle 1对应Dialer1接口。

#interface gigabitethernet 1/0pppoe-client dial-bundle-number 1

稍等片刻,等待PPPoE获取到客户端地址。

可以看到,客户端设备已经拿到了10.111.1.101的IP地址,那能不能拿到多个IP地址呢?

总结PPPoE客户端部分配置的关键就是创建Dialer接口,并绑定到物理接口上。既然如此,那我们是不是可以创建多个Dialer接口,使用相同的账号呢?测试一下。

#interface dialer 2 dialer bundle enable ppp chap user pppoe ppp chap password simple pppoe ip address ppp-negotiate ppp ipcp dns request dialer timer idle 0 dialer timer autodial 20#interface gigabitethernet 1/0 pppoe-client dial-bundle-number 2

可以看到,物理接口下是可以配置多个PPPoE会话的,那是不是都能获取到IP地址呢?

可以,成功了!现在有两个Dialer接口都获取到了IP地址,那我们是不是配置10个也可以?    

#interface gigabitethernet 1/0 pppoe-client dial-bundle-number 3 pppoe-client dial-bundle-number 4 pppoe-client dial-bundle-number 5 pppoe-client dial-bundle-number 6 pppoe-client dial-bundle-number 7 pppoe-client dial-bundle-number 8 pppoe-client dial-bundle-number 9 pppoe-client dial-bundle-number 10

再看一下Dialer接口的地址获取情况。    

可以看到,虽然我们是按照顺序配置的,但是在获取地址时有些进程更快,导致获取到的IP地址没有按照顺序排列,不过这个不是问题,只要都获取到了IP地址即可。

接下来,就是看看能不能叠加带宽了。

我么已经知道,跟IPv6的PPPoE拨号不同,客户端通过PPPoE无法获取IPv4默认路由,必需要手工添加缺省路由才行。而在添加缺省路由时,我们的下一跳是通过出接口的方式配置的,那我们就可以把这10个出接口都配置上了。

#ip route-static 0.0.0.0 0 Dialer 1ip route-static 0.0.0.0 0 Dialer 2ip route-static 0.0.0.0 0 Dialer 3ip route-static 0.0.0.0 0 Dialer 4ip route-static 0.0.0.0 0 Dialer 5ip route-static 0.0.0.0 0 Dialer 6ip route-static 0.0.0.0 0 Dialer 7ip route-static 0.0.0.0 0 Dialer 8ip route-static 0.0.0.0 0 Dialer 9ip route-static 0.0.0.0 0 Dialer 10

那我们怎么验证带宽是否叠加呢?

很简单,在客户端侧,我们已经配置好了静态的ECMP等价路与,向外发出的报文会被HASH到不同的路径上,也就是会从Dial1到Dial10这10个不同的端口进行转发,每个报文的大小一般只有1 KB左右,所以10 Mbps大约就是1000多个报文,HASH效果应该可以保证。然后我们再从服务端配置每IP地址限速,将每个IP地址的带宽设置为比较小的10 Mbps,再打流测试即可。

我们先测试使用1条流。    

可以看到,当使用一条流时,带宽为10.3 Mbps,再增加打流的线程数量试一下。    

可以看到,当打流的线程数量增加时,传输带宽几乎也呈现出线性增长的趋势,当线程数量超过接口数量后,最大带宽也被限制在了100 Mbps。

如此看来,使用企业级路由器的优势还是很明显的,如果不加限制的话,把1000 Mbps的带宽使用单账号多拨技术叠加到100 Gbps也是有可能的。而实际上,在物理链路层面,GPON的最大速率就是1000 Mbps了,10GPON也就是10 Gbps,家庭宽带达到100 Gbps基本上没有可能。

除此之外,现在越来越多地区的运营商开始封禁单账号多拨技术了,当第一个拨号请求成功之后,会拒绝响应后续的拨号请求,比如我测试了北京电信已经不能用了。

怎么样?你所在的地区还能不能用单账号多拨呢?你达到的最大带宽是多少呢?欢迎在评论区留言讨论!    

***推荐阅读***

告别NAT!腾讯云服务器IPv6实测:多1跳却快2ms,配置+防火墙规则一篇搞定

配置Linux服务实现WireGuard的自动连接与断开

使用ddns-go实现自动配置IPv6的DDNS

一行命令,轻松实现DHCPv6服务器为客户端分配固定IPv6地址

使用IKE建立保护IPv6报文的IPsec隧道

配置IPv6 over IPv4的手动隧道和自动隧道

使用ddns-go实现自动配置IPv6的DDNS

OpenWrt如何配置WireGuard互联?

在Ubuntu快速配置WireGuard互联

strongSwan对接飞塔防火墙

FortiGate手工配置自定义IPsec VPN

Ubuntu配置IPsec VPN

目前来看,ollama量化过的DeepSeek模型应该就是最具性价比的选择

使用openVPN对比AES和SM4加密算法性能,国密好像也没那么差

哪怕用笔记本的4070显卡运行DeepSeek,都要比128核的CPU快得多!

帮你省20块!仅需2条命令即可通过Ollama本地部署DeepSeek-R1模型