用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

本帖最后由 JuncoJet 于 2019-8-16 17:43 编辑

自从家里宽带升级到了200M就捣腾这捣腾那的,因为原先用的MikroTikROS系统)路由器是个百兆的,虽然能够使用单线4拨,但速度也上不了100M了。于是破解光猫超管密码,使用光猫直接路由,下行230M上行40M左右速度挺满意的。毕竟相比去年家里30M带宽多拨后达到98M强太多了。用了没过多久抑制不住一颗蠢蠢欲动的心,想当年30M多拨能达到接近100M,要是200M多拨,这还不逆天!于是网上目测了一款千兆路由,首选的还是MikroTik的路由,毕竟用了多年,对功能和性能了如指掌。备选的是D525/N270的软路由,J1900的软路由主板太新可玩性差暂不考虑。还有就是新路由3Newifi 3),因为之前玩过Newifi Y1,刷breed和潘多拉,单线4拨,给爸妈用了。功能方面的话不是很强,性能和稳定性还行,内存大、不到100元价格,性价比极高。
还有就是自己组装一台软路由的想法,网上目测主板、电源、千兆网卡等。最初的想法是弄一个D2550的主板,主板带PCIE 1X槽,可以扩充多口的千兆网卡,链路聚合啥的。而且听说D2550D525的升级版,比之前观望的D252/N270软路由都会强不少,并且二手主板价格相当的便宜。直到一块华擎的APU主板出现在我的面前,通体漆黑上一抹蓝凸显雍容华贵惊艳四方的一块主板。这主板拥有PCIE 16X扩展槽,9路音频输出,SPDIF输出,USB3.0。更主要的是D2550主板只有两个SATA,这主板拥有了4SATA,更适合装在NAS机箱。并且使用的是台式机的大内存条,稳定性和速度(可能一样,但作者持怀疑态度)应该更高于小内存条。店家宣称支持自由超频(当时没仔细研究这是啥,以为可以随便超频的意思,结果入了坑),更重要的是什么还支持虚拟化(给万一搞不了CentOS,还能虚拟话成ROSiKuaiLEDE之类的留了退路,单单装这些路由系统的话,个人感觉是不怎么值的可玩性太低)

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

经过漫长的几个星期的纠结,茶饭不思,日渐消瘦,哎。到处借钱骗红包,终于攒足了钱,买下了机箱和E350主板。如下图,花了一小时组装好,装系统开机。不得不说这机箱的硬盘架,只能支持螺丝屁股小于6mm的沉孔螺丝,由于没有这种规格的螺丝,硬盘没法固定在硬盘架上,插上主机的时候也插不紧,差点以为主板是坏的,因为开机就只会卡在BIOS的界面。重新插了硬盘之后正常使用,主板上面的CPU的风扇插错的通道,插在机箱风扇上,没法自动控制,实在是声音大找了一圈终于找到了一个没有字的插针。

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽


用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

接下来进入正题,如何进行拨号上网?yum install –y rp-pppoe先安装Linux通用拨号程序,几乎所有的Linux都是用这个拨号程序的。安装好rp-pppoe之后,可以使用pppoe-setup进行账号密码和DNS设置,这边怎么设置的省略,按照提示输入就行了。完成之后会保存成配置文件/etc/sysconfig/network-script/ifcfg-ppp0,可以简单的使用ifupppp0命令来直接进行拨号连接。下面这张简易拓扑图(伪拓扑图)大致的讲解下结构。
用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

