Le routeur / pare-feu CentOS 6 semble limiter le débit

12

TL; DR

Le routeur / pare-feu NAT CentOS6 derrière une connexion par modem câble de 120 Mbps semble limiter le débit à 30 Mbps après les mises à jour récentes et le "renforcement" de la sécurité.

Avant les mises à jour et le durcissement, j'obtenais 90 Mbps.

J'ai vérifié l'utilisation du CPU et du réseau et aucun de ceux-ci ne semble être un facteur limitant. tcne montre aucune mise en forme du trafic en cours et je ne sais pas comment résoudre ce problème davantage.

Détails

J'ai un système CentOS 6 fonctionnant comme un routeur / pare-feu NAT derrière un modem câble Comcast, qui fonctionne également comme un routeur NAT

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

Le double NAT est un héritage du système CentOS ayant précédemment servi de routeur / pare-feu derrière un modem câble Time-Warner qui fonctionnait en mode pont. Lorsque j'ai déménagé en territoire Comcast, j'avais l'intention de passer le modem en mode pont, mais je n'y suis jamais parvenu, et le double NAT n'a jamais causé de problème. J'obtenais un débit de 90 Mbps sans aucun problème.

En me préparant à convertir en mode ponté sur le modem Comcast, j'ai décidé de "durcir" le système CentOS en désactivant certains services inutiles et en faisant une "mise à jour miam", ce que je n'avais pas fait depuis longtemps. Après durcissement, j'ai fait un test de vitesse et j'ai été surpris de trouver un débit jusqu'à 30 Mbps.

J'ai essayé de connecter mon système de bureau principal directement au modem comme celui-ci

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

L'exécution de speedtest.net a vérifié que ma connexion Comcast est capable de 120 Mbps, donc quelque chose que j'ai changé sur le système CentOS a entraîné un plafonnement du débit à 30 Mbps. Chaque fois que je fais un test de vitesse à partir du réseau local (derrière le système CentOS), j'obtiens une valeur comprise entre 1 et 2% de 30 Mbps, donc j'ai l'impression que quelque chose plafonne artificiellement le débit.

Je pensais que la mise en forme du trafic avait peut-être été activée d'une manière ou d'une autre, mais tcsemble indiquer qu'elle n'est pas active

[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

Le "durcissement" consistait en

  1. suppression de certains packages inutiles
  2. fermeture de services inutiles
  3. configuration d'iptables pour filtrer tout le trafic entrant, à l'exception d'un port non standard pour ssh
  4. installation et configuration de tripwire

Paquets supprimés:

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

Services actuellement activés:

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 

Ma question est: que dois-je faire ensuite pour comprendre pourquoi mon routeur CentOS 6 semble plafonner artificiellement le débit à 30 Mbps?

Ex Umbris
la source
Méthode scientifique ... Qu'avez-vous fait pour "durcir" le système? Quel matériel est utilisé? Est-ce sain?
ewwhite
@ewwhite voir les mises à jour de l'article.
Ex Umbris
Que se passe-t-il si vous désactivez l'inspection iptables?
ewwhite
J'ai défini les politiques par défaut sur ACCEPT sur les trois chaînes (entrée, transfert, sortie) et vidé toutes les règles ... aucun changement, toujours 30 Mbps
Ex Umbris
Votez pour les électeurs?
Ex Umbris

Réponses:

17

Donc, le problème s'est avéré être un problème matériel. Les choses fonctionnaient bien il y a un mois, et on ne s'attend pas à ce que le matériel défaillant "fonctionne" toujours en mode dégradé, mais c'est ce qui se passait.

L'étape de dépannage qui a révélé le problème consistait à regarder les voyants du port Ethernet à l'arrière du modem câble. Au lieu du voyant vert "1Gbps", il était orange, signifiant "100Mbps". Dans ce mode, il semble que le modem ne prend en charge que le débit jusqu'à 30 Mbps environ.

Je sais que le modem (Arris TG-852G) a des ports GBEthernet, donc quelque chose empêchait le Centos de parler au modem à 1 Gbps. En utilisant ethtoolj'ai vu ceci:

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

qui disait essentiellement (du point de vue de l'adaptateur Centos) "Je peux prendre en charge GBEthernet et je fais de la publicité pour GBEthernet, mais l'homologue ne prend pas en charge GBEthernet - je suis donc connecté à 100 Mbps à la place" .

J'ai essayé divers correctifs suggérés dans plusieurs forums en ligne (y compris ici), tels que l'utilisation d'un câble différent, la désactivation de la négociation automatique, la publicité à seulement 1 Go de vitesse ou la définition manuelle de la vitesse à 1 Go. Désactiver l'auto-nég et essayer plusieurs câbles Cat6 différents n'a eu aucun effet, et les deux autres ont empêché l'établissement d'une connexion.

J'ai conclu que ce devait être l'adaptateur lui-même et j'ai commandé un nouvel adaptateur. Une fois installé, il s'est immédiatement connecté à 1 Gbit / s. Problème résolu.

La morale de l'histoire est, bien sûr, que même si les pannes matérielles dans les appareils sans pièces mobiles sont rares de nos jours, elles sont toujours possibles et devraient être éliminées avant de blâmer le logiciel.

Ex Umbris
la source
1
Selon cette sortie, l'homologue n'offre littéralement même pas de GBE, donc aucune quantité de votre configuration ne remplacerait cela. S'il s'agissait par exemple d'un mauvais câble, vous verriez une vitesse de liaison négociée inférieure, mais vous verriez toujours GBE dans les vitesses annoncées de votre homologue. Étant donné que cela a été résolu en changeant votre carte réseau, cela signifie que quelque chose à un niveau très bas à l'intérieur ou à proximité du [G] MII se comportait mal. C'est assez profond dans un territoire "bizarre" que je ferai comme des milliers de net.engs l'ont fait avant moi et disent: "Je blâme le firmware."
BMDan
7

Ce que je ferais ici, c'est d'annuler les modifications individuellement et d'exécuter un test de vitesse après chacune ou d'annuler toutes les modifications. Comparez une version non modifiée de CentOS (ligne de base), puis appliquez chaque modification individuellement et exécutez le test de vitesse après chaque modification.

user9517
la source