Pérdida de red al usar Docker y VPN
Para resolver el problema de pérdida de red en contenedores Docker cuando te conectas a una VPN, es importante entender que el conflicto generalmente ocurre porque Docker y la VPN pueden estar usando subredes privadas que se solapan. Aquí hay un esquema general de los pasos que puedes seguir para solucionar este problema:
- Investigar las subredes que usa la VPN, (el método depende de la VPN) y compararlo con las subredes que está creando para verificar que sea el problema.
- Modificar la configuración de Docker para que tome subredes diferentes
# Modificar configuración de docker
sudo vim /etc/docker/daemon.json
# Nota: De vim se sale con :wq
El mío quedó así porque uso más VPN y tengo más containers que niños felices en el mundo, pero se debe adaptar el de cada uno a las propiedades de las VPN que use, el parámetro
default-address-pools, lo uso porque no puedo usar la subred 10.250.0.0 completa y dns usarlo solo si tienes problemas de DNS dentro de los containers de Docker.
{
"ipv6": false,
"bip": "10.250.1.1/24",
"default-address-pools":[
{"base":"10.250.2.0/16","size":24},
{"base":"10.250.3.0/16","size":24},
{"base":"10.250.4.0/16","size":24},
{"base":"10.250.5.0/16","size":24},
{"base":"10.250.6.0/16","size":24},
{"base":"10.250.7.0/16","size":24},
{"base":"10.250.8.0/16","size":24},
{"base":"10.250.9.0/16","size":24}
],
"dns" : ["1.1.1.1", "4.4.4.4", "8.8.8.8"]
}
- Reiniciar Docker y eliminar las redes de los containers creadas.
# Reiniciar docker
sudo systemctl restart docker.service
No especifico comandos para eliminar las redes creadas por Docker porque puede perder algún container. Pueden usar portainer para hacerlo de forma visual.