Un sistema GNU/Linux puede ser ajustado hasta el punto de que otros sistemas lo envidian o le temen, especialmente en el aspecto de redes. Ajustar Linux para redes es más simple que en otros sistemas. Hay ajustes a drivers espcíficos con los que se puede trabajar pero su su flexibilidad viene de una mezcla de modificaciones a nivel de sistema operativo.
El archivo /etc/sysctl.conf
Este archvio gobierna los ajustes para el comportamiento por defecto de la red en Linux y otros sistemas Unix. Si usas Ubuntu o Fedora, te habrás dado cuenta de que ellos agregan sus propios ajustes, casi siempre orientados a la seguridad, a este archivo. Estos no deben ser borrados hasta que los entiendas o aun si se contradicen con las siguientes sugerencias:
net.ipv4.tcp_rfc1337=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_workaround_signed_windows=1
net.ipv4.tcp_sack=1
net.ipv4.tcp_fack=1
net.ipv4.tcp_low_latency=1
net.ipv4.ip_no_pmtu_disc=0
net.ipv4.tcp_mtu_probing=1
net.ipv4.tcp_frto=2
net.ipv4.tcp_frto_response=2
net.ipv4.tcp_congestion_control=illinois
RFC 1337, es un fix escrito en 1992 para algunas fallas teóricamente posibles en las conexiones TCP. Hasta el día de hoy RFC tiene a la gente cofundida sobre si es posible su impacto negativo en el rendimiento o no, o si es soportado por algún router.
TCP windows scaling, intenta evitar que el adaptador de red se sature con paquetes entrantes.
TCP SACK y FACK, se refiere a opciones encontradas en RFC 2018 y fue documentado en el Kernel 2.6.17 como una serie de funciones experimentales como TCP-Peach. Estos intentan que la data no tenga pérdidas excesivas.
La configuración para la latencia es 1 si prefieres más paquetes que ancho de banda, o 0 si prefieres ancho de banda. Más paquetes son ideales para cosas como RDP o VoIP.
IPv6 usa PMTU por defecto para evitar la segmentación de los paquetes a nivel de router, pero es opcional para IPv4. PMTU informa a los routers del mejor tamaño para los paquetes para usarlos entre enlaces, pero es una práctica común en los administradores bloquear puertos ICMP que permitan hacer ping, lo que bloquea el mecanismo. Linux intenta usarlo y lo hace. Si tienes problemas, un router con problemas, puedes cambiar el ajuste «no» a 1. «MTU probing» es también parte de esto: 1 significa intentar y 0 significa no intentar.
FRTO es un mecanismo en las versiones del Kernel más recientes para optimizar los hosts inalámbricos. Úsalo si los tienes, borrra el ajuste o ponlo a 0 si no tienen hosts inalámbricos.
Debemos asegurarnos de que se está utilizando el módulo adecuado. En este caso se usa tcp_illinois que es el módulo por defecto en Ubuntu desde 2008.
Para un estudio más detallado aquí está un artículo de IBM (en inglés) con muchas optimizaciones para la red. Este otro artículo también nos da unas pinceladas de cómo ajustar eficientemente nuestro Linux en el aspecto de redes.
Fuente: NetworkWorld