ROS2.9版本多线ADSL叠加实用教程 下载本文

内容发布更新时间 : 2024/12/23 22:27:35星期一 下面是文章的全部内容请认真阅读。

ROS2.9版本多线ADSL叠加实用教程

如今ROS在网吧当中的应用普及程度非常高,原因就是用这软件做个路由太便宜了,我曾经在心里盘算过,如果还能找到全新P3的主板和CPU,那么配一台全新超稳定的路由仅需硬件成本300元之内,而加上普遍应用的多条ADSL叠加后总成本不过1千元之内,而这仅1千元的成本却能让一家小型网吧拥有10M以上的宽带网络,网费却只有光纤的1/4左右。我想,就是凭着在各方面都能省的特点,软路由风靡中国网吧行业是理所应当的事。 曾经有一个在县城里开了一家70台机器网吧的朋友问过我,他说:“现在我们县城拉一条4M光纤每月要交2千以上,现在我们这ADSL拉一条100多元,你能不能帮我做一个8条ADSL叠加的方法啊,这样算来每条ADSL有2M左右的下行和512K上行,8条加起来就有十几M下载和4M的上传,应该足够我的网吧用了,而且这样每个月费用才1千元以内,如果能做就太适合网吧了。”听了朋友说完,我发现已经有很多人在开发这种自制的8WAN口软件路由器了。当然,如果做到8条线叠加不太容易,因为一般很少有主板能插8块网卡的,但是5-6条线应该问题不大。

以下我将以实例操作为大家详解如何在ROS2.9版本当中配置多线软路由,也许城市当中的大型网吧根本用不到这些技术,但在一些乡镇当中,尤其是网管朋友自己回家开一间小网吧却用处很大,而且目前这种技术还是很值钱的,听说找人做一台这样的路由器单软件成本就要1千以上,以下以双线为例,配置整体过程然后再解释其中道理,自然就可以实现“多线均衡负载”这种路由技术了。另外讲一些题外话,目前配置多WAN软路由很流行,学会了这个可以算得上一门手艺,到哪都有饭吃了。

平台介绍:搭建软路由首先得用大家都熟悉的ROS2.9,是基于LINUX平台的路由软件,开源而且目前在网吧业主应用普遍,用这个软件也有另一个好处就是方便学习,因为用的人多,所以当你遇到问题时可以求助的途径就多。安装软件和配置以及连接WINBOX过程在这里就省略了,总之在这些都完成后才可以进行。硬件方面,板载网卡加上两块PCI网卡,装完驱动后再进系统最好,其中板载做内网网关,两块PCI网卡接ADSL。环境介绍到此,当然ROS一些路由表和其他基本配置都要做好才能开始以下关于ADSL线路均衡负载的配置过程。

原理介绍:如何实现多线ADSL均衡负载然后实现多条ADSL网速叠加,全靠ROS灵活的策略路由来实现,实现的原理就是在每一次数据连接过程中,将每个数据包分别打上一个标记,

例如我们有2条ADSL,那就将数据包分别打上“1”和“2”的标记,然后将数据放入各地的池内,在路由过程中每个池走自己的线路,这样就可以实现负载均衡了,也就是你一个人上网,却同时使用两条ADSL线路,因为你的数据是分别走两条线的。明白了这个道理就可以明白如果接3条线或更多的线,就把数据包分别打上“1、2、3??”等标记,然后让他们分别从不同的线路出去,这样就可以实现多线负载均衡,等于每位用户都可以享受到3根线的速度,从而实现高速网络。

以下配置过程分为WINBOX设置过程和命令行设置过程,两部分是相同的设置,之所以分为两部分同时讲解就是想让大家摆脱WINBOX,因为命令行设置才能做出更复杂更加适合自己的路由策略。

第一步设置PPPOE拔号:外网(WAN1,WAN2)两个网卡添加pppoe client第一个命名为ADSL1 并且加上拔号的用户名和密码,第二条命名为ADSL2 同时加上拔号的用户名和密码,这里要注意把Add Default Route 去掉. 如图,就是填好ADSL账号和密码,如下图:

以下是用命令行配置ADSL帐号和密码的过程,相对来说比较易懂: #设置ADSL拔号

/ interface pppoe-client add name=\interface=wan1 user=\账号\password=\密码\/ interface pppoe-client enable pppoe-out1

/ interface pppoe-client add name=\interface=wan2 user=\账号\ password=\密码\/ interface pppoe-client enable pppoe-out2

第二步标记连接和路由:配置MANGLE来实现为每个数据包做标记,并配置相应的路由信息,这里的路由信息指的就是“池”,然后在后面的路由表当中实现将“池”中的包分配到相应的线路当中。下图两个ADSL线路的配置过程:

以下是命令行下配置过程,详细解释第一条就是每隔一个包建立一个新的会话,并用“1”做标记,因此所有属于同一会话的连续的数据包将被放到标记为1的连接中,注意,我们将这些数据包传递给第二条和第三条规则(passthrough=yes)。第二条规则在prerouting链表将所有标记属于“1”的连接放入routing mark的“1”标记中,并将以上连接在此停止处理。而第二条规则当中则是每隔一个包建立一个新的会话,并用“1”做标记,其他相就都处理成以2为标记的连接和池中,就这样将所有包连续不断的处理并做标记为路由做好前期准备。 / ip firewall mangle

add chain=prerouting in-interface=Local connection-state=new nth=1,1,0 \\ action=mark-connection new-connection-mark=1 passthrough=yes

add chain=prerouting in-interface=Local connection-mark=1 action=mark-routing \\ new-routing-mark=1 passthrough=no

/ ip firewall mangle

add chain=prerouting in-interface=Local connection-state=new nth=1,1,1 \\ action=mark-connection new-connection-mark=2 passthrough=yes

add chain=prerouting in-interface=Local connection-mark=2 action=mark-routing \\ new-routing-mark=2 passthrough=no

第三步配置网关规则:因为是2条ADSL,所以要加2条规则,分别对应两个pppoe获得的地址,如果你们自己设就要先获得地址然后在这里设好规则,特点是address=network=broadcast,这样设置的目的是让ros能够根据这里所设的网关分别路由,并且在自动修改IP和网关的脚本当中还可以实现断线重连,所以在这里规则很重要,另外此步骤不能在命令行下实现,。下图为例:

以下是以命令行模式配置网关规则: / ip address

add address=192.168.1.1/24 network=192.168.1.0 broadcast=192.168.1.255 interface=lan1 add address=116.21.32.241/24 network=219.135.164.1 broadcast=0.0.0.0 interface= pppoe-out1 add address=121.32.177.37/24 network=219.135.164.1 broadcast=0.0.0.0 interface= pppoe-out2