veth pair是成对出现的,用来连接两个虚拟以太端口。如果两个namespace需要网络连接,就可以通过veth pair进行操作。

直接相连

直接相连是最简单的方式,如下图,一对 veth-pair 直接将两个 namespace 连接在一起。
在这里插入图片描述

通过Bridge相连

Linux Bridge 相当于一台交换机,可以中转两个 namespace 的流量。

如下图,两对 veth-pair 分别将两个 namespace 连到 Bridge 上。
在这里插入图片描述

实战

直接相连的方式连接连个命名空间,veth pair配置完成后,直接ping对方的IP地址

# 创建veth pair
ip link add tap1 type veth peer name tap
# 创建namespace 
ip netns add ns1
ip netns add ns2
# 把两个tap分别迁移到对应的namespace中
ip link set tap1 netns ns1
ip link set tap2 netns ns2
# 分别给两个tap绑定IP地址
ip netns exec ns1 ip addr add local 192.168.50.1/24 dev tap1
ip netns exec ns2 ip addr add local 192.168.50.2/24 dev tap2
# 将两个tap设置未up
ip netns exec ns1 ifconfig tap1 up
ip netns exec ns2 ifconfig tap2 up
# ping
ip netns exec ns2 ping 192.168.50.1 
ip netns exec ns1 ping 192.168.50.2
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