从 Linux 命名空间中删除链接

Mar*_*ark 4 linux namespace network-namespaces

我使用“ip netns add foo”在 Linux 中创建了一个命名空间,创建了一对 veth 接口并在命名空间中移动了一个。我设置了 IP 地址等,以便现在我可以从默认命名空间(即主机) ping 我的“foo”命名空间。

然而,问题在于将命名空间 foo 中的链接删除回默认链接。我应该使用哪个命令?

小智 5

从命名空间 foo 内:

ip link set <veth-name> netns 1
Run Code Online (Sandbox Code Playgroud)

从全局命名空间:

ip netns exec foo ip link set <veth-name> netns 1
Run Code Online (Sandbox Code Playgroud)

它将接口移回全局命名空间。

陷阱:避免命名空间名为“1”。

是的你可以。您可以创建命名空间“1”。但是在命名空间“1”存在期间,无法使用所提出的方法将接口从命名空间移动到全局命名空间。所有移动都改为执行到名称空间“1”。因此,请避免使用名称空间“1”。