如何为命名空间添加名称?

时间:2015-05-09 17:10:18

标签: linux networking ip linux-namespaces

据我所知,我可以使用“clone”来创建进程和命名空间,但以这种方式创建的命名空间没有名称。例如,我使用参数:CLONE_NEWNS创建网络命名空间,但在命令“ip netns list”中,没有命名空间列表,因为创建的命名空间没有名称。但我可以使用命令“ip netns add xxx”来创建名为“xxx”的命名空间。

我想知道如何使用系统调用“clone”创建名称命名空间。

1 个答案:

答案 0 :(得分:5)

创建从/var/run/netns/<name>/proc/<pid>/ns/net的符号链接,其中<pid>是使用CLONE_NEWNS创建的流程的PID,而<name>是您的名称想用来引用网络命名空间。

请注意,ip link set netns命令将接受PID或名称,nsenter命令也可以通过PID访问命名空间,因此您实际上可能不需要为网络分配名称命名空间。