Las Herramientas¶
Referencia rápida de cada comando. No para memorizar — para saber cuál usar en cada situación.
ip link show — estado de interfaces¶
Cuándo usarlo: primera pregunta siempre. ¿Está la interfaz UP?
Qué mirar:
Si no aparece UP → interfaz caída. Fix: ip link set eth1 up
ip addr show — IPs asignadas¶
Cuándo usarlo: verificar que la IP y la máscara son correctas.
Qué mirar:
Errores comunes: máscara incorrecta (/25 en vez de /24), IP en el rango equivocado.
ip route show — tabla de ruteo¶
Cuándo usarlo: verificar que hay ruta hacia el destino.
Qué mirar:
default via 192.168.1.1 dev eth1 ← gateway por defecto
192.168.1.0/24 dev eth1 ← red directamente conectada
10.0.0.0/30 dev eth2 ← otra red directa
192.168.2.0/24 via 10.0.0.2 ← ruta estática agregada
Si no hay default ni ruta hacia el destino → el paquete no sale.
ping — conectividad básica¶
Cuándo usarlo: verificar si hay comunicación entre dos puntos.
Interpretar resultados:
| Resultado | Qué significa |
|---|---|
64 bytes from ... |
Hay conectividad |
Network is unreachable |
No hay ruta en la tabla de ruteo |
Destination Net Unreachable |
Un router en el camino no tiene ruta |
Request timeout |
El paquete llega pero no vuelve (o no llega) |
Name resolution failure |
Problema de DNS (si usaste nombre) |
traceroute — dónde muere el paquete¶
Cuándo usarlo: el ping falla y querés saber en qué router se corta el camino.
Interpretar resultados:
1 192.168.1.1 1.2ms ← R1: responde bien
2 10.0.0.2 1.8ms ← R2: responde bien
3 * * * ← R3: no responde → problema acá
4 192.168.2.10 ...
* * * significa que el router recibe el paquete pero no responde (o no tiene ruta de vuelta). Ese es tu sospechoso.
tcpdump — ver paquetes en tiempo real¶
Cuándo usarlo: cuando todo lo demás es confuso. ¿El paquete realmente llega?
tcpdump -i eth1 # todo en eth1
tcpdump -i eth1 icmp # solo pings
tcpdump -i eth1 host 192.168.1.10 # solo tráfico de esa IP
tcpdump -i eth1 port 80 # solo tráfico HTTP
Lo que dice tcpdump es la verdad. Si ves el paquete llegar, llegó. Si no lo ves, no llegó. Útil especialmente para confirmar el problema de ruta de vuelta: si ves ICMP echo request pero no ves ICMP echo reply, el destino recibió el ping pero no sabe responder.
ss — puertos abiertos y conexiones activas¶
Cuándo usarlo: verificar si un servicio está escuchando.
Qué mirar:
State Recv-Q Send-Q Local Address:Port ... Process
LISTEN 0 128 0.0.0.0:80 users:(("nginx",...))
^^^^^^^
0.0.0.0 = escucha en todas las interfaces
Si el puerto no aparece → el servicio no está corriendo.
Si aparece en 127.0.0.1:puerto → solo escucha localmente, no acepta conexiones externas.
nmap — escaneo de puertos desde afuera¶
Cuándo usarlo: verificar qué puertos son accesibles desde el cliente (no desde el servidor).
Diferencia con ss: ss te dice qué escucha el servidor. nmap te dice qué ve el cliente — si hay firewall en el medio, nmap lo detecta.
Estado nmap |
Qué significa |
|---|---|
open |
Puerto accesible, servicio respondiendo |
filtered |
Firewall bloqueando (DROP) |
closed |
No hay servicio, pero tampoco firewall |
dig — diagnóstico de DNS¶
Cuándo usarlo: el ping por IP funciona pero por nombre no.
dig google.com # consulta al servidor configurado
dig google.com @8.8.8.8 # consulta a un servidor específico
dig google.com @192.168.1.1 # consulta al DNS local
Qué mirar:
;; ANSWER SECTION:
google.com. 300 IN A 142.250.x.x ← respuesta: hay resolución
;; SERVER: 8.8.8.8#53 ← quién respondió
;; Query time: 12 msec
Si no hay ANSWER SECTION → el nombre no resuelve.
Si Query time es enorme o hay timeout → el servidor DNS no responde.
iptables -L — reglas de firewall activas¶
Cuándo usarlo: el servicio escucha (ss lo confirma) pero nmap lo muestra filtrado.
iptables -L -n -v # todas las reglas, numérico, con contadores
iptables -L INPUT -n -v # solo la cadena INPUT
Qué mirar:
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:80
^^ ^^^ ^^^
acción proto puerto bloqueado
Los contadores (pkts, bytes) te dicen si una regla está siendo usada. Si el contador sube mientras reproducís el problema, encontraste la regla que bloquea.