¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Seguir paso a paso una conexión que falla

Después de esta lección: Puedo encontrar dónde falla una conexión probando un paso cada vez.

Lección de 55 min11 comandosLaboratorio de pasarela NAT: masquerade y reenvío de puertos con nftables en tu navegador

«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

PalabraQué significa
Síntomalo que ve el usuario que sale mal
Ruta por defectoel camino que usa una máquina cuando ninguna otra ruta encaja
Inalcanzableno existe ninguna ruta hacia esa red
Tiempo agotadono volvió ninguna respuesta a tiempo
Rechazadola máquina respondió y dijo que no
Tracerouteuna 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

PasoLa preguntaUna 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

Comando
sudo ip netns exec lan ip -br -4 addr

Se 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

Comando
sudo ip netns exec lan ping -c 1 -W 1 10.0.0.1

Se 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

Comando
sudo ip netns exec lan ip route get 203.0.113.2

Se 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

Comando
sudo ip netns exec lan ip route del default

Se 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

Comando
sudo ip netns exec lan ping -c 1 -W 1 10.0.0.1 | tail -n 2

Se 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

Comando
sudo ip netns exec lan ip route get 203.0.113.2

Se 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

Comando
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

Comando
sudo ip netns exec lan ip route add default via 10.0.0.1

Se 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ó

Comando
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

Comando
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

Comando
sudo ip netns exec lan traceroute -n -q 1 -w 1 -m 3 203.0.113.2

Se 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 vesQué significaDónde mirar después
Network is unreachable, enseguidaNo hay ruta hacia esa redLa tabla de rutas y la ruta por defecto
Could not resolve hostEl nombre no dio ninguna direcciónEl fichero hosts y el servidor DNS
Connection refused, rápidoLa máquina está en marcha y nadie escuchaEl programa, su puerto y una regla reject
Timed out, despacioNo volvió ninguna respuestaUna 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.

Sobre este laboratorio y su código: Laboratorio de pasarela NAT: masquerade y reenvío de puertos con nftables en tu navegador

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.