是linux下的一种类似pipe的网卡设备
创建之后会创建2个虚拟网卡, 他们像pipe的两端.
将一端挂在root ns, 将另外一端挂在另外一个ns里(假设ip是 192.168.5.11), 就能实现跨越2个ns的通信.
假设root ns的这端还挂在一个网桥(linux bridge)上(给网桥一个ip地址 比如 192.168.5.1), 就类似本机的docker0是一个bridge.
此时该bridge可以作为gateway使用, 转发给192.168.5.11 的包就可以通过该bridge来转.
从而实现了本机与虚拟IP的通信.
一些命令
# 创建命名空间ip nets add subns1# 在命名空间里执行命令, 此后在这个bash里执行的一切都是在这个subns1下的ip nets exec subns1 bash
ethtool -k eth0网咖有个 netns-local 属性, 如果为on, 表示不能移动到别的命名空间
# 创建veth设备对ip link add v1 type veth peer name v11# 一端叫v1, 另一端叫v11# 查询所有的网络接口ip link show# 设置v11到subns1空间ip link set v11 setns subns1# 此时再次查看已经看不到v11了ip link show# 只有进入 subns1 才能看到它ip netns exec subns1 ip link show# TODO 如何修改名字
