在 Linux 上创建新的网络命名空间

在 Linux 上创建新的网络命名空间

我想在 Linux 上创建一个新的网络命名空间。

http://www.spinics.net/lists/linux-containers/msg10895.html告诉我可以通过运行以下命令将 shell 附加到 ID 为 X 的现有命名空间:

$ chnetns X /bin/sh

如果命名空间已经存在,则此方法可以正常工作,但如果我尝试使用不存在的命名空间,则会得到以下结果:

$ chnetns 100 /bin/sh
setsocketopt: Invalid argument

我如何创建命名空间?我在使用 Red Hat Linux,V6.1。

答案1

答案是‘ip netns add vnet1’。

ip netns list
ip netns add vnet1

也可以看看Linux 虚拟网络简介blog.scottlowe.org:Linux 网络命名空间简介opencloudblog.com:Linux 网络命名空间更加闪亮和美观opencloudblog.com:Linux 网络命名空间非常清晰,并且通过精美的图表更加详细

指向其他参考资料的链接,以帮助其他人开始使用虚拟网络命名空间。另请参阅LWN 关于网络命名空间的文章Open Stack 网络示例iproute2Linux VRF 补丁集Linux 的虚拟路由和转发,以及OpenStack 网络概念

主机名 ip netns

NAME
   ip-netns - process network namespace management

SYNOPSIS
   ip [ OPTIONS ] netns  { COMMAND | help }

   ip netns { list }

   ip netns { add | delete } NETNSNAME

   ip netns identify PID

   ip netns pids NETNSNAME

   ip netns exec NETNSNAME command ...

   ip netns monitor

相关内容