拨号后设置nat转发,就能实现简易路由,代码如下
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
实测网速下行大概在190M左右,上行在34M左右,网速有点缩水。查看网卡的工作模式确实是在1000M模式的,只不过网卡驱动是RTL8169的,网上搜索了下,有很多人反应,8169的网卡驱动在RTL8111的网卡上存在不兼容无法使用的问题。于是下载驱动源码(RTL8168)下载内核头文件编译器,重新编译内核,装上驱动后问题依旧。猜测可能螃蟹厂的RTL 8111E网卡不行(网上说EF是这个系列里最好的,GH啥的都是阉割的),于是作者又买了块Intel 825764口网卡,挺贵的艹艹艹,舍不得孩子套不着狼。到手后装上立马测试,还是达不到预期的速度,top命令查看pppoe的资源情况,单个进程的占用CPU比较高,能达到98左右。但总体CPU占用情况12%,并不很高。然后又测试了网卡的转发性能,并没有问题,可以排除掉南北桥性能问题。那剩下的唯一可能就是APU上的pppoe程序没有优化,于是放弃yum上安装的成品rp-pppoe 3.10二进制包,从网上下载3.13的源码自行编译安装,性能稍微有些提升。先将就着用吧,万一多拨之后能比较大的提升呢(然并软)。

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

rp-pppoe存在一个流弊的BUG,就是单网卡(同MAC地址)多播,这个特性可以突破我这个地区4拨(在MikroTik上使用VRRP最多只能4拨)的限制,甚至100拨都不是问题。本文下面内容就是讲4拨和10拨下的测试。rp-pppoe多拨设置,命令如下
pppoe-content /etc/sysconfig/network-script/ifcfg-ppp0

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽
多拨之后别的电脑可能就无法再拨号了
需要几拨就执行几次,然后设置iproute2的负载均衡。这貌似是个新特性,相当的不错,配置起来so easy。妈妈再也不用担心我玩游戏卡(大雾)。下面一句话搞定
ip route replace default equalize nexthop dev ppp0 weight 1 nexthopdev ppp1 weight 1
有几路就连续写几个nexthopweight 1就是权重一样,平均分配带宽。最后我们要设置nat转发,和上面的差不多,只不过也是有几波就要设置几个转发。
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp2 -j MASQUERADE

完成后简易的路由器就是成了,不过目前只有路由功能,DHCPDNS功能我们稍后再加上。我已经迫不及待的想要来跑个分了。下面是4拨的情况下相关数据,电信的官方测试客户端不支持多线程,所以使用这个网站进行测试。测试结果应该算是比较准的吧,实际情况可能比测试更高些。签约带宽上行30M,测试下来114M的上行可以看出,应该是配置成功了。测试过程中用sar命令监控各路拨号的负载情况如下图。

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

把剩下的事做完,关闭掉光猫自带的DHCP,并自建DHCPDNS服务器。一句话安装dnsmasq,公司的DNS服务器我就用这个,400多人使用,做了2000条缓存,性能和可靠性杠杠的。为手艺人点赞,不对,为这软件和作者点赞。

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

yum install –y dnsmasq
vim /etc/dnsmasq.conf 编辑配置文件,我的配置如下图

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

/etc/init.d/dnsmasq start
完成之后,电脑网卡重启就能获取从配置的DHCP服务器上获取到信息,并且无线AP也能正常的使用了。实测跑分是差了点,但两台小米电视看4K毫无压力。Intel这网卡支持队列(mq),听说性能是螃蟹厂的网卡所不能比拟的。已作者人品担保,带机500台肯定是没有问题的(瞎说)。

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

最终的所有配置是这样的

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

安装trasmission下两部片,草鸡快。做种上传更是达到了惊人的144M。不知什么是家里的宽带电信给恢复了公网IP,真是良心啊。拥有10个外网IP就是一个字

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

大功告成,再为我的小路由器安装个花生壳。方便上班的时候投递种子(大雾),我说我只是为了远程管理,你们信吗。

用CentOS做一台单网卡单线10拨路由器,榨干某信带宽

总结,这个廉价的方案比较适合单网卡的NAS来做软路由,系统不一样,方法同理。性能能不能提升还得看人品。

参考文献
https://blog.csdn.net/com_stu_zhang/article/details/7815775
https://blog.csdn.net/l1902090/article/details/25780231
https://blog.csdn.net/wdscq1234/article/details/52643637
https://blog.csdn.net/bupt_tinyfisher/article/details/10255393

THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发
管埋员的头像-小北的自留地

昵称

取消
昵称