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