sábado, 12 de septiembre de 2026

Cheat-Sheet de Diagnóstico de Redes: Guía Esencial Linux y Cisco

Cheat-Sheet de Diagnóstico de Redes: Guía Esencial Linux y Cisco

Introducción al Diagnóstico de Redes en Entornos Híbridos

En el trabajo diario de administración de sistemas e infraestructura de red, la capacidad de diagnosticar rápidamente problemas de conectividad es una habilidad crítica. Cuando los servicios caen o la latencia se dispara, los ingenieros deben moverse con agilidad entre la línea de comandos de los servidores Linux y las consolas de red de Cisco. Esta Cheat-Sheet reúne las herramientas indispensables de diagnóstico, explicando sus opciones avanzadas, casos de uso prácticos y las equivalencias directas entre ambos mundos.

1. Verificación de Conectividad Básica y Latencia: Ping

El comando ping utiliza el protocolo ICMP (Internet Control Message Protocol) para enviar mensajes Echo Request y esperar un Echo Reply. Es la primera línea de defensa para confirmar la alcanzabilidad a nivel de capa 3 (Red) del modelo OSI y medir el RTT (Round Trip Time).

Uso Avanzado en Linux:

A diferencia del uso convencional, en entornos de producción es útil ajustar parámetros específicos para no saturar enlaces o para diagnosticar la pérdida de paquetes bajo carga:

  • Limitar el número de paquetes a enviar: Evita que el comando se ejecute indefinidamente.
ping -c 5 192.168.1.1
  • Modificar el intervalo de tiempo entre envíos (en segundos): Útil para pruebas rápidas sin saturar la red.
ping -i 0.2 10.0.0.1
  • Definir el tamaño del paquete (Payload Size): Permite probar problemas de fragmentación de MTU.
ping -s 1472 -D 192.168.1.1

