CentOS6 NAT路由器/防火墙背后是120Mbps电缆调制解调器连接
在最近的更新后,似乎将吞吐量限制在30Mbps
安全“硬化”.
在更新和加固之前,我获得了90Mbps.
我已经检查了cpu和网络使用情况,但这些似乎都不是
限制因素. tc没有显示正在进行的任何流量整形
我不知道如何进一步解决这个问题.
细节
我有一个CentOS 6系统作为NAT路由器/防火墙运行
Comcast电缆调制解调器,也作为NAT路由器运行
1000 100 eth1 eth0 Internet-------Modem-------------CentOS6-----------------LAN 10.0.0.0/24 192.168.10.0/24
双NAT是以前使用的CentOS系统的遗产
作为时间华纳有线调制解调器运行的路由器/防火墙
在桥接模式下.当我搬进康卡斯特领地时,我打算这样做
将调制解调器切换到桥接模式,但从来没有绕过它,并且
双NAT从来没有引起过问题.我的吞吐量达到了90Mbps
没有问题.
在准备转换为康卡斯特调制解调器的桥接模式时,我决定
通过禁用一些不需要的服务来“强化”CentOS系统
做“yum update”,我有一段时间没做过.硬化后我
做了速度测试,并惊讶地发现吞吐量低至30Mbps.
我尝试将主桌面系统直接连接到调制解调器
像这样
eth1 eth0 Internet---Modem-------------CentOS6-----------------LAN | 10.0.0.0/24 192.168.10.0/24 | +--------------Desktop(Win7)
运行speedtest.net验证我的Comcast连接是否有能力
120Mbps,所以我在CentOS系统上做了一些改变
将吞吐量限制在30Mbps.我每次都进行速度测试
局域网(在CentOS系统后面)我得到的值在1-2%之内
30Mbps,所以几乎感觉像是人为地封顶了
吞吐量.
我想也许可以通过某种方式启用流量整形,但似乎tc
表明它没有激活
[jhg@perseus ~]$sudo tc -s qdisc qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 64159459406 bytes 44745482 pkt (dropped 0,overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 2871293442 bytes 26151570 pkt (dropped 0,overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0
“硬化”包括
>删除一些不需要的包
>关闭不需要的服务
>设置iptables以过滤除ssh的一个非标准端口之外的所有传入流量
>安装和配置tripwire
删除包:
redis dovecot redhat-lsb-compat ipa-client redhat-lsb nfs-utils-lib redhat-lsb-printing nfs-utils foomatic subversion foomatic-db spamassassin foomatic-db-ppds certmonger cups yp-tools MysqL-server ypbind MysqL rpcbind
目前启用的服务:
abrt-ccpp cpuspeed kdump nmb abrt-oops crond lvm2-monitor ntpd abrtd dhcpd mcelogd postfix acpid dkms_autoinstaller mdmonitor rsyslog atd haldaemon messagebus smb auditd ip6tables named sshd autofs iptables netfs sysstat blk-availability irqbalance network udev-post
我的问题是:接下来我应该做些什么来弄清楚为什么我的CentOS 6
路由器似乎人为地限制了30Mbps的吞吐量?
显示问题的故障排除步骤是实际查看电缆调制解调器背面的以太网端口指示灯.它不是绿色的“1Gbps”灯,而是橙色,表示“100Mbps”.在该模式下,调制解调器似乎只支持高达30Mbps左右的吞吐量.
我知道调制解调器(Arris TG-852G)有GBEthernet端口,所以有些东西阻止了Centos以1Gbps与调制解调器通信.使用ethtool我看到了这个:
Settings for eth1: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: Symmetric Receive-only Link partner advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: yes
基本上说(从Centos适配器的角度来看)“我可以支持GBEthernet,并且正在宣传GBEthernet,但是对等体不支持GBEthernet – 所以我以100Mbps的速度连接”.
我尝试了几个在线论坛(包括这里)建议的各种修复,例如使用不同的线缆,关闭自动协商,仅宣传1GB的速度,或手动将速度设置为1GB.关闭auto-neg并尝试使用几种不同的Cat6电缆没有任何效果,另外两种电缆根本无法建立连接.
我得出结论,它必须是适配器本身,并订购了一个新的适配器.安装时,它立即以1Gbps连接.问题解决了.
当然,故事的寓意是,即使没有移动部件的设备中的硬件故障现在很少见,但它们仍然是可能的,应该在归咎于软件之前消除.