CentOS 6 Router / Firewall scheint den Durchsatz zu drosseln

12

TL; DR

Der CentOS6-NAT-Router / die Firewall hinter einer 120-Mbit / s-Kabelmodemverbindung scheint nach den jüngsten Aktualisierungen und dem "Absichern" der Sicherheit den Durchsatz auf 30 Mbit / s zu begrenzen.

Vor dem Update und dem Härten habe ich 90 Mbit / s erhalten.

Ich habe die CPU- und Netzwerkauslastung überprüft und keiner dieser Faktoren scheint ein begrenzender Faktor zu sein. tczeigt keine Traffic Shaping im Gange und ich weiß nicht, wie ich das weiter beheben soll.

Einzelheiten

Ich habe ein CentOS 6-System, das als NAT-Router / Firewall hinter einem Comcast-Kabelmodem ausgeführt wird, das auch als NAT-Router ausgeführt wird

                              1000     100
                              eth1     eth0
Internet-------Modem-------------CentOS6-----------------LAN
                     10.0.0.0/24         192.168.10.0/24

Das doppelte NAT ist ein Erbe des CentOS-Systems, das zuvor als Router / Firewall hinter einem Time-Warner-Kabelmodem diente, das im Bridge-Modus lief. Als ich in Comcast-Territorium zog, wollte ich das Modem in den Bridge-Modus schalten, kam aber nie dazu, und das doppelte NAT verursachte nie ein Problem. Ich hatte einen problemlosen Durchsatz von 90 Mbit / s.

Als ich mich darauf vorbereitete, auf dem Comcast-Modem in den Bridged-Modus zu wechseln, entschied ich mich, das CentOS-System zu "härten", indem ich einige nicht mehr benötigte Dienste deaktivierte und "yum update" durchführte, was ich eine Weile nicht mehr getan hatte. Nach dem Aushärten machte ich einen Geschwindigkeitstest und war überrascht, einen Durchsatz von bis zu 30 Mbit / s zu finden.

Ich habe versucht, mein primäres Desktopsystem wie folgt direkt an das Modem anzuschließen

                          eth1     eth0
Internet---Modem-------------CentOS6-----------------LAN
              |  10.0.0.0/24         192.168.10.0/24
              |
              +--------------Desktop(Win7)

Wenn speedtest.net ausgeführt wird, wurde überprüft, ob meine Comcast-Verbindung 120 Mbit / s unterstützt. Durch eine Änderung auf dem CentOS-System wurde der Durchsatz auf 30 Mbit / s begrenzt. Jedes Mal, wenn ich einen Geschwindigkeitstest über das LAN (hinter dem CentOS-System) durchführe, erhalte ich einen Wert zwischen 1 und 2% von 30 Mbit / s. Es fühlt sich also fast so an, als würde der Durchsatz künstlich begrenzt.

Ich dachte, vielleicht wurde Traffic Shaping aktiviert, tcscheint aber darauf hinzudeuten, dass es nicht aktiv ist

