Za pomocą ip netns exec możesz wykonać polecenie w niestandardowej sieciowej przestrzeni nazw - ale czy jest też sposób na wykonanie polecenia w domyślnej przestrzeni nazw?
Na przykład po wykonaniu tych dwóch poleceń:
sudo ip netns add test_ns
sudo ip netns exec test_ns bash
Jak nowo utworzony bash może uruchamiać programy w domyślnej sieciowej przestrzeni nazw? O ile nie znalazłem, nie ma domyślnego wykonania ip netns exec ani nic podobnego.
Mój scenariusz to:
Chcę uruchomić serwer SSH w oddzielnej sieciowej przestrzeni nazw (aby pozostała część systemu nie była świadoma połączenia sieciowego, ponieważ system służy do testowania sieci), ale chcę mieć możliwość uruchamiania programów w domyślnej przestrzeni nazw sieci za pośrednictwem połączenie SSH.
Co dotychczas odkryłem:
Utworzone sieciowe nazwy są wymienione jako pliki w / var / run / netns (ale nie ma pliku dla domyślnej przestrzeni nazw)
Przez IP netns Exec kod można znaleźć tutaj: http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree/ip/ipnetns.c#n132 - Nie zrozumiał wszystko że to działa, ale nie wygląda bardzo obiecująco.
ip netns identyfikują $$ zgodnie z sugestią Howto i zmieniają przestrzeń nazw sieci w systemie Linux? nic nie zwraca, gdy znajduje się w domyślnej sieciowej przestrzeni nazw