Aufheben der Freigabe und Weiterleitung des Ports in den Namespace

Aufheben der Freigabe und Weiterleitung des Ports in den Namespace

Ich spiele damit herum unshare, um Container besser zu verstehen. Ist es als normaler Benutzer möglich, einen Namespace zu erstellen, in dem ein Programm beispielsweise einen Port abhören kann, 123und im „Haupt“-Namespace 1234würde ein Port dorthin umgeleitet?

Ich denke, das sollte so sein, da Podman eine Rootless-Container-Engine ist und das kann. Das Nachschauen man vethhat nicht geholfen.

Antwort1

Podman funktioniert durch die Verwendungslirp4netnszur Verwaltung einesTippen Sie auf das Gerätinnerhalb des nicht privilegierten Containers. Aus der README-Datei für slirp4netns:

Ab Linux 3.8 können nicht privilegierte Benutzer network_namespaces(7)zusammen mit erstellen user_namespaces(7). Allerdings waren nicht privilegierte Netzwerk-Namespaces nicht sehr nützlich, da zum Erstellen von veth(4)Paaren über Host- und Netzwerk-Namespaces hinweg immer noch Root-Berechtigungen erforderlich sind. (d. h. keine Internetverbindung)

slirp4netns ermöglicht die Verbindung eines Netzwerk-Namespaces mit dem Internet auf völlig unprivilegierte Weise, indem ein TAP-Gerät in einem Netzwerk-Namespace mit dem TCP/IP-Stack im Benutzermodus („slirp“) verbunden wird.

Um Ihr Ziel zu erreichen, müssten Sie etwas Ähnliches tun.

verwandte Informationen