在 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 文章,開放式堆疊網路範例,ip路由2,Linux VRF 補丁集Linux 的虛擬路由與轉發,以及OpenStack 網路概念

人 ip 網路

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

相關內容