Como definir namespaces de rede do Linux como um usuário não raiz?

1

Eu configurei um namespace de rede para uma VPN para que nem todo o tráfego passasse pela VPN.
Funciona bem quando digito:

sudo ip netns exec vpn firefox

Todo o tráfego do Firefox está passando pela VPN conforme o esperado. O problema é que todo programa que é iniciado assim tem permissões de root. Eu tentei fazer:

sudo ip netns exec vpn sudo -u user firefox

Enquanto o aplicativo inicia bem, ele "deixa" o namespace e não usa mais a VPN.

Pode ajudar alguém?

    
por leonlag 03.03.2015 / 04:58

1 resposta

0

Os processos não podem 'deixar' um namespace - a função setns (2) requer privilégios de root.

Mas é bem provável que você já tenha uma instância do Firefox em execução fora do namespace. Sempre que você executar o Firefox uma segunda vez, ele apenas solicita que a instância existente abra uma nova janela.

Você pode evitar isso usando perfis separados do Firefox, por exemplo, firefox -profile /tmp/testfox .

    
por 03.03.2015 / 18:52