怎么把veth pair的虚拟网卡从容器命名空间移到主机命名空间?

利用命令:ip link set veth1 netns ns1可以把veth pair一端的虚拟网卡移到容器网络命名空间ns1.
那如果要把这个虚拟网卡veth1重新移回宿主机命名空间该怎么处理呢?

阅读 4.5k
2 个回答

ip netns list能找到namespace都在/var/run/netns/

所以要先创建一个文件,作为挂载点

sudo touch /var/run/netns/ns_host

再把当前进程所处的namespace(host的namespace) 挂载上去

sudo mount --bind /proc/$$/ns/net  /var/run/netns/ns_host

现在ip netns list应该能看到ns_host

最后再把veth的一端移动回去

sudo ip netns exec ns1 ip link set veth1 netns ns_host

ip link set veth1 netns 1
最后的1是进程号,也就是init进程,veth1会进入init进程的网络空间,也就出去了

ip link set DEVICE netns { PID | NAME }

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题