Dengan ip netns exec Anda dapat menjalankan perintah di namespace jaringan khusus - tetapi apakah ada juga cara untuk mengeksekusi perintah di namespace default?
Misalnya, setelah menjalankan dua perintah ini:
sudo ip netns add test_ns
sudo ip netns exec test_ns bash
Bagaimana bash yang baru dibuat dapat menjalankan program di namespace jaringan default? Tidak ada ip netns exec default atau yang serupa sejauh yang saya temukan.
Skenario saya adalah:
Saya ingin menjalankan server SSH di namespace jaringan yang terpisah (untuk menjaga agar sistem tidak mengetahui koneksi jaringan, karena sistem ini digunakan untuk pengujian jaringan), tetapi ingin dapat menjalankan program di namespace jaringan default melalui koneksi SSH.
Apa yang saya temukan sejauh ini:
Ruang nama jaringan yang dibuat terdaftar sebagai file di bawah / var / run / netns (tetapi tidak ada file untuk namespace default)
Kode ip netns exec dapat ditemukan di sini: http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree/ip/ipnetns.c#n132 - Saya belum memahami semuanya itu masih dilakukan, tetapi itu tidak terlihat sangat menjanjikan.
ip netns mengidentifikasi $$ seperti yang disarankan oleh Howto query dan mengubah namespace jaringan di linux? mengembalikan apa-apa ketika di namespace jaringan default