一、实验目的
- 了解GRE协议及原理
- 理解 Open vSwitch如何配置GRE隧道
二、实验原理
Open vSwitch创建GRE原理很简单,就是把对GRE头和外部IP头的一些操作从原来的代码中抽象出来,做成内核“库函数”的形式,然后 Open vSwitch中就可以直接调用它们了。 Open vSwitch GRE tunnel没有注册网络设备,因此无法通过iplink看到它,它只是一个vport而已,所以能通过ovs-vsctl show可以看到。
三、实验任务
本实验需要创建两台虚拟机来模拟一个虚网,在虚拟机中启动 Open vSwitch服务,最后配置 Open vSwitch,创建GRE隧道并进行验证。
实验中用到的网络拓扑如下:
本实验需要两台虚拟机,因此我又克隆了同样的一台虚拟机。
然后在其中一台虚拟机上输入如下指令:
1 ovs-vsctl del-br br0 2 ovs-vsctl del-br br1 3 ovs-vsctl add-br br0 4 ovs-vsctl add-br br1 5 ifconfig ens33 0 up 6 ifconfig br0 20.0.2.12 netmask 255.255.255.248 7 route add default gw 20.0.2.9 8 ovs-vsctl add-port br0 ens33 9 ifconfig br1 172.171.6.6/24 up
1~2:删除之前的桥以清除记录
3~4:创建新的桥用来构建
5~6:将本机的IP地址取消然后将20.0.2.12赋予br0然后设置子网掩码
7:配置默认网关地址为20.0.2.9
8~9:添加端口然后给br1赋予IP地址
最后可用ovs-vsctl show查看配置情况:
然后创建隧道:
ovs-vsctl add-port br1 gre1 -- set interface gre1 type=gre option:remote_ip=20.0.2.1
分别用ovs-vsctl show 和 ifconfig查看如下:
2号虚拟机也是如此:
1 ovs-vsctl del-br br0 2 ovs-vsctl del-br br1 3 ovs-vsctl add-br br0 4 ovs-vsctl add-br br1 5 ifconfig ens33 0 up 6 ifconfig br0 20.0.2.11 netmask 255.255.255.248 7 route add default gw 20.0.2.9 8 ovs-vsctl add-port br0 ens33 9 ifconfig br1 172.171.6.7/24 up 10 ovs-vsctl add-port br1 gre1 -- set interface gre1 type=gre option:remote_ip=20.0.2.12
最后互ping可发现在设置隧道隧道以前只有两机的BR0可以互相通信而br1不行,但是创建了gre隧道之后就可以互相通信了:
VM1:
VM2:
结论:
1.如果网桥上接上主机那么这两主机就可以互相通信
2.这在连接两个不同域之间的SDN网络有很大的作用