验参考:
Open vSwitch的VxLAN隧道网络实验
实验步骤:
1. 预先配置:
1. 验证两虚拟机的OvS服务是否被启动好:
# ps –ef|grep ovs
2. 登陆两台安装Mininet的虚拟机,分别查看IP地址:
VM1(192.168.0.102):
VM2(192.168.0.1060):
3. 分别在两台虚拟机上创建网桥:
#sudo ovs-vsctl add-br br0 #数据层面 #sudo ovs-vsctl add-br br1 #控制层面
4. 分别将两台虚拟机上的eth0的IP赋给其br1,并重新添加路由:
VM1:
查看路由:
查看OVS:
VM2:
查看路由:
查看OVS:
2. 设置VxLAN实现同一网段的通信:
1. 在VM1上给br0配置一个IP:
# ifconfig br0 30.0.0.2/8 up
2. 在VM2上给br0配置一个与mn虚拟机上br0同一网段的IP地址:
# ifconfig br0 30.0.0.3/8 up
验证两虚拟机br1与br0的IP是否能ping通:
可以看到,两虚拟机间的br1能正常通信,但br0是ping不通的,搭建隧道的目的就是让两台机器的br0(数据层面)能够实现通信。实验本身是在虚拟机中操作,所以实验中br0桥上没有再下挂主机,分别给两台虚拟机的br0指定两个相同网段的IP,然后通过搭建VxLAN隧道让这两个网桥能够实现通信。
3. 在两虚拟机上创建VxLAN:
VM1:
VM2:
4. 验证是否能成功通信:
可以看到,经过设置VxLAN后,两个虚拟机的同一网段数据层面是通信的。
5. 查看抓包情况:
3.设置VxLAN实现不同网段的通信:
1.给两虚拟机上的br0配置不同网段的地址:
# ifconfig br0 30.0.0.1/8 up #给VM1配置的IP # ifconfig br0 40.0.0.1/8 up #给VM2配置的IP
2.验证二者之间是否能成功通信:
3.本次要实现通过搭建VxLAN让不同网段的两个网桥能够成功通信,在两虚拟机上创建VxLAN。
4.与上一节不同,在VxLAN设置好后,两虚拟机的br0之间仍然不能通信,需要设置静态路由才能通信:
# route add –net 40.0.0.0 netmask 255.0.0.0 gw 30.0.0.1 dev br0 #给VM1配置静态路由 # route add –net 30.0.0.0 netmask 255.0.0.0 gw 40.0.0.1 dev br0 #给VM2配置静态路由
5.重新验证是否能通信。
6.查看抓包情况:
实验结论:
本实验搭建了基于Open vSwitch的VXLAN隧道以及路由设置,实现了相同和不同网段内设备的通信。