За допомогою ip netns exec ви можете виконати команду у власному просторі імен мереж - але чи є також спосіб виконання команди у просторі імен за замовчуванням?
Наприклад, після виконання цих двох команд:
sudo ip netns add test_ns
sudo ip netns exec test_ns bash
Як новостворений bash може виконувати програми в просторі мережевих імен за замовчуванням? Існує немає IP - netns EXEC по замовчуванням або що - небудь подібне, наскільки я знайшов.
Мій сценарій:
Я хочу запустити сервер SSH в окремому просторі мереж імен (щоб решта системи не знала про мережеве з'єднання, оскільки система використовується для тестування мережі), але хочу мати змогу виконувати програми в просторі мережевих імен за замовчуванням через з'єднання SSH.
Що я дізнався поки що:
Створені простори імен мереж перераховані як файли в / var / run / netns (але для файлу простору імен не існує файлу)
Код ie netns exec можна знайти тут: http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree/ip/ipnetns.c#n132 - я все не зрозумів що це ще робиться, але це не виглядає дуже перспективно.
ip netns ідентифікує $$, як це запропоновано Howto запитувати та змінювати мережевий простір імен на Linux? нічого не повертає, коли в просторі мережевих імен за замовчуванням