
Estou brincando unshare
para entender melhor os contêineres. Como um usuário normal, é possível criar um namespace onde um programa possa escutar, digamos, uma porta 123
e no namespace "principal" uma porta 1234
seja redirecionada para ele?
Acho que deveria ser, já que o Podman é um mecanismo de contêiner sem raiz e pode fazer isso. Olhar man veth
não ajudou.
Responder1
Podman funciona usandoslirp4netnspara gerenciar umtoque no dispositivodentro do contêiner sem privilégios. Do README para slirp4netns:
A partir do Linux 3.8, usuários sem privilégios podem criar
network_namespaces(7)
junto com arquivosuser_namespaces(7)
. No entanto, os namespaces de rede sem privilégios não foram muito úteis, porque a criação deveth(4)
pares entre os namespaces de host e de rede ainda requer privilégios de root. (ou seja, sem conexão com a internet)slirp4netns permite conectar um namespace de rede à Internet de uma forma completamente sem privilégios, conectando um dispositivo TAP em um namespace de rede à pilha TCP/IP de modo de usuário ("slirp").
Para atingir seu objetivo, você precisaria fazer algo semelhante.