Linux ip netns 命令
/var/run/netns/ 目录下的一个对象。比如有一个名称为 net1 的 network namespace 对象,则可以由打开 /var/run/netns/net1 对象产生的文件描述符引用 network namespace net1。通过引用该文件描述符,可以修改进程的 network namespace。 ip netns list 命令显示所有命名的 network namesapce,其实就是显示 /var/run/netns 目录下的所有 network namespace 对象: ip netns add NAME 命令创建一个命名的 network namespace: ip [-all] netns del [ NAME ] 命令删除指定名称的 network namespace。如果指定了 -all 选项,则尝试删除所有的 network namespace。
$ ip netns exec net0 bash
$ ip netns del net0
ip netns identify [PID] 命令用来查看进程的 network namespace。如果不指定 PID 就显示当前进程的 network namespace:
ip netns pids NAME 命令用来查看指定的 network namespace 中的进程的 PID。这个命令其实就是去检查 /proc 下的所有进程,看进程的 network namespace 是不是指定的 network namespace: ip [-all] netns exec [ NAME ] cmd 命令用来在指定的 network namespace 中执行命令。比如我们要看一下某个 network namespace 中有哪些网卡:
ip netns monitor 命令用来监控对 network namespace 的操作。比如我们删除一个 network namespace 时就会收到相应的通知:
$ /proc/$$/ns/net
$ -p /var/run/ /var/run/netns/mynet
$ unshare --net bash
# /proc/$$/ns/net
# --bind /proc/$$/ns/net /var/run/netns/ -I /var/run/netns/mynet
-I /var/run/netns/mynet
sudo ip netns add mynetsudo ip netns exec mynet bash $ nsenter --net=/var/run/netns/ /proc/$$/ns/net
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |