¡Este es un texto traducido por máquina que puede contener errores!
Aquí debe aislar un error mediante una prueba, comparar el resultado esperado con el real y elegir la siguiente acción. El método puede aplicarse a un programa, un contenedor o un servicio de red. Necesita una interacción conocida del usuario que debería haber funcionado y acceso para investigar la solución correspondiente.
Comience con los siete pasos y “Prueba lo esperado contra lo real”, y úselos en la Tarea 1. La secuencia de red es apoyo cuando el error involucra redes. La tabla de Linux/Proxmox es un ejemplo, no comandos que deba ejecutar para todos los errores. La autoprueba es un ejercicio opcional.
Si desea ver el método aplicado a un error específico, siga resolución de problemas modelada de una aplicación. Ahí justifica su próxima prueba antes de abrir la sugerencia de respuesta.
Los siete pasos
- Mapea las circunstancias. ¿Qué sucedió y cuándo comenzó?
- Replica el error cuando sea seguro hacerlo de nuevo.
- Localiza y acota posibles fuentes de error; ¿qué capa o qué componente podría ser la causa?
- Recopila información: registros, mensajes de error, resultados de comandos.
- Determina soluciones posibles en función de lo que sabes ahora.
- Prueba una solución o hipótesis a la vez. Si cambias varias cosas al mismo tiempo, no sabrás cuál fue la que realmente resolvió el problema.
- Documenta el error y su solución para que tú (u otras personas) puedan reconocerlo la próxima vez.
Método de bisección
Una prueba intermedia en una cadena puede delimitar el trabajo posterior. Si la aplicación responde directamente pero no a través del proxy, investigas la ruta a través del proxy. Sin embargo, solo has confirmado esa prueba directa específica. El método presupone que sabes qué enlaces utiliza la prueba; varios errores o rutas de tráfico diferentes pueden hacer que un simple proceso de bisec sea engañoso.
Orden de depuración para redes y servicios
Cuando no se sabe dónde se encuentra un error de red, este orden proporciona un punto de partida. Si ya se cuenta con un resultado de prueba relevante, se utiliza para elegir dónde continuar la investigación. No es necesario ejecutar todas las pruebas de red para un error de código.
flowchart TD
A[Conexión física] --> B[Interfaz de red]
B --> C[Configuración IP]
C --> D[Red local]
D --> E[Puerta de enlace y enrutamiento]
E --> F[DNS]
F --> G[Servicio] Vídeo: Cómo probar la conexión de red con ping
El vídeo muestra cómo se puede utilizar ping para comprobar si un dispositivo está disponible a través de la red.
Para cada punto debes poder:
- explicar qué comprueba realmente el punto de control
- encontrar los valores relevantes con el comando correcto (consulta [[Protocoles Nivel 1 - Protocolos de red|🌐 Protocolos de red]] para
ping,nslookup, etc.) - distinguir una observación de una suposición
- elegir el siguiente punto de control según el resultado del anterior, no por intuición
Comandos por capa en una VM de Linux en Proxmox
Esta es una aplicación del método cuando una VM de Linux no alcanza un servicio. Ejecuta los comandos relevantes en la Consola de la VM, no en el Shell del host de Proxmox. Consulta 🧭 Navegar en Proxmox VE si es necesario. Elige las pruebas para lo que estés investigando; la tabla no es un requisito previo para la Tarea 1.
| Capa | Pregunta | Control | Lo que muestra el resultado |
|---|---|---|---|
| Conexión de la VM | ¿Está configurada la tarjeta de red de la VM contra un puente? | En Proxmox: VM → Hardware (Hardware) → Network Device (Dispositivo de Red) | Un puente, por ejemplo bridge=vmbr0, y no link_down=1 muestran la configuración de conexión; esto no prueba que la red física del host funcione |
| Interfaz de red | ¿La interfaz está activa dentro de la VM? | ip -brief link | La interfaz, por ejemplo ens18, aparece como UP (Activa) |
| Configuración IP | ¿Ha recibido la VM una dirección IP? | ip -brief address | La interfaz tiene una dirección IPv4 con prefijo, por ejemplo 10.0.0.50/24 |
| Red local | ¿Alcanza la VM al gateway? | ip route muestra el gateway después de default via. Ejecuta ping -c 3 <gateway> | Recibes respuesta del gateway |
| Gateway y enrutamiento | ¿Alcanza la VM una dirección fuera de su propia red? | ping -c 3 1.1.1.1 | Recibes respuesta |
| DNS | ¿Puede la VM resolver nombres? | getent hosts deb.debian.org | El comando imprime una dirección IP |
| Servicio | ¿Funciona la función específica? | Para fuentes de paquetes: sudo apt update. Para un contenedor web local desde Docker 1: curl --fail --show-error http://127.0.0.1:8080 | Se interpreta contra el resultado esperado de esa función exacta; el acceso HTTP local no prueba la conexión desde otro cliente |
Si falta la ruta predeterminada, investiga cómo debe alcanzar la VM los destinos fuera de su propia red; algunos destinos pueden tener rutas propias. Algunas redes bloquean ping, por lo que la ausencia de respuestas no demuestra por sí sola que la conexión esté interrumpida. Si el resolución de nombres y las fuentes de paquetes funcionan, tienes resultados concretos para continuar. 🌐 IP, subredes y gateway estándar explica la dirección, el prefijo y la ruta.
Prueba de lo esperado frente a lo real
Una prueba de dep solo es útil si sabes qué esperas antes de ejecutarla. Anota:
Requisito: ¿Qué debe poder hacer el usuario?
Objetivo: ¿Qué dirección/servicio estás probando?
Esperado: ¿Qué debería pasar si todo funciona?
Real: ¿Qué pasó?
Demuestra: ¿Qué demuestra este resultado?
No demuestra solo: ¿Qué NO demuestra este resultado?
Una prueba rara vez demuestra todo
Que ping responda indica que ICMP funciona, no que DNS o el propio servicio funcionen. Que una página web se abra indica que HTTP(S) respondió a esa solicitud específica, no que todos los demás servicios del servidor estén activos. Prueba la función de la que realmente necesita el usuario, no solo si algo “responde”.
Tarea 1 - Aplicar el método a un problema real
Toma un problema con el que hayas encontrado en otra materia de Soporte Operativo o Desarrollo (un contenedor que no arranca, un servicio al que no puedes conectarte, un script que falla):
- Recorre los siete pasos anteriores, uno por uno.
- Escribe «esperado frente a lo observado» para cada prueba que ejecutes.
- Anota qué componente o capa limita la prueba. Utiliza el orden de red solo cuando se ajuste al problema.
- Prueba una corrección justificada en un entorno de pruebas donde tengas permiso para hacer cambios. Repite la acción original del usuario y verifica que la corrección funcione realmente. Mantén una vía de retorno a la configuración anterior.
Si no tienes errores disponibles, puedes analizar este ejemplo: Una aplicación devuelve la página esperada en /, pero HTTP 404 en /status. ¿Qué muestran las dos respuestas y qué investigarías primero? Ambas solicitudes recibieron respuesta HTTP; la primera verificación es si /status existe efectivamente en la aplicación y si el cliente utiliza la ruta correcta. El ejercicio es de análisis, no evidencia de que hayas corregido una solución propia.
Punto de control: El error está acotado y bajo control
Muestra el registro de pruebas y explica qué observación respaldó la siguiente prueba o corrección. Tras la corrección, la acción original debe producir el resultado esperado. Puedes explicarlo oralmente o por escrito con los comandos y resultados frente a ti. Si el error sigue abierto, indica lo que se ha probado, lo que aún es incierto y una próxima prueba precisa. No escribas una causa supuesta como confirmada.
Pruébate a ti mismo
Autoevaluación opcional con retroalimentación. Las respuestas no se envían al profesor. Utilice su propio registro de pruebas para demostrar la depuración real; el autoexamen no sustituye la verificación práctica.
Resumen
- La depuración de errores es un método, no una suposición: siete pasos fijos desde el mapeo hasta la documentación
- El método de bisección puede delimitar una cadena cuando conoces los elementos que utiliza la prueba
- Para redes: usa las capas para elegir la siguiente prueba relevante según lo observado
- Anota siempre lo esperado frente a lo real antes de probar y recuerda que una sola prueba rara vez demuestra todo