CentOS6 NAT 120Mbpsケーブルモデム接続の背後にあるルーター/ファイアウォールは、最近の更新とセキュリティの「強化」の後、スループットを30Mbpsに制限しているようです。
アップデートと強化の前に、90Mbpsを取得していました。
CPUとネットワークの使用状況を確認しましたが、どちらも制限要因ではないようです。 tc
は、進行中のトラフィックシェーピングを示しておらず、これをさらにトラブルシューティングする方法がわかりません。
NATルーター/ファイアウォール、Comcastケーブルモデムの背後にある、NATルーターとして実行されている
1000 100
eth1 eth0
Internet-------Modem-------------CentOS6-----------------LAN
10.0.0.0/24 192.168.10.0/24
ダブルNATは、以前はブリッジモードで実行されていたTime-Warnerケーブルモデムの背後にあるルーター/ファイアウォールとして機能していたCentOSシステムからの遺産です。Comcastテリトリーに移動したとき、モデムをブリッジモードに切り替えましたが、回避できず、二重NATは問題を引き起こしませんでした。問題なく90Mbpsのスループットを得ていました。
Comcastモデムでブリッジモードに変換する準備をする際に、いくつかの不要なサービスを無効にし、しばらくしていない「yum update」を実行して、CentOSシステムを「強化」することにしました。強化後、速度テストを行ったところ、スループットが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に制限されました。 LAN(CentOSシステムの背後)から速度テストを行うたびに、30Mbpsの1〜2%以内の値が得られるため、スループットが人工的に制限されているように感じられます。
どういうわけかトラフィックシェーピングが有効になったのではないかと思いましたが、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
「硬化」は
削除されたパッケージ:
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
私の質問は、CentOS6ルーターが30Mbpsでスループットを人為的に制限しているように見える理由を理解するために次に何をすべきですか?
したがって、ここでの問題はハードウェアの問題であることが判明しました。 1か月前は問題なく動作しており、故障したハードウェアが劣化モードでも「動作」するとは思われませんが、それが起こっていたのです。
問題を明らかにしたトラブルシューティングの手順は、ケーブルモデムの背面にあるイーサネットポートのライトを実際に確認することでした。緑色の「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に設定するなど、いくつかのオンラインフォーラム(ここを含む)で提案されたさまざまな修正を試しました。自動否定をオフにして、いくつかの異なるCat6ケーブルを試しても効果はなく、他の2つは接続の確立をまったく妨げていました。
私はそれがアダプター自体でなければならないと結論し、新しいアダプターを注文しました。インストールするとすぐに1Gbpsで接続されました。問題が解決しました。
もちろん、この話の教訓は、可動部品のないデバイスでのハードウェア障害は最近ではまれですが、それでも可能であり、ソフトウェアを非難する前に排除する必要があるということです。
ここで私が行うことは、変更を個別に元に戻し、それぞれの後に速度テストを実行するか、すべての変更を元に戻すことです。変更されていないバージョンのCentOS(ベースライン)をベンチマークしてから、各変更を個別に適用し、各変更後に速度テストを実行します。