一、实验目的

  • 了解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隧道并进行验证。
实验中用到的网络拓扑如下:

本实验需要两台虚拟机,因此我又克隆了同样的一台虚拟机。

然后在其中一台虚拟机上输入如下指令:

 ovs-vsctl del-br br0
ovs-vsctl del-br br1
ovs-vsctl add-br br0
ovs-vsctl add-br br1
ifconfig ens33 0 up
ifconfig br0 20.0.2.12 netmask 255.255.255.248
route add default gw 20.0.2.9
ovs-vsctl add-port br0 ens33
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号虚拟机也是如此:

 ovs-vsctl del-br br0
ovs-vsctl del-br br1
ovs-vsctl add-br br0
ovs-vsctl add-br br1
ifconfig ens33 0 up
ifconfig br0 20.0.2.11 netmask 255.255.255.248
route add default gw 20.0.2.9
ovs-vsctl add-port br0 ens33
ifconfig br1 172.171.6.7/24 up
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网络有很大的作用

最新文章

  1. InvokeRequired 线程间访问
  2. Ubuntu 14.04 LTS 安装Docker
  3. iOS阶段学习第17天笔记(NSFileManager-NSFileHandle-文件操作)
  4. 向已写好的多行插入sql语句中添加字段和值
  5. 在一个窗口中显示多个视频,并在每个子窗口左上角显示系统时间,函数cvShowManyImages是改写的
  6. SpriteParticle II
  7. adb连接不上手机
  8. 年末促销 Windows Azure在线充值送微软商城硬件大礼包
  9. socket为send和recv设置超时时间
  10. Python tools used for file name devision
  11. layer初步使用
  12. AutoMapper自动映射
  13. 如何在DOS窗口复制和粘贴命令
  14. 论type与object的关系----Python创世纪
  15. 第八章 高级搜索树 (a3)伸展树:算法实现
  16. 关于SpringApplication包无法导入报错问题
  17. 什么是“堆”,"栈","堆栈","队列",它们的区别?
  18. <unistd.h>的close(0)导致std::cout被关闭
  19. C# 视频监控系列:学习地址汇总
  20. 转 How To Stop A Running Job Using DBMS_JOB

热门文章

  1. C语言编译器
  2. SAP ABAP的CI/CD解决方案
  3. Step by Step to create orders by consuming SAP Commerce Cloud Restful API
  4. Python日记(二):Python之禅
  5. k8s 笔记
  6. 2013.6.24 - OpenNE第四天
  7. mysqlslap压测
  8. jquery复杂节点获取
  9. 开发搭建环境之springboot配置logback日志管理
  10. HTML5 Canvas 绘制图片不显示的问题