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. tc
nie 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 tc
wydaje 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”
- usunięcie niektórych niepotrzebnych pakietów
- zamykanie niepotrzebnych usług
- konfigurowanie iptables w celu filtrowania całego ruchu przychodzącego oprócz jednego niestandardowego portu dla ssh
- 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?
źródło
Odpowiedzi:
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ą
ethtool
widziałem to: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.
źródło
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.
źródło