Nota: La opción -D establece el bit DF (Don't Fragment) para validar la MTU de la red (1472 bytes de datos + 28 bytes de cabecera ICMP/IP = 1500 bytes).

Uso Avanzado en Cisco IOS:

En Cisco, el comando ping en modo interactivo permite seleccionar la interfaz de origen, indispensable cuando existen múltiples VRF o tablas de enrutamiento.

# Ejecución directa con parámetros especificados
ping 192.168.1.1 repeat 100 size 1500 timeout 1 source GigabitEthernet0/0

Para lanzar la versión extendida interactiva, simplemente escribe ping en la consola y presiona Enter para responder a los diálogos de configuración.

2. Rastreo de Rutas y Diagnóstico de Saltos: Traceroute y MTR

Cuando la conectividad falla a través de la red WAN o entre subredes distantes, traceroute identifica con exactitud en qué router o salto intermedio se interrumpe la comunicación.

En Linux: Traceroute

Por defecto, el traceroute en Linux envía paquetes UDP a puertos altos. Sin embargo, muchos firewalls modernos bloquean UDP. Por ello, es recomendable forzar el uso de ICMP o TCP:

# Modo estándar por UDP
traceroute 8.8.8.8

# Modo ICMP (similar al funcionamiento en Windows/Cisco)
traceroute -I 8.8.8.8

# Modo TCP SYN hacia un puerto específico (para atravesar firewalls)
traceroute -T -p 443 ejemplo.com

En Linux: MTR (My TraceRoute)

mtr es la combinación perfecta entre ping y traceroute. Mantiene una sesión continua actualizando métricas de pérdida de paquetes y latencia en cada salto en tiempo real.

# Modo interactivo dinámico
mtr 1.1.1.1

# Generación de informe estático para adjuntar a un ticket de soporte
mtr --report --report-cycles 10 --no-dns 8.8.8.8

En Cisco IOS: Traceroute

Permite rastrear el camino que tomarán los datos desde el propio equipo de red hacia el destino:

traceroute 10.20.0.1 source Loopback0 probes 2 ttl 1 15

3. Inspección de Tablas de Enrutamiento y Selección de Rutas

Comprender cómo el sistema operativo o el router decide reenviar el tráfico es esencial para descartar enrutamiento asimétrico o paquetes enviados hacia la interfaz incorrecta.

Linux: Suite iproute2 (ip route)

Las herramientas antiguas como route o netstat -r están obsoletas. La herramienta estándar moderna es ip route.

  • Visualizar la tabla de enrutamiento completa:
ip route show
  • Consultar la ruta exacta elegida por el kernel para una IP destino:
ip route get 8.8.8.8
  • Añadir y eliminar rutas estáticas manualmente:
sudo ip route add 172.16.0.0/16 via 192.168.1.254 dev eth0
sudo ip route del 172.16.0.0/16

Cisco IOS: Inspección de la RIB (Routing Information Base)

En el entorno Cisco IOS, la tabla de enrutamiento se consulta mediante la familia de comandos show ip route:

# Ver la tabla de rutas completa
show ip route

# Ver rutas aprendidas por un protocolo específico
show ip route ospf
show ip route bgp

# Consultar la ruta específica para una dirección de destino
show ip route 10.50.10.1

4. Diagnóstico de Sockets, Puertos y Servicios: netstat y ss

Para determinar qué aplicaciones están escuchando en la máquina local o inspeccionar las conexiones activas en las capas de transporte (TCP/UDP).

Linux: ss (Socket Statistics)

El comando ss reemplaza a netstat ofreciendo un rendimiento muy superior en sistemas con miles de conexiones abiertas.

# Mostrar todos los puertos TCP (-t) y UDP (-u) en escucha (-l), mostrando números (-n) y procesos (-p)
ss -tulnp

# Filtrar únicamente conexiones TCP en estado ESTABLISHED
ss -tat state established

# Ver el resumen numérico de sockets del sistema
ss -s

5. Análisis Profundo de Tráfico y Captura de Paquetes: tcpdump y Cisco Monitor Capture

Cuando las pruebas de conectividad básica confirman que los paquetes salen pero la aplicación no responde, se requiere una inspección profunda a nivel de trama o paquete.

Linux: tcpdump

tcpdump es el analizador de paquetes por excelencia en la línea de comandos de Linux.

# Capturar tráfico en la interfaz eth0 omitiendo la resolución DNS (-n)
sudo tcpdump -i eth0 -n

# Filtrar tráfico por IP de origen/destino y puerto específico
sudo tcpdump -i eth0 -n host 192.168.1.50 and port 80

# Capturar en formato hexadecimal y ASCII para inspeccionar el contenido útil del paquete
sudo tcpdump -i eth0 -nX port 80

# Guardar la captura en un archivo .pcap para ser analizado externamente con Wireshark
sudo tcpdump -i eth0 -w diagnostico_red.pcap icmp or port 443

# Leer un archivo pcap capturado previamente
sudo tcpdump -r diagnostico_red.pcap -n

Cisco IOS: Embedded Packet Capture (EPC) y Debugging

Los routers y switches Cisco permiten capturar paquetes directamente en memoria mediante EPC sin interrumpir el servicio:

# 1. Definir el punto de captura y el buffer en memoria
monitor capture CAPTURA_RED interface GigabitEthernet0/0/1 both
monitor capture CAPTURA_RED buffer size 10

# 2. Iniciar y detener la captura
monitor capture CAPTURA_RED start
monitor capture CAPTURA_RED stop

# 3. Revisar el contenido de la captura en la consola
show monitor capture CAPTURA_RED buffer dump

Para eventos en tiempo real a nivel de plano de control (usar con precaución en producción):

debug ip icmp
undebug all

6. Tabla Resumen de Equivalencias y Comandos Rápidos

A continuación se presenta un cuadro de referencia rápida para alternar eficientemente entre Linux y Cisco IOS durante un incidente:

  • Consultar Estado de Interfaces: ip -s link / ip a (Linux) | show ip interface brief (Cisco)
  • Ver Tabla ARP / Vecinos: ip neighbor (Linux) | show ip arp (Cisco)
  • Mostrar Tabla de Rutas: ip route (Linux) | show ip route (Cisco)
  • Comprobar Ruta hacia una IP: ip route get [IP] (Linux) | show ip route [IP] (Cisco)
  • Traza de Saltos Avanzada: mtr [IP] / traceroute -I [IP] (Linux) | traceroute [IP] (Cisco)
  • Monitoreo de Paquetes en Vivo: tcpdump -i [INT] (Linux) | monitor capture ... (Cisco)

7. Metodología Recomendada de Diagnóstico Paso a Paso

Al enfrentarte a una pérdida de servicio o degradación de red, sigue este flujo lógico basado en el modelo OSI:

1. Capa Física y Enlace: Verifica que la interfaz esté en estado UP/UP en Cisco o LOWER_UP en Linux (ip link show / show ip interface brief). Revisa errores en los contadores de la interfaz.
2. Capa de Red (Direccionamiento): Valida que la IP y la máscara de subred sean correctas. Comprueba la conectividad local haciendo ping a la IP del Gateway por defecto.
3. Capa de Red (Enrutamiento): Inspecciona la tabla de rutas con ip route get en Linux o show ip route en Cisco para confirmar que no existe una ruta nula o incorrecta.
4. Capa de Transporte y Aplicación: Verifica que el servicio de destino esté escuchando en el puerto esperado usando ss -tulnp en Linux y prueba si hay bloqueos por firewall o ACLs capturando tráfico con tcpdump o monitor capture.

No hay comentarios.:

Publicar un comentario