TL; DR
El enrutador / firewall CentOS6 NAT detrás de una conexión de módem por cable de 120Mbps parece limitar el rendimiento a 30Mbps después de las actualizaciones recientes y el "endurecimiento" de la seguridad.
Antes de las actualizaciones y el endurecimiento, obtenía 90 Mbps.
He verificado el uso de la CPU y la red y ninguno de ellos parece ser un factor limitante. tc
no muestra que se esté formando ningún tráfico y no sé cómo solucionarlo aún más.
Detalles
Tengo un sistema CentOS 6 ejecutándose como un enrutador / firewall NAT detrás de un módem de cable Comcast, que también funciona como un enrutador NAT
1000 100
eth1 eth0
Internet-------Modem-------------CentOS6-----------------LAN
10.0.0.0/24 192.168.10.0/24
El doble NAT es un legado del sistema CentOS que anteriormente sirvió como enrutador / firewall detrás de un cable módem Time-Warner que se ejecutaba en modo puente. Cuando me mudé al territorio de Comcast, tenía la intención de cambiar el módem al modo puente, pero nunca lo conseguí, y el doble NAT nunca causó un problema. Estaba obteniendo un rendimiento de 90 Mbps sin problemas.
Al preparar la conversión al modo puente en el módem Comcast, decidí "fortalecer" el sistema CentOS deshabilitando algunos servicios innecesarios y haciendo "yum update", lo que no había hecho en mucho tiempo. Después de endurecer hice una prueba de velocidad y me sorprendió encontrar un rendimiento de hasta 30Mbps.
Traté de conectar mi sistema de escritorio primario directamente al módem como este
eth1 eth0
Internet---Modem-------------CentOS6-----------------LAN
| 10.0.0.0/24 192.168.10.0/24
|
+--------------Desktop(Win7)
La ejecución de speedtest.net verificó que mi conexión de Comcast es capaz de 120Mbps, por lo que algo que cambié en el sistema CentOS resultó en un rendimiento de límite a 30Mbps. Cada vez que hago una prueba de velocidad desde la LAN (detrás del sistema CentOS) obtengo un valor dentro del 1-2% de 30Mbps, por lo que casi parece que algo está limitando artificialmente el rendimiento.
Pensé que tal vez la configuración del tráfico se habilitó de alguna manera, pero tc
parece indicar que no está activa
[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
El "endurecimiento" consistió en
- eliminar algunos paquetes innecesarios
- cerrar servicios innecesarios
- configurar iptables para filtrar todo el tráfico entrante, excepto un puerto no estándar para ssh
- instalar y configurar tripwire
Paquetes eliminados:
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
Servicios habilitados actualmente:
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
Mi pregunta es: ¿qué debo hacer a continuación para descubrir por qué mi enrutador CentOS 6 parece limitar artificialmente el rendimiento a 30 Mbps?