CentOS 6ルーター/ファイアウォールがスループットを調整しているようです


12

TL; DR

120 Mbpsケーブルモデム接続の背後にあるCentOS6 NATルーター/ファイアウォールは、最近の更新とセキュリティの「強化」の後、スループットを30 Mbpsに制限しているようです。

更新と強化の前に、私は90Mbpsを取得していました。

CPUとネットワークの使用状況を確認しましたが、どちらも制限要因ではないようです。 tc進行中のトラフィックシェーピングは表示されず、これをさらにトラブルシューティングする方法がわかりません。

詳細

NATルーターとしても実行されているComcastケーブルモデムの背後にあるNATルーター/ファイアウォールとして実行されているCentOS 6システムがあります。

                              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モデムでブリッジモードに変換する準備をする際に、CentOSシステムを「強化」することにしました。いくつかの不要なサービスを無効にし、「yum update」を実行しました。強化後、速度テストを行ったところ、30 Mbpsまでのスループットが得られたことに驚きました。

このようにプライマリデスクトップシステムをモデムに直接接続してみました

                          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

「硬化」は

  1. 不要なパッケージを削除する
  2. 不要なサービスをシャットダウンする
  3. sshの1つの非標準ポートを除くすべての着信トラフィックをフィルタリングするためのiptablesのセットアップ
  4. 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のスループットを人為的に制限しているように見える理由を理解するために、次に何をすべきでしょうか?


科学的方法...システムを「強化」するために何をしましたか?使用しているハードウェアは何ですか?健康ですか?
ewwhite

@ewwhiteが投稿の更新を確認します。
元Umbris

iptablesインスペクションを無効にするとどうなりますか?
ewwhite

3つすべてのチェーン(入力、転送、出力)でデフォルトポリシーをACCEPTに設定し、すべてのルールをフラッシュしました...変更なし、まだ30Mbps
Ex Umbris

コメントするDownvoterケア?
元Umbris

回答:


17

したがって、ここでの問題はハードウェアの問題であることが判明しました。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で接続されました。問題が解決しました。

物語の教訓は、もちろん、可動部分のないデバイスのハードウェア障害は最近ではまれですが、それでも可能性があり、ソフトウェアを非難する前に排除する必要があるということです。


1
この出力によると、ピアは文字通りGBEを提供していません。そのため、設定の量がそれをオーバーライドすることはありません。たとえば、ケーブルの品質が悪い場合、ネゴシエートされたリンク速度は遅くなりますが、ピアからアドバタイズされた速度にはGBEが表示されます。ネットワークカードを変更することで解決したことを考えると、それは[G] MIIの内部または近くで非常に低いレベルの何かが誤動作していたことを意味します。これは「奇妙な」領域に深く入り込んでおり、何千人ものnet.engsが私の前にやったように、「ファームウェアのせいだ」と言います。
BMDan

7

ここで行うことは、変更を個別に元に戻し、それぞれの後に速度テストを実行するか、すべての変更を元に戻します。変更されていないCentOS(ベースライン)のベンチマークを行い、各変更を個別に適用し、各変更後に速度テストを実行します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.