要使用unshare创建持久名称空间,请使用以下语法:
touch /root/mynetns1
unshare --net==/root/mynetns1要使用ip创建持久名称空间,请使用以下语法:
ip netns add mynetns2ip命令不列出或可以访问由unshare创建的命名空间,反之亦然。
ip命令在定制网络名称空间方面要好得多,但是unshare命令允许您启动具有多个不同名称空间的程序。理想情况下,我应该使用ip创建一个名称空间,但是使用unshare启动带有其他名称空间的命令。要做到这一点,unshare需要能够引用由ip创建的名称空间,该如何实现呢?
现在我正在使用ip netns exec mynetns1 unshare [other namespaces] ...作为黑客,但我更喜欢使用unshare更干净地启动。
我还希望我的程序能够与他们各自创建的网络名称空间进行交互,因此有关如何列出和访问他们的网络名称空间的信息也会很有帮助。
发布于 2021-11-18 05:37:20
unshare --net=/somefile和ip netns add somename都创建了一个新的网络名称空间,并将其绑定挂载到某个地方。惟一的区别是unshare将其绑定挂载到您指定的任何文件,而ip将其绑定挂载到/var/run/netns/中的一个新文件。换句话说,如果您使用/var/run/netns/mynetns1代替/root/mynetns1,那么您可以稍后与ip进行交互。
https://stackoverflow.com/questions/70010945
复制相似问题