教你如何把家里多条宽带最大化利用
创作立场声明:本人为资深程序猿,软件架构、开发工程师。硬件和网络上理解并不非常专业,所以难免有失偏颇。本文所述,只代表个人立场和个人观点,不妥之处尽请指正,期待深入探讨交流。
前些日子移动给我打了个电话,要免费给我装一条宽带,考虑到家里已经有一条联通宽带了,一开始是婉拒了。但是架不住多番推销攻势,在确定了不需要任何费用的情况下,半推半就的答应下来了。
在电话里和客服确定之后,安装师傅打来了一个电话,确定好地址和时间之后,师傅就上门了。因为我所在小区有弱电井,但是每户只有一根入户光纤。所以除了在穿光纤进弱电箱的时候有点费劲,其他都还顺利。
作为一个资深程序猿、IT从业男。本着不能浪费的原则,开始折腾这两条光纤和重新配置内网,以求达到最优利用率。通过尝试不同方案,并比较优劣,才产生了以下文章,希望对大家有所帮助。
本文适用范围:家里有两条或更多条宽带的
本文配置目标:充分利用宽带的带宽,叠加网速
1.最简方案
不需要添加任何硬件,但是对平台有限制,只能为可以设置多网关的客户端配置。
适合人群:新手小白、内网终端少、嫌麻烦不爱折腾的人群
先上一张简易的网络拓补图,这个是用visio画的,可能并不专业,因为一般我是用这个画软件模型的……
内网部分只是一个示例,实际情况要复杂的多,而且设备要多的多,但是这些和我们本次的主题关系不大,所以就一切从简了。
接入方法很简单,因为当前有内网的情况下,默认的网关都是XX.XX.XX.1,因为移动赠送的猫里面带一个路由器,所以只需要把他的内网IP设置成同网段的不冲突IP即可,并且子网掩码设置的和现有网络相同,也就是能访问到即可。
比如我原先的路由器内网地址是10.0.0.1,子网掩码255.255.255.0,所以我把移动的猫设置成10.0.0.254,子网掩码255.255.255.0,测试内网PC可以ping到这个IP即可。
此处只需要注意,一个网络最好只有一个DHCP服务器,所以,需要关掉移动的DHCP功能。
详细原因,不解释!怎么在一个网络配置多个DHCP,也不解释,关一个就好了,不想关移动的,关联通的也可以。
下一步,重点来了,在PC端网络连接——Internet TPC/IPv4——属性里,设置PC为固定IP;
点击高级,添加10.0.0.254为默认网关。
并注意:将原先的网关,新添加的网关,和本地的跃点手动设置为一样的数字。
跃点40是我随便写的,你可以可以设置成其他数字。为了明确起见,我们就20、40、60 三选一吧,看你喜欢这3个数的哪一个,随便写,写成一样的即可。
具体的应该写多少,这个就是网络工程师的范畴了,可以讲一堆的东西,但是对个人用户来说,不用太讲究,也不太用的着。(咳咳,其实我也不太懂,大学的时候睡觉来着,只记得这个是和路由表有关的一个玩意)
OK,现在可以试试网速了
我这里原先是300M联通宽带,实测可以达到50MB/S以上的速率,移动宽带标称是200M宽带,实测可以达到30MB/S以上的速率,所以两网叠加,目前已经完美实现,算上网络损耗,已经可以接受了。
如果您不想投入更多的时间和精力,可以到此打住了!
此方案的缺点就是,完全靠客户端的配置,每个客户端都要设置,比较麻烦,而且网速并不稳定。在手机或linux上难于实现,而即使实现了,也需要做更多的设置。
2.进阶方案
在以上方案的基础上,寻找更优方案,让手机和网络内其他设备也能使用叠加带宽,并且不需要挨个设置客户端,就成了一个主要议题。
本方案需要购置新路由器或把原有的路由器刷个固件
进阶方案以此为基础,探讨如何更充分、深入的利用网络资源。
此方案适合:进阶用户、爱折腾的IT宅、家里设备较多的重度宽带用户
再上一张网络拓补图,这里我用了一个双wan的路由器连接两只光猫,并在路由器上实现双WAN叠加共享。
实际执行的时候我翻出了一只老的路由器,型号为 网件WNDR4300,刷了个openwrt,并设置为10.0.0.1,然后安装mwan3插件实现负载均衡和网络叠加
刷openwrt的过程从略,网上到处有教程。
设置步骤:划分VLAN、设置端口和防火墙、设置mwan3
具体操作从略,因为后面的终极方案也会包含这个部分。
实际结果就是:不加载mwan3的时候,可以达到30MB/S的网速,加载了负载均衡之后,网速不升,反而降为20MB/S
网速太惨,我就不上图了!
分析失败原因:此方案中所使用的路由器太老了,CPU太慢,虽然端口都是千兆,但是最高只能达到30MB/S,加载了负载均衡插件之后,CPU就更吃紧了。
刷源生固件好一点,可以达到48MB/S,但是不能划分多WAN口,所以不能接受!4300继续扔回去吃土吧!
总结:此方案适合拥有高端路由器(CPU过硬可以刷固件或者本来就有双WAN端口)或总带宽不高的用户,要考虑路由器的最大承受能力。
家里有两条100M宽带或者不差钱的土豪可以考虑此方案,否则请看终极方案。
3.终极方案
基于上一个方案的失败原因,我把目光瞄准了软路由。(高端路由器当然也可以实现,但是成本太高,而且性能不如软路由,也不符合IT男爱折腾的性格)
本方案需要在原有网络的基础上,需要增加4口软路由一台(3口也够用,但是4口或4口以上最好),成本不限;家用淘汰的旧电脑也可以胜任,但是买网卡和计算机功耗成本不如直接买一台软路由了。
本方案适合各种爱折腾、动手能力极强并对网络有极致追求的用户,因为涉及很多linux的配置和网络相关知识,所以小白请慎用。
经过跟某硬件大神讨教,定了某鱼上的软路由一只,3天到货,直接开搞!
图片跟实物没差别,全铝外壳,无风扇散热,拿在手里挺有质感的
配置:N3540,2G+16G,4千兆网卡,510不含电源包邮
这个就是大神推荐的配置,毕竟这个部分不是我的专长,所以也不多做纠结,买来能用就好!
因为我弱电箱里有12V电源模块,所以没要电源。
但是要注意一点,这个软路由的电源接口是5.5*2.5的,路由器用的5.5*2.1的口是插不上的,需要一个转接头。
而且这个软路由需要12V 1.5A电流(实测峰值电流,空载耗电没多少),所以电源模块如果没有足够功率的,还是考虑多花10块钱买个电源的好。
软路由已经装好了openwrt,所以我就不折腾了,直接在这上面设置。
所以刷openwrt的过程从略,到处有教程,直接买个空的软路由自己刷openwrt也是可以的。
如果有大神喜欢其他固件,可以随意刷,此处只是提供一个思路。
此拓补图为参考,因为我原先的10.0.0.1路由器中设置了很多端口映射和DDNS,迁移起来有点麻烦,所以本着平稳过渡的原则,将软路由设置为10.0.0.254,并在10.0.0.1的DHCP中,将默认网关改为10.0.0.254
由于软路由本身内置了openwrt,所以设置起来比较简单,在网络——接口中
设置LAN和WAN口即可,WAN口可以添加TCP/IPv6接口,具体设置的是拨号还是DHCP就不多做讨论了,依照自己的网络情况设置即可。
将两个wan口放入一个防火墙就可以了。
注:软路由不需要划分VLAN,因为每个网卡都是独立的物理网卡。但是如果是使用路由器,需要将两个WAN口划分VLAN进行隔离,因为路由器只有一个物理网卡。
在mwan3中设置策略,步骤从略,因为网上教程很多。
主要注意的是:需要依次安装:mwan3,luci-app-mwan3,luci-app-mwan3helper,luci-i18n-mwan3-zh-cn,luci-i18n-mwan3helper-zh-cn
这几个软件包,最后面两个是中文化界面,英文好可以不安装
配置成负载即可,注意接口名称要一致。
附上我的 /etc/config/mwan3 配置文件:
config globals 'globals'
option local_source 'lan'
config interface 'wan'
option enabled '1'
list track_ip '114.114.114.114'
list track_ip '114.114.115.115'
option family 'ipv4'
option reliability '2'
option count '1'
option timeout '2'
option failure_latency '1000'
option recovery_latency '500'
option failure_loss '20'
option recovery_loss '5'
option interval '5'
option down '3'
option up '8'
config interface 'wanb'
option enabled '1'
list track_ip '114.114.114.114'
list track_ip '114.114.115.115'
option family 'ipv4'
option reliability '2'
option count '1'
option timeout '2'
option failure_latency '1000'
option recovery_latency '500'
option failure_loss '20'
option recovery_loss '5'
option interval '5'
option down '3'
option up '8'
config member 'wan_m1_w1'
option interface 'wan'
option metric '1'
option weight '1'
config member 'wanb_m1_w1'
option interface 'wanb'
option metric '1'
option weight '1'
config policy 'wan_only'
list use_member 'wan_m1_w1'
config policy 'wanb_only'
list use_member 'wanb_m1_w1'
config policy 'balanced'
list use_member 'wan_m1_w1'
list use_member 'wanb_m1_w1'
config rule 'https'
option sticky '1'
option dest_port '443'
option proto 'tcp'
option use_policy 'balanced'
config rule 'default_rule'
option dest_ip '0.0.0.0/0'
option use_policy 'balanced'
终极方案可能写的有点简略,不过相信有需要的自然能看得懂。
最后贴一下网速效果吧:
至此,宽带叠加的目标已经达到,内网中每个点都可以达到全带宽外网连接了,凭借软路由的强悍性能,已经把两条宽带的带宽压榨到上限了,也差不多达到千兆网的上限了。
估计再加一条宽带,就需要升级为2.5G网络或做链路聚合才能跑满带宽了。
PS:软路由的网卡灯真的很讨厌,跟跑马灯一样的亮法,回头有空给弄成全灭!才符合我低调的气质!
至于你问我要这么高的带宽有什么用,那自然是看高清动画片了!
真的,我有图为证!
至于软路由的其他用途么,咱们在此就不多做讨论了
xeon8300
校验提示文案
abclzq
校验提示文案
小小小tiny
校验提示文案
Ares1997
校验提示文案
alengood
校验提示文案
花卷麻麻麻麻哦
自己不太懂。用的tp百来块的,经常卡。
50m电信,希望看电视4k不卡。穿墙好点。
😂😂😂感谢。
校验提示文案
zarro99
校验提示文案
零猫
校验提示文案
starmoon
校验提示文案
Mr春爷
校验提示文案
bigboss60
校验提示文案
熊小蝎1108
校验提示文案
蜂源008
校验提示文案
值友3062343088
校验提示文案
隔壁水电工
校验提示文案
值友7363779075
校验提示文案
我的椰子
校验提示文案
zl1050
校验提示文案
AkxxxxxRay
校验提示文案
上条当麻
校验提示文案
wuhaoquan
校验提示文案
双刀莫扎特
校验提示文案
sampoonpoon
option sticky '1'
option dest_port '443'
option proto 'tcp'
option use_policy 'balanced'
校验提示文案
值友9714320229
校验提示文案
砸锅卖铁薅羊毛
校验提示文案
糊涂老大仙
校验提示文案
kennyl
校验提示文案
奇夫奇夫林
校验提示文案
宿醉猫
校验提示文案
下雨天收衣服
校验提示文案
magicdog20
校验提示文案
蓝牙e族
校验提示文案
他家自在
校验提示文案
iGYW
校验提示文案
胖胖鹿船长
校验提示文案
临海听潮
校验提示文案
值友2939295615
校验提示文案
hugffgbb
校验提示文案
留守的磊儿
校验提示文案
billhagen
校验提示文案