Router / firewall CentOS 6 wydaje się ograniczać przepustowość

12

TL; DR

Router / zapora NAT CentOS6 za modemem kablowym 120 Mb / s wydaje się ograniczać przepustowość do 30 Mb / s po ostatnich aktualizacjach i „wzmocnieniu” bezpieczeństwa.

Przed aktualizacjami i utwardzaniem uzyskiwałem 90 Mb / s.

Sprawdziłem użycie procesora i sieci i żadne z nich nie wydaje się być czynnikiem ograniczającym. tcnie pokazuje żadnego kształtowania ruchu i nie wiem, jak rozwiązać to dalej.

Detale

Mam system CentOS 6 działający jako router / zapora NAT za modemem kablowym Comcast, który działa również jako router NAT

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

Podwójny NAT jest dziedzictwem systemu CentOS, który wcześniej pełnił funkcję routera / zapory sieciowej za modemem kablowym Time-Warner działającym w trybie pomostowym. Kiedy przeniosłem się na terytorium Comcast, zamierzałem przełączyć modem w tryb mostka, ale nigdy się do tego nie obejdzie, a podwójna translacja NAT nigdy nie spowodowała problemu. Dostawałem przepustowość 90 Mb / s bez żadnych problemów.

Przygotowując się do przejścia do trybu zmostkowanego na modemie Comcast, postanowiłem „zahartować” system CentOS, wyłączając niektóre niepotrzebne usługi i wykonując „mniam aktualizację”, czego nie robiłem od dłuższego czasu. Po utwardzeniu zrobiłem test prędkości i byłem zaskoczony, że znalazłem przepustowość do 30 Mb / s.

Próbowałem podłączyć mój podstawowy system stacjonarny bezpośrednio do modemu w ten sposób

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

Uruchomienie speedtest.net potwierdziło, że moje połączenie Comcast ma prędkość 120 Mb / s, więc coś, co zmieniłem w systemie CentOS, spowodowało ograniczenie przepustowości przy 30 Mb / s. Za każdym razem, gdy przeprowadzam test prędkości z sieci LAN (za systemem CentOS), otrzymuję wartość w zakresie 1-2% 30 Mb / s, więc wydaje mi się, że coś sztucznie ogranicza przepustowość.

Myślałem, że może jakoś włączono kształtowanie ruchu, ale tcwydaje się wskazywać, że nie jest aktywne

[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

Składało się „hartowanie”

  1. usunięcie niektórych niepotrzebnych pakietów
  2. zamykanie niepotrzebnych usług
  3. konfigurowanie iptables w celu filtrowania całego ruchu przychodzącego oprócz jednego niestandardowego portu dla ssh
  4. instalacja i konfiguracja tripwire

Usunięte pakiety:

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

Obecnie włączone usługi:

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 

Moje pytanie brzmi: co powinienem zrobić, aby dowiedzieć się, dlaczego mój router CentOS 6 wydaje się sztucznie ograniczać przepustowość przy prędkości 30 Mb / s?

Ex Umbris
źródło
Metoda naukowa ... Co zrobiłeś, aby „wzmocnić” system? Jaki sprzęt jest używany? Czy to jest zdrowe?
ewwhite
@ewwhite zobacz aktualizacje posta.
Ex Umbris
Co się stanie, jeśli wyłączysz inspekcję iptables?
ewwhite
Ustawiłem domyślne zasady na AKCEPTUJĘ na wszystkich trzech łańcuchach (wejściowy, do przodu, wyjściowy) i opróżniłem wszystkie reguły ... bez zmian, wciąż 30 Mb / s
Ex Umbris
Downvoter chce komentować?
Ex Umbris,

Odpowiedzi:

17

Problem okazał się więc problemem sprzętowym. Miesiąc temu wszystko działało dobrze i nie oczekuje się, że uszkodzony sprzęt będzie nadal „działał” w trybie zdegradowanym, ale tak właśnie się działo.

Krokiem do rozwiązania problemu, który ujawnił problem, było sprawdzenie świateł portu Ethernet z tyłu modemu kablowego. Zamiast zielonego światła „1 Gbps” świeciło na pomarańczowo, co oznacza „100 Mbps”. W tym trybie wydaje się, że modem obsługuje przepustowość tylko do około 30 Mb / s.

Wiem, że modem (Arris TG-852G) ma porty GBEthernet, więc coś uniemożliwiło Centosowi rozmowę z modemem z prędkością 1 Gb / s. Za pomocą ethtoolwidziałem to:

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

który zasadniczo powiedział (z punktu widzenia adaptera Centos ) „Mogę obsługiwać GBEthernet i reklamuję GBEthernet, ale peer nie obsługuje GBEthernet - więc zamiast tego jestem połączony z prędkością 100 Mb / s” .

Próbowałem różnych poprawek sugerowanych na kilku forach internetowych (w tym tutaj), takich jak używanie innego kabla, wyłączanie automatycznych negocjacji, reklamowanie prędkości tylko 1 GB lub ręczne ustawianie prędkości na 1 GB. Wyłączenie auto-neg i wypróbowanie kilku różnych kabli Cat6 nie przyniosło żadnego efektu, a pozostałe dwa w ogóle uniemożliwiły nawiązanie połączenia.

Uznałem, że to musi być sam adapter i zamówiłem nowy adapter. Po zainstalowaniu natychmiast łączy się z prędkością 1 Gb / s. Problem rozwiązany.

Morał tej historii jest oczywiście taki, że chociaż awarie sprzętu w urządzeniach bez ruchomych części są obecnie rzadkie, nadal są możliwe i powinny zostać wyeliminowane przed obwinianiem oprogramowania.

Ex Umbris
źródło
1
Zgodnie z tym wynikiem, peer dosłownie nawet nie oferuje GBE, więc żadna ilość konfiguracji by tego nie zastąpiła. Gdyby to był np. Zły kabel, zobaczyłbyś niższą wynegocjowaną prędkość łącza, ale nadal widziałbyś GBE w reklamowanych prędkościach od swojego partnera. Biorąc pod uwagę, że został on rozwiązany zmieniając swoją kartę sieciową, która coś znaczy na poziomie wewnątrz bardzo niskim lub w pobliżu [G] MII był niewłaściwie. Jest to wystarczająco głęboko na „dziwnym” terytorium, które zrobię tak, jak tysiące net.engs zrobili przede mną i powiedzą: „Obwiniam oprogramowanie układowe”.
BMDan
7

Chciałbym tutaj cofnąć zmiany indywidualnie i uruchomić test prędkości po każdej z nich lub cofnąć wszystkie zmiany. Przeprowadź analizę porównawczą niezmodyfikowanej wersji CentOS (poziom bazowy), a następnie zastosuj każdą zmianę indywidualnie i uruchom test prędkości po każdej zmianie.

użytkownik9517
źródło