Caso A · Red · enrutamiento
La consola "no tenía internet" y el firewall era inocente
SíntomaDespués de fijarle una dirección a la consola, su prueba de conexión fallaba en el paso de internet, así que la prueba de NAT reportaba "Fallida". Aun así recibía gateway y servidores DNS.
Qué descartéQue faltara una regla de NAT - eso produce un tipo de NAT estricto, no un fallo. Una WAN caída con el tráfico conmutando a la VPN - la página de gateways mostraba la WAN arriba. Una regla de enrutamiento por política metiendo la consola al túnel - ninguna en esa interfaz, y cero reglas flotantes.
Qué mostró el logEl registro en vivo del firewall filtrado por la consola: solo sus consultas DNS salían por la interfaz de la VPN. Todo lo demás tomaba el camino normal. El problema estaba en el enrutamiento, no en las reglas.
CausaAl crear la reserva escribí por error servidores DNS públicos en sus campos. Uno de ellos es también la dirección a la que el firewall hace ping para saber si el túnel VPN sigue vivo. El firewall instala una ruta de host /32 hacia esa dirección por el túnel, y la coincidencia de prefijo más largo le gana a la ruta por defecto. Las consultas entraban al túnel, donde el NAT saliente no cubre la red de la casa, y morían ahí. Sin DNS, no hay "internet".
ArregloVacié los campos DNS para que la consola herede el resolvedor del propio firewall. Pendiente: mover el objetivo de verificación del túnel a una dirección que ningún cliente vaya a usar.
El síntoma decía DNS y el arreglo estuvo en DNS, pero la causa vivía en la tabla de rutas. Una dirección de verificación no es solo un ajuste: se convierte en una ruta que afecta a todos los clientes de la red.
Caso B · Almacenamiento · orden de arranque
El servidor de fotos "borró" todo, y no se perdió nada
SíntomaEl servidor privado de fotos abrió como instalación nueva, sin siquiera la cuenta de usuario.
Qué descartéQue un reinicio del contenedor hubiera borrado la base de datos - la biblioteca estaba intacta en el NAS y el daño era días anterior al reinicio. Que el dataset cifrado se hubiera quedado bloqueado tras un reinicio - su llave estaba cargada y estaba montado. Que NFS no cruzara a un dataset anidado - no había datasets hijos.
Qué encontréEl punto de montaje en el servidor de aplicaciones era un directorio local vacío creado ese día, no el recurso del NAS. La unidad de automontaje de systemd llevaba dos días en estado fallido: Docker lanzó unas seis peticiones de montaje en cinco segundos antes de que NFS terminara, systemd llegó a su límite de arranques y dejó de intentar.
CausaSin el recurso montado, el contenedor de la base de datos arrancó igual e inicializó un clúster nuevo y vacío en el directorio local. La aplicación mostró fielmente esa base vacía. La base real y cada foto estuvieron intactas en el NAS todo el tiempo.
ArregloParé el stack primero para que no se escribiera nada más, reinicié las unidades fallidas, monté el recurso y arranqué el stack sobre la base real. Pendiente: que Docker exija el montaje antes de arrancar, y sacar la base de datos de NFS a disco local.
Un montaje fallido puede verse exactamente igual que una pérdida total de datos. Lo primero es dejar de escribir; lo segundo, comprobar qué está montado de verdad - antes de restaurar nada de un respaldo.