使用ip netns exec您可以在自定义网络命名空间中执行命令 - 但是否还有一种方法可以在默认命名空间中执行命令?
例如,执行这两个命令后:
sudo ip netns add test_ns
sudo ip netns exec test_ns bash
Run Code Online (Sandbox Code Playgroud)
新创建的 bash 如何在默认网络命名空间中执行程序?据我所知,没有ip netns exec default或任何类似的东西。
我的场景是:
我想在单独的网络命名空间中运行 SSH 服务器(以使系统的其余部分不知道网络连接,因为系统用于网络测试),但希望能够通过以下方式在默认网络命名空间中执行程序SSH 连接。
到目前为止我发现了什么:
创建的网络命名空间被列为 /var/run/netns 下的文件(但默认命名空间没有文件)
该IP netns EXEC代码可以在这里找到:http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree/ip/ipnetns.c#n132 -我还没有掌握一切它正在做,但看起来不太有希望。
ip netns按照Howto 在 linux 上查询和更改网络命名空间的建议识别 $$ ?在默认网络命名空间中时不返回任何内容