从 Linux 命名空间中删除链接

从 Linux 命名空间中删除链接

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

然而问题是去除从命名空间 foo 到默认命名空间的链接。我应该使用哪个命令?

答案1

从命名空间 foo 内:

ip link set <veth-name> netns 1

从全局命名空间:

ip netns exec foo ip link set <veth-name> netns 1

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

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

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

答案2

ip netns pids foo | xargs kill
ip netns del foo

相关内容