Avec ip netns exec, vous pouvez exécuter une commande dans un espace de noms réseau personnalisé - mais existe-t-il également un moyen d'exécuter une commande dans l'espace de noms par défaut?
Par exemple, après avoir exécuté ces deux commandes:
sudo ip netns add test_ns
sudo ip netns exec test_ns bash
Comment le bash nouvellement créé peut-il exécuter des programmes dans l'espace de noms réseau par défaut? Il n'y a pas d' IP netns exec par défaut ou quelque chose de similaire pour autant que je l'ai trouvé.
Mon scénario est:
Je souhaite exécuter un serveur SSH dans un espace de noms de réseau distinct (pour que le reste du système ne soit pas au courant de la connexion réseau, car le système est utilisé pour les tests de réseau), mais je veux pouvoir exécuter des programmes dans l'espace de noms de réseau par défaut via la connexion SSH.
Ce que j'ai découvert jusqu'à présent:
Les espaces de noms réseau créés sont répertoriés sous forme de fichiers sous / var / run / netns (mais il n'y a pas de fichier pour l'espace de noms par défaut)
Le code exécutable ip netns peut être trouvé ici: http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree/ip/ipnetns.c#n132 - Je n'ai pas tout compris qu'il fait encore, mais il ne semble pas très prometteur.
ip netns identifie $$ comme suggéré par Howto interroger et changer l'espace de noms du réseau sous linux? ne renvoie rien lorsque dans l'espace de noms du réseau par défaut