TL; DR
Il router / firewall NAT CentOS6 dietro una connessione modem via cavo da 120 Mbps sembra limitare il throughput a 30 Mbps dopo i recenti aggiornamenti e il "rafforzamento" della sicurezza.
Prima degli aggiornamenti e dell'indurimento stavo ottenendo 90 Mbps.
Ho verificato l'utilizzo della CPU e della rete e nessuno di questi sembra essere un fattore limitante. tc
non mostra alcun modellamento del traffico in corso e non so come risolvere ulteriormente questo problema.
Dettagli
Ho un sistema CentOS 6 in esecuzione come router / firewall NAT dietro un modem via cavo Comcast, che funziona anche come router NAT
1000 100
eth1 eth0
Internet-------Modem-------------CentOS6-----------------LAN
10.0.0.0/24 192.168.10.0/24
Il doppio NAT è un'eredità del sistema CentOS che in precedenza aveva funzionato come router / firewall dietro un modem via cavo Time-Warner che funzionava in modalità bridge. Quando mi sono trasferito nel territorio di Comcast, intendevo passare il modem in modalità bridge, ma non ci sono mai riuscito e il doppio NAT non ha mai causato problemi. Stavo ottenendo una velocità di trasmissione di 90 Mbps senza problemi.
Durante la preparazione alla conversione in modalità bridge sul modem Comcast ho deciso di "rafforzare" il sistema CentOS disabilitando alcuni servizi non necessari e facendo "aggiornamento yum", cosa che non avevo fatto da un po 'di tempo. Dopo l'indurimento ho fatto un test di velocità e sono stato sorpreso di trovare un throughput fino a 30 Mbps.
Ho provato a collegare il mio sistema desktop primario direttamente al modem in questo modo
eth1 eth0
Internet---Modem-------------CentOS6-----------------LAN
| 10.0.0.0/24 192.168.10.0/24
|
+--------------Desktop(Win7)
L'esecuzione di speedtest.net ha verificato che la mia connessione Comcast è in grado di 120 Mbps, quindi qualcosa che ho cambiato sul sistema CentOS ha portato a limitare il throughput a 30 Mbps. Ogni volta che eseguo un test di velocità dalla LAN (dietro il sistema CentOS) ottengo un valore compreso tra l'1-2% di 30 Mbps, quindi mi sembra quasi che qualcosa stia ostacolando artificialmente il throughput.
Ho pensato che forse il traffic shaping fosse abilitato in qualche modo, ma tc
sembra indicare che non è attivo
[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
L '"indurimento" consisteva in
- rimuovendo alcuni pacchetti non necessari
- chiusura di servizi non necessari
- configurare iptables per filtrare tutto il traffico in entrata tranne una porta non standard per ssh
- installazione e configurazione di tripwire
Pacchetti rimossi:
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
Servizi attualmente abilitati:
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
La mia domanda è: cosa devo fare accanto per capire perché il mio router CentOS 6 sembra limitare artificialmente la velocità di trasmissione a 30 Mbps?