《深入理解OpenStack Neutron》—2.3 veth pair
2.3 veth pair
veth pair不是一个设备,而是一对设备,以连接两个虚拟以太端口。操作veth pair,需要跟namespace一起配合,不然就没有意义。我们设计一个测试用例,如图2-3所示。
两个namespace ns1/ns2中各有一个tap组成veth pair,两者的IP地址如图2-4所示,两个IP进行互ping测试。下面我们就一步一步实现这个用例。
图2-4 一个综合测试用例
# 创建 veth pair
ip link add tap1 type veth peer name tap2
# 创建 namespace: ns1、ns2
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
PING 192.168.50.1 (192.168.50.1) 56(84) bytes of data.
64 bytes from 192.168.50.1: icmp_seq=1 ttl=64 time=0.066 ms
......
ip netns exec ns1 ping 192.168.50.2
PING 192.168.50.2 (192.168.50.2) 56(84) bytes of data.
64 bytes from 192.168.50.2: icmp_seq=1 ttl=64 time=0.021 ms
......
通过上面的测试用例,我们了解了通过veth pair连接两个namespace的方法。但是,如果是3个namespace之间需要互通呢?或者多个namespace之间需要互通呢?veth pair只有一对tap,无法胜任,怎么办?这就需要用到Bridge/Switch。
- 点赞
- 收藏
- 关注作者
评论(0)