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