Com o ip netns exec, você pode executar um comando em um namespace de rede personalizado - mas também existe uma maneira de executar um comando no namespace padrão?
Por exemplo, depois de executar estes dois comandos:
sudo ip netns add test_ns
sudo ip netns exec test_ns bash
Como o bash recém-criado pode executar programas no namespace de rede padrão? Não há ip netns exec padrão ou algo semelhante, até onde eu encontrei.
Meu cenário é:
Desejo executar um servidor SSH em um espaço para nome de rede separado (para manter o resto do sistema inconsciente da conexão de rede, pois o sistema é usado para teste de rede), mas quero poder executar programas no espaço para nome de rede padrão via a conexão SSH.
O que eu descobri até agora:
Os namespaces de rede criados são listados como arquivos em / var / run / netns (mas não há arquivo para o namespace padrão)
O código exec do ip netns pode ser encontrado aqui: http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree/ip/ipnetns.c#n132 - Eu não entendi tudo isso ainda está sendo feito, mas não parece muito promissor.
os netns ip identificam $$ como sugerido por Howto query e altere o namespace da rede no linux? não retorna nada quando no namespace da rede padrão