Comandos de diagnóstico: ip, ping, ss, traceroute
Introducción
Antes de modificar cualquier configuración de red conviene saber leer el estado actual del sistema. Estos comandos permiten inspeccionar interfaces, rutas, conexiones activas y diagnosticar problemas de conectividad.
ip — Herramienta principal de red
Reemplaza a los comandos clásicos ifconfig y route. Es el estándar actual en todas
las distribuciones modernas.
ip addr — Ver y gestionar direcciones IP
$ ip addr show # todas las interfaces y sus IPs
$ ip addr show eth0 # solo la interfaz eth0
$ ip addr show dev enp0s3 # por nombre de dispositivo
# Asignar/eliminar una IP de forma temporal (no persiste al reiniciar)
# ip addr add 192.168.1.20/24 dev eth0
# ip addr del 192.168.1.20/24 dev eth0
Salida típica:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
inet6 fe80::a00:27ff:fe4e:66a1/64 scope link
ip link — Estado de las interfaces
$ ip link show # listar todas las interfaces
$ ip link show eth0 # estado de eth0
# Activar / desactivar una interfaz
# ip link set eth0 up
# ip link set eth0 down
El estado UP indica que la interfaz está activa. LOWER_UP confirma que hay enlace físico
(cable conectado o WiFi asociado).
ip route — Tabla de rutas
$ ip route show # ver todas las rutas
$ ip route show default # ver solo el gateway
# Añadir/eliminar rutas temporales
# ip route add 10.10.0.0/24 via 192.168.1.254
# ip route del 10.10.0.0/24
# ip route add default via 192.168.1.1 # definir gateway por defecto
ping — Verificar conectividad
Envía paquetes ICMP a un destino y mide el tiempo de respuesta. Es la primera herramienta de diagnóstico ante cualquier problema de red.
$ ping 8.8.8.8 # ping continuo a IP (Ctrl+C para parar)
$ ping -c 4 8.8.8.8 # solo 4 paquetes
$ ping -c 4 google.com # verificar también resolución DNS
$ ping6 ::1 # ping IPv6 al loopback local
Diagnóstico por fases:
ping 127.0.0.1→ comprueba que TCP/IP funciona en el propio equipoping 192.168.1.1→ comprueba conectividad con el gateway localping 8.8.8.8→ comprueba salida a Internet (sin DNS)ping google.com→ comprueba que la resolución DNS funciona
ss — Conexiones y puertos activos
Reemplaza al clásico netstat. Muestra sockets TCP, UDP y Unix activos en el sistema.
Imprescindible para ver qué servicios están escuchando y en qué puerto.
$ ss -tuln # TCP y UDP, puertos en escucha, sin resolver nombres
$ ss -tulnp # igual + proceso propietario del socket
$ ss -s # resumen de estadísticas
$ ss -t state established # conexiones TCP establecidas
$ ss -tulnp | grep :80 # quién escucha en el puerto 80
Flags más usados:
-t→ TCP-u→ UDP-l→ solo sockets en escucha (listening)-n→ mostrar números en lugar de nombres de servicio-p→ mostrar el proceso asociado (requiere root para ver todos)
traceroute / tracepath — Ruta de paquetes
Muestra el camino que siguen los paquetes hasta llegar al destino, pasando por cada router intermedio. Útil para detectar dónde se pierde la conectividad.
$ traceroute 8.8.8.8 # ruta hasta Google DNS
$ traceroute -n 8.8.8.8 # sin resolver nombres (más rápido)
$ tracepath 8.8.8.8 # alternativa sin privilegios de root
Salida típica:
1 192.168.1.1 1.2 ms ← router local (gateway)
2 10.0.0.1 8.5 ms ← router del ISP
3 * * * ← salto que no responde (firewall)
4 8.8.8.8 15.3 ms ← destino alcanzado
Otros comandos útiles
$ hostname -I # mostrar todas las IPs del equipo
$ ip neigh show # tabla ARP (vecinos en la red local)
$ nmap -sn 192.168.1.0/24 # descubrir equipos activos en la red local
$ curl -s ifconfig.me # ver la IP pública del equipo