Necesito entender cómo hacer que dos contenedores docker funcionen con un escenario como este:
Hay una sucursal con un enrutador y un cliente. La red es 192.168.190.0/24 y las direcciones son 1 y 57.
Hay en otro lugar una máquina virtual frente a Internet con IP pública XYZK y el entorno docker instalado en la parte superior.En el interior hay dos contenedores. El primero es un servidor web que se encuentra solo en una red privada con la dirección 192.168.80.2. El otro contenedor tiene una conexión en la red privada con la dirección 192.168.80.44 y expone su puerto 1194 en la otra interfaz de red a la IP pública.
Necesito poder hacer que 192.168.190.57 abra las páginas en 192.168.80.2.
La parte de VPN funciona bien (el enrutador se conecta y se puede hacer ping desde el cliente) y no necesito ayuda en eso.
De forma predeterminada, si define una red internal: true significa que se promulgarán algunas reglas de iptables para bloquear la salida de todos los contenedores en el segmento lan.
Al principio pensé que era solo la ruta de, digamos, 192.168.80.2 a 192.168.80.1 (la ip asignada a la máquina host para ese segmento de LAN) y luego a Internet. Al leer detenidamente todas las reglas de iptables, descubrí que el reenvío también está deshabilitado.
Extracción de la internal: true permitió que el contenedor se enrutara a través de la VPN como se esperaba a costa de permitir que el servidor web accediera directamente a la Internet pública.
No, no pude. Ningún protocolo en absoluto (icmp, tcp, udp) funcionó de la forma en que se configuró. Pero lo descubrí. Más sobre mi propia respuesta a continuación.
Si observa detenidamente el esquema de la imagen, podrá ver que el contenedor de docker para la VPN es un servidor, no un cliente. No creo que esa imagen funcione para mí.