Subred virtual sin raíz de Podman con contenedores accesibles externamente por IP, ¿es esto posible?

Subred virtual sin raíz de Podman con contenedores accesibles externamente por IP, ¿es esto posible?

Meta

  • Configurar una red virtual en la que se inician varios contenedores
  • cada contenedor debe ser accesible por su IP desde la red host
  • los contenedores se ejecutan sin raíz (está destinado a ejecutar la red de prueba desde un corredor de CI)
  • es aceptable ejecutar un iptablescomando específico con sudoel que permita los reenvíos necesarios a la red virtual

La razón por la que evito el uso de puertos publicados es que quiero que la red virtual se parezca a la "realidad" en la que una mayor cantidad de servicios se ejecutarán en hardware separado, y el hecho de que usarán diferentes IP es importante para la coordinación. servicio.

Mi acercamiento

$ podman network create --subnet 10.10.10.0/24 virtnet1
$ ( export DBUS_SESSION_BUS_ADDRESS=; podman run --rm -d --name nmt --network virtnet1 praqma/network-multitool )

(El DBUStruco es una solución paraeste problema)

Si ahora miro iptables -Lveo las cadenas CNI-FORWARD, y estaba suponiendo ingenuamente que una simple

sudo iptables -A CNI-FORWARD -d 10.10.10.0/24 -j ACCEPT

para poder acceder a los contenedores desde la red host. Pero todavía parecen estrictamente separados e inaccesibles. (La FORWARDcadena tiene ACCEPTuna política predeterminada, por lo que no hay problema).

¿Es fundamentalmente imposible (no he encontrado ningún ejemplo de esto) o simplemente estoy haciendo algo mal?

¿Podrían las CNI-*cadenas estar relacionadas con algún contenedor rooteado anterior, ya que lógicamente desarraigado no podría afectar nada iptablesrelacionado de todos modos?

información relacionada