[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

Die "Verhärtung" bestand aus

  1. Entfernen einiger nicht benötigter Pakete
  2. Herunterfahren nicht benötigter Dienste
  3. Einrichten von iptables zum Filtern des gesamten eingehenden Datenverkehrs mit Ausnahme eines nicht standardmäßigen Ports für ssh
  4. Installation und Konfiguration von Tripwire

Entfernte Pakete:

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

Derzeit aktivierte Dienste:

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 

Meine Frage lautet: Was muss ich als Nächstes tun, um herauszufinden, warum mein CentOS 6-Router den Durchsatz bei 30 Mbit / s künstlich zu begrenzen scheint?

Ex Umbris
quelle
Wissenschaftliche Methode ... Was haben Sie getan, um das System zu "härten"? Welche Hardware wird verwendet? Ist es gesund
ewwhite
@ewwhite siehe die Updates zum Beitrag.
Ex Umbris
Was passiert, wenn Sie die iptables-Überprüfung deaktivieren?
Ewwhite
Ich habe die Standardrichtlinien auf AKZEPTIEREN für alle drei Ketten (Eingabe, Weiterleitung, Ausgabe) gesetzt und alle Regeln gelöscht ... keine Änderung, immer noch 30
Mbit /
Möchtest du einen Kommentar abgeben?
Ex Umbris

Antworten:

17

Das Problem hier war also ein Hardwareproblem. Vor einem Monat hat alles gut funktioniert, und man erwartet nicht, dass ausgefallene Hardware immer noch in einem herabgesetzten Modus "funktioniert", aber genau das ist passiert.

Der Fehlerbehebungsschritt, der das Problem aufgedeckt hat, bestand darin, die Ethernet-Anschlussanzeigen auf der Rückseite des Kabelmodems zu überprüfen. Anstelle des grünen Lichts "1 Gbit / s" war es orange und bedeutete "100 Mbit / s". In diesem Modus unterstützt das Modem offenbar nur einen Durchsatz von ca. 30 Mbit / s.

Ich weiß, dass das Modem (Arris TG-852G) GBEthernet-Anschlüsse hat, sodass die Centos nicht mit 1 Gbit / s mit dem Modem kommunizieren konnten. Mit habe ethtoolich folgendes gesehen:

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

die im Wesentlichen sagte (aus der Sicht des Centos-Adapters) "Ich kann GBEthernet unterstützen und werbe für GBEthernet, aber der Peer unterstützt GBEthernet nicht - also bin ich stattdessen mit 100 Mbit / s verbunden" .

Ich habe verschiedene Korrekturen ausprobiert, die in mehreren Online-Foren (einschließlich hier) vorgeschlagen wurden, z. B. die Verwendung eines anderen Kabels, das Deaktivieren der automatischen Aushandlung, die Bekanntgabe einer Geschwindigkeit von nur 1 GB oder die manuelle Einstellung der Geschwindigkeit auf 1 GB. Das Ausschalten von Auto-Neg und der Versuch, mehrere verschiedene Cat6-Kabel zu verwenden, hatte keine Auswirkung, und die anderen beiden verhinderten, dass überhaupt eine Verbindung hergestellt wurde.

Ich kam zu dem Schluss, dass es der Adapter selbst sein musste und bestellte einen neuen Adapter. Bei der Installation wurde sofort eine Verbindung mit 1 Gbit / s hergestellt. Problem gelöst.

Die Moral der Geschichte lautet natürlich, dass Hardwarefehler bei Geräten ohne bewegliche Teile heutzutage zwar selten sind, aber dennoch möglich sind und beseitigt werden sollten, bevor die Software dafür verantwortlich gemacht wird.

Ex Umbris
quelle
1
Laut dieser Ausgabe bietet der Peer buchstäblich nicht einmal GBE an, daher würde kein Teil Ihrer Konfiguration dies außer Kraft setzen. Wenn es sich zum Beispiel um ein fehlerhaftes Kabel handelte, würde die Geschwindigkeit der ausgehandelten Verbindung geringer sein, aber GBE wird in den von Ihrem Peer beworbenen Geschwindigkeiten weiterhin angezeigt. Angesichts der Tatsache, dass dies durch einen Wechsel Ihrer Netzwerkkarte behoben wurde, bedeutet dies, dass sich etwas auf einem sehr niedrigen Niveau innerhalb oder in der Nähe des [G] MII nicht richtig verhält. Dies ist tief genug in "seltsames" Gebiet, dass ich tun werde, wie es Tausende von Net.engs vor mir getan haben und sagen: "Ich beschuldige die Firmware."
BMDan
7

Was ich hier tun würde, ist die Änderungen einzeln rückgängig zu machen und nach jeder Änderung einen Geschwindigkeitstest durchzuführen oder alle Änderungen rückgängig zu machen. Testen Sie eine unveränderte Version von CentOS (Baseline) anhand eines Benchmarks und wenden Sie dann jede Änderung einzeln an. Führen Sie nach jeder Änderung den Geschwindigkeitstest durch.

user9517
quelle