Linux Networking Cheat Sheet

Autor: Oz (PostgreSQL Blog) Fecha: 10 Diciembre 2025 Fuente: https://postgresqlblog.com/posts/2025-12-10_Linux-Networking-Cheat-Sheet-06616c58288a.html Categoría: Redes / Linux — Cheat Sheet de Networking


From Basics to Advanced Analysis

Networking issues usually appear when you least expect them. Este cheat sheet está escrito para ser guardado, marcado, y usado en incidentes de producción reales. Sin teoría innecesaria. Solo comandos, patrones y pasos de troubleshooting que realmente funcionan.


Índice

  1. Part 1 — Linux Networking Basics (For Everyone)
  2. Part 2 — Advanced Networking & Troubleshooting

Part 1 — Linux Networking Basics (For Everyone)

1. Network Interfaces & IP Addresses

# Listar todas las interfaces de red
ip a
 
# Salida compacta y legible
ip -br a
 
# Solo interfaces activas
ip link show up
 
# Comando legacy (evitar en automatización)
ifconfig

Si una interfaz tiene la IP incorrecta, nada más en el stack de red funcionará correctamente.

2. Routes & Gateways

# Mostrar tabla de rutas
ip route
 
# Mostrar gateway por defecto
ip route show default
 
# Ver cómo el sistema enruta tráfico a un destino
ip route get 8.8.8.8

La mayoría de los “problemas de conexión” son simplemente rutas faltantes o incorrectas.

3. Ports, Sockets & Listening Services

# Reemplazo moderno de netstat
ss -lntup
 
# Verificar si un puerto específico está escuchando
ss -lntp | grep 5000
 
# Resumen de estadísticas de conexiones
ss -s

ss es más rápido, más preciso, y siempre debe preferirse sobre netstat.

4. DNS Resolution & Name Lookup

# Resolver un nombre de dominio
dig google.com
 
# Solo salida corta
dig +short google.com
 
# Resolver usando la configuración del sistema
getent hosts google.com
 
# Ver configuración del resolver
cat /etc/resolv.conf

Si una IP funciona pero un hostname no, el problema es DNS.

5. Connectivity Testing

# Test básico de conectividad
ping -c 4 8.8.8.8
 
# Trazar ruta de red
traceroute google.com
 
# Herramienta de trazado más informativa
mtr google.com
 
# Verificar conectividad HTTP
curl -I https://example.com
 
# Test de puerto TCP
nc -zv host 5432

6. File Transfer Over Network

# Copiar un archivo
scp file.txt user@host:/path
 
# Copiar un directorio
scp -r dir user@host:/path
 
# Transferencia eficiente y reanudable
rsync -avz dir/ user@host:/dir

En entornos de producción, rsync debe ser preferido.

7. Firewall Basics (firewalld)

# Mostrar zonas activas
firewall-cmd --get-active-zones
 
# Listar reglas actuales
firewall-cmd --zone=public --list-all
 
# Abrir un puerto TCP permanentemente
firewall-cmd --permanent --add-port=5000/tcp
firewall-cmd --reload

Las reglas permanentes no están activas hasta que se recarga el firewall.

8. Common Networking Mistakes

  • Asumir que un servicio corriendo significa un puerto abierto
  • Olvidar las reglas del firewall
  • Testear nombres de dominio antes de verificar conectividad IP raw
  • Ignorar la tabla de rutas
  • Ejecutar tcpdump sin filtros en producción

Part 2 — Advanced Networking & Troubleshooting

1. Linux Networking Stack (Mental Model)

Application
Socket
TCP / UDP
IP
Network Interface
Physical NIC

El troubleshooting siempre debe empezar desde abajo y moverse hacia arriba.

2. Advanced Socket Inspection with ss

# Listar todas las conexiones TCP
ss -ant
 
# Solo conexiones establecidas
ss -ant state established
 
# Inspeccionar sockets TIME_WAIT
ss -ant state time-wait
 
# Contar conexiones activas
ss -ant | wc -l

