Ist ein virtuelles Podman-Subnetz ohne Rootberechtigung mit Containern möglich, die extern über IP zugänglich sind?

Ist ein virtuelles Podman-Subnetz ohne Rootberechtigung mit Containern möglich, die extern über IP zugänglich sind?

Ziel

  • Einrichten eines virtuellen Netzwerks, in dem mehrere Container gestartet werden
  • Jeder Container sollte über seine IP vom Host-Netzwerk aus erreichbar sein
  • die Container laufen rootless (es ist vorgesehen, das Testnetzwerk von einem CI-Runner aus auszuführen)
  • iptablesEs ist akzeptabel, einen bestimmten Befehl auszuführen , mit sudodem die erforderlichen Weiterleitungen zum virtuellen Netzwerk ermöglicht werden

Der Grund, warum ich die Verwendung veröffentlichter Ports vermeide, besteht darin, dass das virtuelle Netzwerk der „Realität“ ähneln soll, in der eine größere Anzahl von Diensten auf separater Hardware ausgeführt wird und die Tatsache, dass sie unterschiedliche IPs verwenden, für den Koordinierungsdienst von Bedeutung ist.

Mein Ansatz

$ 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 )

(Der DBUSHack ist ein Workaround fürdieses Problem)

Wenn ich mir jetzt iptables -Ldie Ketten anschaue CNI-FORWARD, und ich war naiv davon ausgegangen, dass eine einfache

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

um vom Host-Netzwerk aus auf die Container zugreifen zu können. Sie erscheinen jedoch weiterhin streng getrennt und unzugänglich. (Die FORWARDKette hat ACCEPTstandardmäßig eine Richtlinie, daher gibt es hier kein Problem.)

Ist das grundsätzlich unmöglich (ich habe keine Beispiele dafür gefunden) oder mache ich einfach etwas falsch?

Könnten die CNI-*Ketten mit irgendwelchen vorherigen Root-Containern in Zusammenhang stehen, da Rootless logischerweise ohnehin nichts Verwandtes beeinflussen könnte iptables?

verwandte Informationen