«Internet no funciona»
Diagnosticar una conexión que falla es probar un paso cada vez, desde la máquina hacia fuera, hasta encontrar el primero que falla. Así se halla la avería sin adivinar.
El lunes por la mañana, un responsable llama al soporte: internet no funciona. Diez minutos después resulta que solo una impresora estaba desconectada. Un buen técnico no adivina. Esta lección enseña ese orden y luego rompe un paso para que lo encuentres.
Al final de esta lección
Nota
Puedo encontrar dónde falla una conexión probando un paso cada vez.
Palabras clave
| Palabra | Qué significa |
|---|---|
| Síntoma | lo que ve el usuario que sale mal |
| Ruta por defecto | el camino que usa una máquina cuando ninguna otra ruta encaja |
| Inalcanzable | no existe ninguna ruta hacia esa red |
| Tiempo agotado | no volvió ninguna respuesta a tiempo |
| Rechazado | la máquina respondió y dijo que no |
| Traceroute | una herramienta que lista cada router del camino |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Prueba un paso cada vez
Una conexión necesita varias cosas seguidas: una dirección, un acceso a la puerta de enlace, una ruta, un camino, un nombre y un puerto abierto. Un fallo en un paso esconde todo lo que sigue.
Así que prueba en ese orden. El primer paso que falla es donde hay que mirar, y nada después de él merece aún una prueba.
Ejemplo resuelto: los seis pasos
| Paso | La pregunta | Una orden |
|---|---|---|
| 1 Dirección | ¿Tiene esta máquina una dirección? | ip -br -4 addr |
| 2 Puerta de enlace | ¿Llega a su puerta de enlace? | ping a la puerta de enlace |
| 3 Ruta | ¿Conoce un camino hacia el destino? | ip route get |
| 4 Camino | ¿Dónde se paran los paquetes? | traceroute -n |
| 5 Nombre | ¿El nombre da una dirección? | dig, getent hosts |
| 6 Puerto | ¿Responde algo en el puerto? | nc -zv, curl |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Paso 1: lee la dirección
sudo ip netns exec lan ip -br -4 addrSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Paso 2: ping a la puerta
sudo ip netns exec lan ping -c 1 -W 1 10.0.0.1Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Paso 3: pregunta por la ruta
sudo ip netns exec lan ip route get 203.0.113.2Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Rompe un paso y luego encuéntralo
Ahora quitas tú mismo la ruta por defecto de la máquina LAN. Luego pruebas los pasos en orden y ves cuál falla primero.
El último Run de esta parte devuelve la ruta, así que haz todo.
Quita la ruta por defecto
sudo ip netns exec lan ip route del defaultSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Paso 2 otra vez: responde la puerta
sudo ip netns exec lan ping -c 1 -W 1 10.0.0.1 | tail -n 2Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Paso 3 otra vez: el servidor exterior
sudo ip netns exec lan ip route get 203.0.113.2Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Qué dice ahora la petición web
sudo ip netns exec lan curl --noproxy '*' -sS -m 3 http://203.0.113.2:8000/; echo "codigo de salida de curl $?"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Devuelve la ruta por defecto
sudo ip netns exec lan ip route add default via 10.0.0.1Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Cada palabra de fallo dice algo distinto
Inalcanzable llega enseguida y significa que no hay ruta. Rechazado llega rápido y significa que la máquina respondió y dijo que no.
Un tiempo agotado llega despacio y significa silencio: un drop, o una respuesta que no encuentra su camino. Los tres Run siguientes muestran los dos últimos.
Un rechazo: la máquina respondió
sudo ip netns exec gw nc -zv -w 2 10.0.0.2 9999; echo "codigo de salida de nc $?"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Un tiempo agotado: nadie responde a la LAN
sudo ip netns exec lan curl --noproxy '*' -sS -m 3 http://203.0.113.2:8000/; echo "codigo de salida de curl $?"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Paso 4: mira dónde se paran los paquetes
sudo ip netns exec lan traceroute -n -q 1 -w 1 -m 3 203.0.113.2Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Un error frecuente
Advertencia
Mucha gente cree que si el ping funciona, la conexión está bien. El ping prueba un solo paso. La petición web aún necesita una ruta de vuelta, un nombre y un puerto abierto. Aquí la puerta de enlace responde al ping, y la petición web aun así agota el tiempo.
Ejemplo resuelto: del síntoma al siguiente paso
| Lo que ves | Qué significa | Dónde mirar después |
|---|---|---|
| Network is unreachable, enseguida | No hay ruta hacia esa red | La tabla de rutas y la ruta por defecto |
| Could not resolve host | El nombre no dio ninguna dirección | El fichero hosts y el servidor DNS |
| Connection refused, rápido | La máquina está en marcha y nadie escucha | El programa, su puerto y una regla reject |
| Timed out, despacio | No volvió ninguna respuesta | Una regla drop, o el camino de vuelta |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Para ir más lejos: tu propio orden
Escribe con tus palabras los seis pasos de esta lección, con una orden para cada uno.
Luego elige un fallo que hayas tenido, en el trabajo o en casa, y di qué paso lo habría encontrado primero. Guarda la hoja: es el comienzo de tu propia lista de comprobación.