配置IP(以host1为例):

ifconfig eth0 10.0.10.10/24 (host1

ifconfig eth0 10.10.10.10/24  (host2

创建网桥

ovs-vsctl add-br br0 (不要为br0添加物理端口,根据网络拓扑图网桥是不与物理网卡相连的。

为VM添加端口(需要先启动VM再添加端口

ovs-vsctl add-port br0 tap0  -- set interface tap0 type=internal

ovs-vsctl add-port br0 tap1  -- set interface tap1 type=internal

添加虚拟端口并打通GRE隧道

ovs-vsctl add-port br0 gre0  -- set interface gre0 type=gre options:remote_ip=10.10.10.10 (IP of eth0 on host2,这个ip其实就是图1新IP头中的IP)

host2的配置基本相同。唯一注意的是remote_ip写的是host1的ip。

VXLAN

VXLAN报文结构:

VXLAN头封装

Flags:8比特,取值为00001000。

VNI:VXLAN网络标识,24比特,用于区分VXLAN段。

Reserved:24比特和8比特,必须设置为0。

外层UDP头封装

目的UDP端口号是4789。源端口号是内层以太报文头通过哈希算法计算后的值。

外层IP头封装

源IP地址为发送报文的虚拟机所属VTEP的IP地址;目的IP地址是目的虚拟机所属

VTEP的IP地址。

外层Ethernet头封装

SA:发送报文的虚拟机所属VTEP的MAC地址。

DA:目的虚拟机所属VTEP上路由表中直连的下一跳MAC地址。

VLAN Type:可选字段,当报文中携带VLAN Tag时,该字段取值为0x8100。

Ethernet Type:以太报文类型,IP协议报文该字段取值为0x0800。

实验拓扑:

vxlan的配置

其实vxlan的配置和GRE的配置大致相同。只有最后一步有些不同。

ovs-vsctl add-port br0 vxlan0  -- set interface vxlan0 type=vxlan options:remote_ip=172.168.1.2 options:key=100 (VTEP的IP地址在OuterIP头中,这里对于host1的VTEP是eth1,key为VNI相同的vxlan段之间可以通信)

host2的配置是一样的。

VLAN+VXLAN实现VM之间的流量控制

只要在vxlan配置后在为虚拟机添加tag标识即可。

ovs-vsctl set port tag0 tag=100

ovs-vsctl set port tag1 tag=200

host2的配置也是一样,打上tag。

相同tag在不同宿主机上的vm就会通过VXLAN进行通信。

vxlan中限制VM之间的流量

每一个虚拟机连通一个网桥,在每个网桥之间打通隧道。

之前的配置步骤基本相同。按照拓扑图配置即可。

拓扑图如下:

最后打通多条隧道实现VM流量限制

host1:

ovs-vsctl add-port br0 vxlan0 -- set interface vxlan0  type=vxlan options: remote_ip =10.0.10.10 options:key=100

ovs-vsctl add-port br1 vxlan1 -- set interface vxlan1  type=vxlan options: remote_ip =10.0.10.10 options:key=200

host2:

ovs-vsctl add-port br3 vxlan0 -- set interface vxlan0  type=vxlan options: remote_ip = 10.10.10.10 options:key=100

ovs-vsctl add-port br4 vxlan1 -- set interface vxlan1  type=vxlan options: remote_ip = 10.10.10.10 options:key=200

在同一个VNI段的VM可以通过VXLAN隧道通信。

实验过程中出现的问题

实验过程中,执行完正确的配置流程后,两台不同host上的虚拟机仍然不能通信,其原因是交换机中已经有vlan协议使得vxlan失效,对两台宿主机的网线直连解决了上述问题。

openstack下mtu问题只针对vxlan、gre网络。

vxlan、gre mtu计算:

vxlan mtu = 1450 = 1500 – 20(ip头) – 8(udp头) – 8(vxlan头) – 14(以太网头)

gre mtu = 1462 = 1500 – 20(ip头) – 4(gre头) – 14(以太网头)

如果mtu大于这个值的话,会导致openvswitch传输分片。

gre vim linux,OVS搭建GRE隧道和VXLAN相关推荐

  1. linux gre配置,Linux中配置GRE隧道

    配置拓扑 这里使用ens33接口地址来建立隧道,使用ens37接口地址做隧道接口标识,使用ens38接口地址来模拟私网业务地址.实际场景中,用于建立隧道的地址是公网地址,而业务地址是私网地址,GRE隧 ...

  2. linux下搭建基于python的vim,Linux下搭建基于python的VIM-Go语言中文社区

    一.前言 最近需要在AArch64下编写代码,sublime text3不支持ARM,支持的一些还用不惯.所以干脆直接用上了万能的VIM,用VIM打造了属于自己的python-IDE,根据自己的喜好进 ...

  3. centos7搭建GRE隧道进行通信

    为了研究gre协议需要搭建gre隧道来进行测试,需要两个能通信的服务器 测试环境 服务器A: IP地址: 10.20.50.148 GRE内部IP地址: 203.0.113.1 服务器B: IP地址: ...

  4. ubantu与CentOS虚拟机之间搭建GRE隧道

    Author       : Email         : vip_13031075266@163.com Date          : 2020.01.23 Copyright : 未经同意不得 ...

  5. linux 下创建GRE隧道

    其他国家的互联网如同一个孤岛.要想访问国外网站异常的缓慢,甚至被和谐了.可以建立一条隧道来避免这种情况,下面说说GRE隧道如何建立. 1. GRE介绍 GRE隧道是一种IP-over-IP的隧道,是通 ...

  6. linux gre配置,Linux设置gre 隧道

    1. GRE介绍 GRE隧道是一种IP-over-IP的隧道,是通用路由封装协议,可以对某些网路层协议的数据报进行封装,使这些被封装的数据报能够在IPv4/IPv6 网络中传输. Tunnel 是一个 ...

  7. Linux防火墙放行gre隧道,防火墙 tunnel(GRE隧道)+×××配置过程分析

    tunnel:指保留原始IP数据流的情况下封装成另一种带有新IP报头(注:新IP为tunnel中的source.destination,这两个地址必须是UP状态的接口IP(包括虚接口),且两者能够通讯 ...

  8. Linux与网络设备 GRE配置经验总结

    GRE 介绍及应用场景 GRE(General Routing Encapsulation),即通用路由封装,是一种三层 VPN 技术.它的最大作用是可以对某些网络层协议的报文进行封装,如对路由协议. ...

  9. Linux环境下GRE的部署

    文章目录 GRE(Windows不支持) GRE介绍 GRE的优点 实验: 步骤: 步骤一:启用GRE模块(client和proxy都要操作) 步骤二:Client主机创建V_P_N隧道 步骤三:pr ...

最新文章

  1. ISME:林科院袁志林等-冷杉优势真菌共生发育的基因家族趋同演化及平衡选择机制...
  2. 安装第三方包查看python版本/第三方包版本
  3. 微信公众平台:反正公众号的一切操作都从这里入手!
  4. 2020年日历电子版(打印版)_2020年第11期印花世界电子版/手机版,欢迎在线免费阅读!...
  5. Juddi介绍及安装
  6. 解决在html中引入font-awesome的css文件后, 图标显示不出来
  7. 虚拟机Ubuntu蓝屏闪屏解决方法
  8. 【2(2N+1)魔方阵 】
  9. Vue中异步组件(结合webpack,转载)
  10. android 15.6寸平板,关于HUAWEI 华为M6 10.8英寸平板的槽点,不吐不快
  11. html 下载 txt 文件
  12. linux中如何编译成bin文件,gcc 如何编译成bin文件
  13. 博科SAN交换机配置Trunk
  14. 33.0.概率论与数理统计-大数定律,辛钦大数定律
  15. 例题5.23 蚂蚁 LA4043
  16. C++EXCEL排序
  17. uni-app KeyChain(钥匙串),保存的信息不会因App被删除而丢失(ios)
  18. 日语基础复习 Day 14
  19. 画论65 方薰《山静居画论》
  20. 物联网行业4大潜在突破领域浅析

热门文章

  1. Node.js 微服务实践:基于容器的一站式命令行工具链...
  2. Unity使用c#开发遇上的问题(四)(3dmax做个风扇,unity中自动旋转)
  3. 单目深度估计数据集:NYU Depth Dataset V2
  4. uniApp小程序git clone后无法运行
  5. Burp Suite进行账号密码爆破
  6. LINUX IP 路由实现
  7. 用户分群模型,这么建才有用
  8. repo forall -c命令
  9. CANOE 14/15 DIVA DELA APE19 CRACK DONGLE KEYMAN
  10. UPS电池容量检测方法