Dejar de compartir y reenviar puertos al espacio de nombres

Dejar de compartir y reenviar puertos al espacio de nombres

Estoy jugando unsharepara comprender mejor los contenedores. Como usuario normal, ¿es posible crear un espacio de nombres donde un programa pueda escuchar, por ejemplo, un puerto 123y en el espacio de nombres "principal" 1234se redirija un puerto a él?

Supongo que debería serlo, ya que Podman es un motor contenedor desarraigado y puede hacerlo. Mirar man vethno ayudó.

Respuesta1

Podman funciona usandodeslizarse4netnspara gestionar undispositivo de toquedentro del contenedor sin privilegios. Del archivo README de slirp4netns:

A partir de Linux 3.8, los usuarios sin privilegios pueden crear network_namespaces(7)junto con archivos user_namespaces(7). Sin embargo, los espacios de nombres de red sin privilegios no habían sido muy útiles, porque la creación de veth(4)pares entre los espacios de nombres de red y host todavía requiere privilegios de root. (es decir, sin conexión a Internet)

slirp4netns permite conectar un espacio de nombres de red a Internet de una manera completamente sin privilegios, conectando un dispositivo TAP en un espacio de nombres de red a la pila TCP/IP del modo de usuario ("slirp").

Para lograr su objetivo, deberá hacer algo similar.

información relacionada