我使用“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