El fallo es concreto: Docker no encuentra una subred automática aceptable para una nueva red de puente. No significa que a la máquina se le hayan acabado las direcciones, ni que la VPN esté rota. Dos preguntas deciden el diagnóstico: qué bloques candidatos puede ver el demonio y cuáles de ellos excluye su asignador en este entorno. Recórralas en ese orden, porque la segunda pregunta no tiene sentido hasta que se responda la primera.

Confirme qué falló antes de cambiar nada

Ejecute los pasos siguientes desde el host que ejecuta el demonio. Un intérprete que habla con un contexto remoto describe otra máquina, y ese error por sí solo puede hacer perder una hora.

Anote también la versión de Engine en el ticket. Cada heurística del resto de este manual depende de la versión, y una afirmación sin versión es un rumor.

Cuente las asignaciones que ya tiene

Enumere las redes y luego inspeccione las que importan: docker network ls seguido de docker network inspect NETWORK_NAME. Lea sus subredes IPAM y los contenedores conectados a cada una. Varios proyectos de Compose consumen más bloques de lo que sugieren sus recuentos de contenedores, porque cada proyecto tiende a crear su propia red predeterminada. Un contenedor detenido no libera la asignación de su red.

Revise también la configuración del grupo, ya que un grupo predeterminado tiene un rango base y un tamaño de prefijo por red. Las asignaciones grandes por red agotan los bloques disponibles más rápido, y eso es un hecho de capacidad, no un problema de enrutamiento.

Anote el recuento. Es la línea base que le dice si el siguiente cambio ayudó.

Compare la visión que el demonio tiene de las rutas

Una VPN puede influir en la selección de candidatos, pero la implementación exacta decide cómo. En Moby 28.2.2 en Linux, InferReservedNetworks recopila direcciones de servidores de nombres y ciertas rutas IPv4 on-link, y no reserva simplemente cada ruta de cada tabla. Las rutas de enlace recopiladas también excluyen una dirección de destino no especificada, así que una ruta 0.0.0.0/1 por sí sola no reserva todas las direcciones. Otro prefijo on-link amplio, como 128.0.0.0/1, puede intersecar los rangos candidatos habituales 172 y 192.

Compare ip -4 route show table all antes y después de que se conecte la VPN, en el host del demonio. El delta es la evidencia, y la versión es el alcance de la afirmación.

No generalice las heurísticas de una versión a todas las versiones. Así es como una respuesta de foro se convierte en un cambio de política.

Elija la corrección más pequeña que funcione

Si una red no utilizada confirmada contiene un bloque que necesita, planifique su retirada dirigida con el propietario en lugar de podar de forma amplia. Para una red nueva, una subred no utilizada revisada explícitamente evita del todo depender de la selección automática. Esa subred aún debe evitar destinos reales de Docker, LAN y VPN obligatorios, porque privado no significa seguro. Enrutar un prefijo remoto real cambiaría el error de asignación por un acceso roto.

Cambiar default-address-pools es una política más amplia sobre asignaciones futuras. Elija una base sin conflictos y un tamaño asignado adecuado, únala con la configuración existente del demonio y planifique el impacto documentado del reinicio. Las redes existentes no se renumeran en silencio.

No desactive los envíos de rutas de la empresa para que la asignación tenga éxito. Un plan de direcciones explícito suele resolver el problema local sin debilitar una política obligatoria.

Acepte la asignación y el enrutamiento por separado

Tras el cambio, inspeccione la subred que Docker creó realmente y pruebe las dependencias de VPN y locales de la aplicación. Una asignación correcta y un enrutamiento correcto en ejecución son dos comprobaciones de aceptación distintas, y superar la primera no es evidencia de la segunda. Si la aplicación no puede alcanzar un recurso detrás del túnel, tiene un problema de enrutamiento que el error del grupo ocultaba. Registre ambos resultados en el ticket.

Conserve el delta de rutas y el recuento del grupo con el registro del cambio, porque la próxima actualización del cliente VPN puede alterar el primero sin tocar Docker.

El manual está completo cuando otra persona puede repetir esas dos comprobaciones y obtener la misma respuesta.

Artículos relacionados