Tengo un servidor OpenVPN ejecutándose que expone algunas direcciones IP privadas, me gustaría que mis servicios de enjambre Docker accedan a esas direcciones.
Idealmente, no habría un cliente OpenVPN "dentro" de los contenedores, ya que se espera que las imágenes se implementen en un entorno donde no será necesaria una VPN.
Lo que probé hasta ahora
Conecté con éxito un contenedor a mi VPN con la imagen dperson / openvpn-client .
Lancé con éxito otro contenedor usando ese contenedor como su red usando la --net=container:my-vpn-clientbandera.
Ahora estoy tratando de configurar un servicio acoplable que accederá a mis direcciones IP privadas y lo que encontré es:
- No puedo ejecutar el cliente openVPN en un servicio ya que no se puede proporcionar 
cap-add: NET_ADMIN. Hay problemas abiertos con Docker discutiendo este asunto, pero aún están abiertos. - Pensé que podría hacer que el contenedor del cliente openVPN se ejecute "al lado" del clúster de enjambre, pero no puedo usarlo 
network_mode: "container:my-vpn-client"ya que no es compatible y tiene sentido ya que no podría forzar la presencia de un contenedor arbitrario en cada nodo del enjambre sin que sea un servicio en sí mismo. - Intenté crear una red conectable (puente / superposición) y simplemente pegué mi contenedor de cliente OpenVPN y espero que mágicamente otros miembros de esa red atraviesen esa tubería ... y me decepcionó.
 
Así que aquí estoy, ¿alguna idea?
PD: si puede ayudar, esto es principalmente para configurar algunas pruebas automatizadas que ejecutarán los servicios en una sola máquina acoplable en modo enjambre, como en swarm init> despliegue de pila> ejecutar pruebas> dejar enjambre. Entonces, si hay un "truco" para eso ... podría estar interesado;)

ccrarchivo como si se tratara de una red local. Como con todo el enrutamiento TCP / IP, "traceroutees su mejor amigo, tal como estátcpdumpo WireShark".