找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14241|回复: 15

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

[复制链接]
发表于 2019-8-17 12:56:51 | 显示全部楼层 |阅读模式
  自从家里宽带升级到了200M就捣腾这捣腾那的,因为原先用的MikroTikROS系统)路由器是个百兆的,虽然能够使用单线4拨,但速度也上不了100M了。于是破解光猫超管密码,使用光猫直接路由,下行230M上行40M左右速度挺满意的。毕竟相比去年家里30M带宽多拨后达到98M强太多了。用了没过多久抑制不住一颗蠢蠢欲动的心,想当年30M多拨能达到接近100M,要是200M多拨,这还不逆天!于是网上目测了几款千兆路由,首选的还是MikroTik的路由,毕竟用了多年,对功能和性能了如指掌。备选的是D525/N2600的软路由,J1900的软路由主板太新可玩性差暂不考虑。还有就是新路由3Newifi 3),因为之前玩过Newifi Y1,刷breed和潘多拉,单线4拨,给爸妈用了。功能方面的话不是很强,性能和稳定性还行,内存大、不到100元价格,性价比极高。

  还有就是自己组装一台软路由的想法,网上目测主板、电源、千兆网卡等。最初的想法是弄一个D2550的主板,主板带PCIE 1X槽,可以扩充多口的千兆网卡,链路聚合啥的。而且听说D2550D525的升级版,比之前观望的D252/N2600软路由都会强不少,并且二手主板价格相当的便宜。直到一块华擎的APU主板出现在我的面前,通体漆黑上一抹蓝凸显雍容华贵惊艳四方的一块主板。这主板拥有PCIE 16X扩展槽,9路音频输出,SPDIF输出,USB3.0。更主要的是D2550主板只有两个SATA,这主板拥有了4SATA,更适合装在NAS机箱。并且使用的是台式机的大内存条,稳定性和速度(可能一样,但作者持怀疑态度)应该更高于小内存条。店家宣称支持自由超频(当时没仔细研究这是啥,以为可以随便超频的意思,结果入了坑),更重要的是什么还支持虚拟化(给万一搞不了CentOS,还能虚拟话成ROSiKuaiLEDE之类的留了退路,单单装这些路由系统的话,个人感觉是不怎么值的可玩性太低)

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



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

  拨号后设置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的源码自行编译安装,性能稍微有些提升。先将就着用吧,万一多拨之后能比较大的提升呢(然并软)。

  rp-pppoe存在一个流弊的BUG,就是单网卡(同MAC地址)多播,这个特性可以突破我这个地区4拨(在MikroTik上使用VRRP最多只能4拨)的限制,甚至100拨都不是问题。本文下面内容就是讲4拨和10拨下的测试。rp-pppoe多拨设置,命令如下
  pppoe-content /etc/sysconfig/network-script/ifcfg-ppp0
多拨之后别的电脑可能就无法再拨号了
  需要几拨就执行几次,然后设置iproute2的负载均衡。这貌似是个新特性,相当的不错,配置起来so easy。妈妈再也不用担心我玩游戏卡(大雾)。下面一句话搞定
  ip route replace default equalize nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
  有几路就连续写几个nexthopweight 1就是权重一样,平均分配带宽。最后我们要设置nat转发,和上面的差不多,只不过也是有几拨就要设置几个转发。
  iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
  iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE
  …
  完成后简易的路由器就成了,不过目前只有路由功能,DHCPDNS功能我们稍后再加上。我已经迫不及待的想要来跑个分了。下面是4拨的情况下相关数据,某信的官方测试客户端不支持多线程,所以使用这个网站进行测试。测试结果应该算是比较准的吧,实际情况可能比测试更高些。签约带宽上行30M,测试下来114M的上行可以看出,应该是配置成功了。测试过程中用sar命令监控各路拨号的负载情况如下图。



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

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

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


eth0-3 intel 网卡支持mq,eth4 rtl8111e 网卡不支持

  最终的所有配置是这样的


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


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

  总结,这个廉价的方案比较适合单网卡的NAS来做软路由,树莓派也可以,系统不一样,方法同理。性能能不能提升还得看人品,并且这是最简单的配置方法,正规的配置会用到nth来负载均衡,这里没有介绍可以看下面参考文献(因为太复杂我也懒得调)。其他NAS的功能无非是网络共享之类的,可以装SAMBA服务,视频转流媒体转换可以用FFMPEG+NGINX来实现HLS,部署起来也不是很难的。

参考文献
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
 楼主| 发表于 2019-8-17 13:02:23 | 显示全部楼层
负载均衡配的简单,也有可能配的是有问题的。下行缩水一半,只有100M,上行可达144M。
用nth来配可能是有必要的,暂且先娱乐下。
发表于 2019-8-17 20:01:11 | 显示全部楼层
这才是大佬玩法
发表于 2019-8-17 21:18:22 | 显示全部楼层
这是真大佬......你那能多拨真是爽呆了
发表于 2019-9-18 20:26:10 | 显示全部楼层
大神牛啊,就凭这大凶之罩,借500都得{:7_200:}
qyz3006 该用户已被删除
发表于 2019-9-21 11:27:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2019-9-24 16:09:57 | 显示全部楼层
多wlan上网拨号软件或者多口拨号路由器就可以了 电信带宽是针对单机拨号 下发数据VLAN一样的情况下 宽带账号支持多终端拨号 就可以玩 我之前50M带宽最高可达200M 然后就被上门维修了 后台检测数据不正常

点评

走走看看学习一下  发表于 2020-7-21 10:19
发表于 2019-11-14 11:14:44 | 显示全部楼层
我们这早就封了多拨了
发表于 2019-11-22 10:09:28 | 显示全部楼层
早就不能玩了
发表于 2020-3-10 16:52:24 | 显示全部楼层
大神,请收下俺的膝盖
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|宽带技术网 |网站地图

粤公网安备 44152102000001号

GMT+8, 2024-4-25 23:01 , Processed in 0.028244 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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