Recuentos altos de TIME_WAIT son a menudo normales y no un error.

3. Firewall Deep Dive (firewalld & rich rules)

Runtime vs permanente:

  • Reglas runtime afectan al estado actual
  • Reglas permanentes se almacenan en disco
  • --reload aplica las reglas permanentes
# Permitir IP específica a un puerto
firewall-cmd --permanent --zone=public \
  --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="5000" protocol="tcp" accept'
 
# Eliminar regla de subred existente
firewall-cmd --permanent --zone=public \
  --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="5000" protocol="tcp" accept'
 
# Aplicar cambios
firewall-cmd --reload
 
# Listar rich rules
firewall-cmd --zone=public --list-rich-rules
firewall-cmd --zone=public --list-all
 
# Rechazar tráfico con log
firewall-cmd --permanent --zone=public \
  --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" port port="5000" protocol="tcp" reject'
 
firewall-cmd --reload
 
# Inspeccionar logs del kernel firewall
journalctl -k

4. Packet Capture & Traffic Analysis with tcpdump

# Capturar tráfico en un puerto
tcpdump -i eth0 -n -s 0 port 5000
 
# Escribir captura a archivo
tcpdump -i eth0 -n -s 0 port 5000 -w /tmp/port5000.pcap
 
# Ver payload en ASCII
tcpdump -i eth0 -n -s 0 -A tcp port 5000
 
# Ver en hex y ASCII
tcpdump -i eth0 -n -s 0 -X tcp port 5000

Usa siempre filtros para limitar el alcance de la captura en producción.

5. Detecting Port Scans and Empty Traffic

# Detectar paquetes SYN-only (SYN scan)
tcpdump -i eth0 -n 'tcp[13] & 2 != 0 and tcp[13] & 16 == 0'
 
# Detectar NULL scans
tcpdump -i eth0 -n 'tcp[13] == 0'
 
# Detectar FIN scans
tcpdump -i eth0 -n 'tcp[13] & 1 != 0'
 
# Detectar tráfico con payload vacío
tcpdump -i eth0 -n tcp port 5000
# Buscar "length 0"
 
# Tráfico broadcast o multicast
tcpdump -i eth0 -n 'broadcast or multicast'

6. Bandwidth and Throughput Analysis

# Estadísticas de interfaz
ip -s link
 
# Ancho de banda en tiempo real
nload
 
# Uso de tráfico a nivel de proceso
nethogs
 
# Test de throughput
iperf3 -s     # Servidor
iperf3 -c host  # Cliente

Las comprobaciones de latencia no miden ancho de banda.

7. Routing, Policy Rules and Network Namespaces

# Mostrar reglas de policy routing
ip rule show
 
# Mostrar todas las tablas de rutas
ip route show table all
 
# Listar namespaces de red
ip netns list
 
# Ejecutar comandos dentro de un namespace
ip netns exec ns1 bash

Los contenedores dependen en gran medida de los namespaces para aislamiento.

8. Production Debug Checklist

  1. Estado de la interfaz
  2. Configuración IP
  3. Tabla de rutas
  4. Servicios escuchando
  5. Reglas de firewall
  6. Llegada y respuesta de paquetes
  7. Logs del kernel y firewall

Saltarse pasos lleva a conclusiones incorrectas.

9. Performance and Network Tuning

# Verificar capacidades de offloading de la NIC
ethtool -k eth0
 
# Ver velocidad y duplex del enlace
ethtool eth0
 
# Inspeccionar queue disciplines
tc qdisc show

10. Security and Hardening

  • Cerrar puertos no utilizados
  • Registrar conexiones sospechosas
  • Bloquear scanners de forma temprana
  • Monitorizar conexiones activas regularmente
  • Combinar reglas de firewall con análisis de tráfico

Final Notes

Este cheat sheet es intencionalmente práctico. Está pensado para ser útil durante incidentes, no solo para leerse una vez. Guárdalo. Los problemas de red tienden a volver.