O Chroot não ajuda aqui. Isso afeta apenas nomes de arquivos, não de rede e outros recursos.
As versões modernas do Linux oferecem uma maneira de virtualizar alguns aspectos do ambiente, por meio de namespaces . Além da virtualização tradicional de nomes de arquivos através de chroot
(para que um processo não enxergue arquivos fora do chroot), é possível virtualizar IDs de processo (para que um processo dentro de um namespace PID não possa sinalizar ou rastrear processos fora do namespace), usuários (para que o usuário 1234 dentro do namespace do usuário seja independente do usuário 1234 fora do namespace), etc. É de interesse para você namespaces de rede , nos quais os processos têm suas próprias interfaces de rede, Endereços IP, roteamento, etc.
Eu recomendo a leitura da excelente série de artigos do LWN por Michael Kerrisk , pelo menos a introdução e o artigo sobre "http://lwn.net/Articles/219794/"> namespaces da rede .
Os namespaces de rede existem desde o kernel 2.6.29 (com uma implementação parcial disponível em versões anteriores), então eles estão disponíveis em todas as distribuições contemporâneas, exceto no RHEL5 / CentOS5. A partir do kernel 3.8, você pode até combinar um namespace de rede com um namespace de usuário e executar a configuração de rede dentro do namespace, sem ter permissões de root fora do namespace; com kernels anteriores, como o 3.2 on wheezy, você precisa de acesso root no sistema host para criar o namespace do usuário. As ferramentas de Userland têm sido mais lentas do que os recursos do kernel, portanto muitos sistemas atuais não possuem todas as ferramentas para fazer uso total dos recursos do kernel. O Debian wheezy vem com unshare
, o que é suficiente para criar esse namespace, mas não possui o wrapper do shell nsenter
around setns
para atuar dentro de um namespace do host (ele entrou instável em julho ).
Veja Comando para executar um processo filho" offline "(sem rede externa) no Linux para um exemplo simples de criação de um namespace de rede. O blog de Scott Lowe tem um tutorial mais detalhado.