Redes en Linux: domina ip, netstat, ss y las herramientas esenciales
Tiempo de lectura: 8 minutos Categoría: Linux · Sysadmin Nivel: Intermedio
Entender cómo funciona la red en Linux es una habilidad fundamental para cualquier sysadmin o desarrollador. Saber diagnosticar problemas de conectividad, ver qué conexiones están activas, configurar interfaces de red y analizar el tráfico marca la diferencia entre resolver un problema en minutos o perder horas dando palos de ciego. En este artículo te explico las herramientas esenciales.
El comando ip: la herramienta moderna
Durante años ifconfig fue el comando estándar para gestionar interfaces de red en Linux. Hoy está obsoleto y reemplazado por el comando ip, que forma parte del paquete iproute2 y viene preinstalado en todas las distribuciones modernas.
El comando ip se organiza en objetos y acciones. Los objetos principales son address para gestionar direcciones IP, link para gestionar interfaces de red, route para gestionar la tabla de rutas, y neighbour para gestionar la tabla ARP.
Para ver todas las interfaces de red y sus direcciones IP usa ip address show, que puedes abreviar como ip addr o ip a. La salida muestra cada interfaz con su estado, dirección MAC, dirección IPv4 y dirección IPv6.
Para ver solo las interfaces que están activas añade el filtro up. Para ver una interfaz específica añade el nombre de la interfaz al final del comando.
Gestionar interfaces con ip link
El objeto link gestiona el estado de las interfaces a nivel de enlace. Con ip link show ves todas las interfaces y su estado. Con ip link set seguido del nombre de la interfaz y up o down activas o desactivas la interfaz.
También puedes cambiar la MTU de una interfaz, su dirección MAC y otros parámetros a nivel de enlace con el mismo comando.
Configurar direcciones IP
Para añadir una dirección IP a una interfaz usa ip address add seguido de la dirección en notación CIDR y dev con el nombre de la interfaz. Para eliminarla sustituye add por del.
Ten en cuenta que los cambios hechos con el comando ip son temporales y se pierden al reiniciar. Para que sean permanentes necesitas editar los archivos de configuración de red, que varían según la distribución. En sistemas modernos se gestiona con NetworkManager, systemd-networkd o netplan según la distribución.
La tabla de rutas
La tabla de rutas determina cómo se reenvían los paquetes de red. Con ip route show ves la tabla de rutas completa. Verás la ruta por defecto que indica por dónde salen los paquetes cuando no hay una ruta más específica, y rutas específicas para las redes locales.
Para añadir una ruta estática usa ip route add seguido de la red de destino en notación CIDR y via con la IP del gateway. Para eliminarla sustituye add por del.
La ruta por defecto se añade con ip route add default via seguido de la IP del gateway. Si tienes problemas de conectividad verificar que la ruta por defecto existe y es correcta es uno de los primeros pasos de diagnóstico.
ss: el reemplazo moderno de netstat
Netstat fue durante años el comando estándar para ver conexiones de red activas y puertos en escucha. Al igual que ifconfig está técnicamente obsoleto y reemplazado por ss, que es más rápido y más detallado.
El comando ss sin argumentos muestra todas las conexiones de socket. Los flags más útiles son -t para mostrar solo TCP, -u para solo UDP, -l para mostrar solo los sockets en escucha, -n para mostrar números en vez de nombres de servicio, -p para mostrar el proceso que tiene el socket y -a para mostrar todos los sockets.
La combinación más usada en el día a día es ss -tulnp que muestra todos los puertos TCP y UDP en escucha con los procesos asociados y en formato numérico. Es el comando que ejecutas cuando quieres saber qué servicios están escuchando en tu servidor y en qué puertos.
Diagnosticar conectividad con ping y traceroute
Ping es la herramienta más básica de diagnóstico de red. Envía paquetes ICMP a un host y mide el tiempo de respuesta. Si ping no responde puede ser que el host esté caído, que haya un problema de red entre los dos hosts, o simplemente que el firewall del destino bloquee el ICMP.
Traceroute muestra el camino que siguen los paquetes desde tu máquina hasta el destino, pasando por todos los routers intermedios. Es muy útil para identificar en qué punto del camino hay un problema. En Linux se instala con apt o dnf. La versión moderna se llama tracepath y viene preinstalada en muchas distribuciones.
Resolver DNS con dig y host
Cuando un dominio no resuelve correctamente dig es la herramienta de diagnóstico DNS más potente. Hace consultas DNS directas y muestra toda la información de la respuesta incluyendo el servidor que respondió y el tiempo de respuesta.
Con dig seguido de un dominio obtienes los registros A. Añadiendo el tipo de registro como MX, CNAME, TXT o NS obtienes los registros correspondientes. Con el flag @seguido de la IP de un servidor DNS específico haces la consulta contra ese servidor, útil para verificar si el problema es con tu servidor DNS o es global.
El comando host es una alternativa más simple para consultas DNS rápidas sin necesitar toda la información de dig.
Capturar tráfico con tcpdump
Tcpdump es la herramienta de captura de tráfico de red de línea de comandos. Te permite ver en tiempo real todos los paquetes que pasan por una interfaz, filtrarlos por protocolo, puerto, dirección IP o cualquier combinación.
Necesitas permisos de root para capturar tráfico. El comando básico es tcpdump seguido del flag -i con el nombre de la interfaz. Con el flag -n evitas que intente resolver nombres de host, haciendo la captura más rápida. Con host seguido de una IP filtras solo el tráfico de ese host. Con port seguido de un número filtras por puerto.
Para guardar la captura en un archivo y analizarla después con Wireshark usa el flag -w seguido del nombre del archivo.
Gestionar el firewall con iptables y nftables
Iptables fue durante muchos años el firewall estándar de Linux. Hoy está siendo reemplazado por nftables en las distribuciones más modernas, aunque iptables sigue siendo ampliamente usado. ufw y firewalld son frontends de alto nivel que simplifican la gestión del firewall usando iptables o nftables por debajo.
Para ver las reglas del firewall con iptables usa iptables -L con el flag -n para formato numérico y -v para modo verbose que muestra contadores de paquetes.
Conclusión
El networking en Linux puede parecer intimidante al principio pero las herramientas son consistentes y lógicas. El truco es saber cuál usar en cada situación: ip para configuración de interfaces y rutas, ss para ver conexiones y puertos, dig para diagnóstico DNS, ping y traceroute para conectividad básica, y tcpdump cuando necesitas ver el tráfico real.
Con estas herramientas puedes diagnosticar prácticamente cualquier problema de red que encuentres en un servidor Linux.
¿Hay alguna herramienta de red en Linux que uses regularmente y que no haya mencionado? Los comentarios son vuestros.

