环境信息

盛科交换机信息:

R3# show version
CentecOS Software, E580, Version 5.3.6
Copyright (C) 2004-2017 Centec Networks Inc. All rights reserved.
The current running image is: flash:/boot/centecOS-v580-openflow-v5.3.6.bin R3 uptime is 2 days, 22 hours, 56 minutes
Hardware Type : 32X
SDRAM size : 1024M
Flash size : 2048M
Hardware Version : 2.0
EPLD Version : 1.2
BootRom Version : 8.1.1
System serial number : E142GD169030

ovs交换机信息:

root@openlab:~# cat /etc/issue
Ubuntu 18.04.5 LTS \n \l root@openlab:~# ovs-vsctl --version
ovs-vsctl (Open vSwitch) 2.6.3
DB Schema 7.14.0

网络拓扑

miniet新建拓扑

使用mininet创建最简单拓扑

mn

网卡信息

盛科交换机配置

设置local_ip

R3# configure terminal
R3(config)# openflow tunnel local_vtep_ip 172.171.3.104

创建vxlan隧道

ovs-vsctl add-port br0 vxlan1 -- set interface vxlan1 type=vxlan options:remote_ip=172.171.8.21 options:bind_port=eth-0-1  options:nexthop_mac=64:00:6a:1f:d5:9f

盛科v580的vxlan隧道必须有三个配置项:

remote_ip: 隧道另一端的地址,这里是ovs交换机所在主机的网卡ip,enp3s0的ip。

bind_port: 隧道绑定的端口。vxlan隧道是虚拟出来的端口,物理交换机上不存在,所以需要一个物理端口承载流量。这里是交换机出流量的端口eth-0-1。

nexthop_mac: remote_ip 配置的网卡的mac地址,就是enp3s0的mac地址。

隧道:



隧道的端口:

下发流表

ovs-ofctl add-flow br0 "in_port=5,actions=set_field:10->tun_id,output:2201"
ovs-ofctl add-flow br0 "in_port=2201,tun_id=10,actions=output:5"

进隧道流量

主机连接到盛科交换机5端口,将所有5端口进来的流量设置tun_id为10,然后转发到vxlan隧道的端口2201

进隧道流量

隧道对端过来的流量从2201端口进入交换机。匹配进端口为2201,tun_id=10的流量,转发到5端口中

ovs交换机配置

新建隧道

ovs-vsctl add-port s1 vtep -- set interface vtep type=vxlan option:remote_ip=172.171.3.104  option:key=flow ofport_request=10

ovs交换机的两个参数:

remote_ip: 隧道另一端的ip地址。这里要写盛科交换机的local_ip

key=flow ofport_request: vxlan类型为基于流表,新建的端口为10

root@openlab:~# ovs-vsctl show
a3e32c7e-3d35-40ac-b360-15603a98a1ec
Bridge "s1"
Controller "tcp:127.0.0.1:6653"
is_connected: true
Controller "ptcp:6654"
fail_mode: secure
Port "s1-eth2"
Interface "s1-eth2"
Port "s1"
Interface "s1"
type: internal
Port "s1-eth1"
Interface "s1-eth1"
Port vtep
Interface vtep
type: vxlan
options: {key=flow, remote_ip="172.171.3.104"}
ovs_version: "2.6.3"
root@openlab:~# ovs-ofctl show s1
OFPT_FEATURES_REPLY (xid=0x2): dpid:0000000000000001
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst
1(s1-eth1): addr:1a:a3:c9:a7:f1:ec
config: 0
state: 0
current: 10GB-FD COPPER
speed: 10000 Mbps now, 0 Mbps max
2(s1-eth2): addr:b2:84:d9:29:cc:a9
config: 0
state: 0
current: 10GB-FD COPPER
speed: 10000 Mbps now, 0 Mbps max
10(vtep): addr:5a:63:14:3d:64:27
config: 0
state: 0
speed: 0 Mbps now, 0 Mbps max
LOCAL(s1): addr:8a:27:12:84:6c:4e
config: PORT_DOWN
state: LINK_DOWN
speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0
root@openlab:~#

下发流表

ovs-ofctl add-flow s1 "in_port=1,actions=set_field:10->tun_id,output:10"
ovs-ofctl add-flow s1 "in_port=10,tun_id=10,actions=output:1"

隧道出流量

主机连接ovs交换机的1端口,将从1端口进入的流量设置tun_id=10,然后转发到隧道的端口10

隧道入流量

对端隧道流量进入的端口为10,匹配进端口为10,tun_id=10的流量,转发给主机1

宣告arp

arp -s 172.171.3.104 00:1e:08:0c:99:38

ovs交换机的隧道外层封装时需要对端ip和mac,因为盛科交换机无法回复arp信息,所以需要手动宣告盛科交换机的local_ip以及bind_port中配置的端口的mac地址。

验证

盛科交换机和ovs交换机建立VxLAN隧道的更多相关文章

  1. Open vSwitch系列实验(三):Open vSwitch的VxLAN隧道网络实验

    1 实验目的 该实验通过Open vSwitch构建Overlay的VxLAN网络,更直观的展现VxLAN的优势.在实验过程中,可以了解如何建立VxLAN隧道并进行配置,并实现相同网段和不同网段之间的 ...

  2. [原] 利用 OVS 建立 VxLAN 虚拟网络实验

    OVS 配置 VxLAN HOST A ------------------------------------------ | zh-veth0(10.1.1.1) VM A | | ---|--- ...

  3. rabbitmq学习(三):rabbitmq之扇形交换机、主题交换机

    前言 上篇我们学习了rabbitmq的作用以及直连交换机的代码实现,这篇我们继续看如何用代码实现扇形交换机和主题交换机 一.扇形交换机 1.生产者 /** * 生产者 */ public class ...

  4. OVS DPDK VXLAN隧道处理

    原文链接: OVS DPDK VXLAN隧道处理

  5. OpenvSwitch系列之八 vxlan隧道

    Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令使用 Open vSwit ...

  6. OVS-----CentOS7上搭建基于Open vSwitch的VxLAN隧道实验

    一.关于VXLAN VXLAN 是 Virtual eXtensible LANs 的缩写,它是对 VLAN 的一个扩展,是非常新的一个 tunnel 技术,在Open vSwitch中应用也非常多. ...

  7. Windows下使用Xshell建立反向隧道

    反向隧道是一个进行内网穿透的简单而有用的方法.在Linux下通过OpenSSH和AutoSSH可以很容易地建立稳定的反向隧道.但是在Windows下,还能看到有人特意装个Cygwin来运行这些工具…… ...

  8. 盛科(Centec)交换机 SmartConfig 特性

    参考 DHCP manual pages DHCP option-66 & option-150 的区别 一. 原理 目前市场上稍微有些实力的交换机厂商,均支持自动化的批量开局部署,虽然具体实 ...

  9. python工具--获取盛科交换机端口模块类型,波长,传输距离等信息

    交换机端口模块信息对应的OID节点为各厂商私有节点,获取其他厂商信息需要把OID进行替换 1 #! /usr/bin/env python 2 #-*-coding:utf-8-*- 3 import ...

  10. 《SDN核心技术剖析和实战指南》2.4 OVS交换机实现分析小结

    Open vSwitch(OVS)是一款基于软件实现的开源交换机.它能够支持多种标准的管理接口和协议以及跨多个物理服务器的分布式环境.特别地,OVS提供了对OpenFlow协议的支持,并且能够与众多开 ...

随机推荐

  1. 操作PDF的方法

    PDF的内容提取.转换见上篇 PDF操作: 旋转 删除 合并 拆分 转成图片 导出内嵌资源图片 两页合并成一页 添加.去除密码 添加水印 PDF旋转某一页 var document = pdfView ...

  2. Vue打包发布

    打包发布 目标:明确打包的作用 说明:vue脚手架只是开发过程中,协助开发的工具,当真正开发完了,脚手架不参与上线 打包的作用: 将多个文件压缩合并成一个文件 语法降级 less sass ts 语法 ...

  3. js 通过id、pid遍历集合获得树结构

    原数据 let adreeJson = [ {id: 1, name: '陕西省', pid: 0}, {id: 2, name: '山西省', pid: 0}, {id: 3, name: '广东省 ...

  4. 在模态窗口中控制窗口的隐藏和显示(.NET)

    如果你创建了模态窗口,虽然一些API,例如Editor.GetSelection(),可以自动隐藏模式对话框,但如果从模态窗口出发与编辑器(编辑器指的模型空间,即你绘图的窗口)交互, 它会在GetSe ...

  5. 做数据分析,我们需要懂多少excel知识?

    数据分析所需的Excel知识详解 在进行数据分析工作时,Excel是一个非常常用且强大的数据处理工具.以下是数据分析中常用的Excel知识点和技巧的详细描述. 1. 基本操作 在使用Excel进行数据 ...

  6. mybatis数据不匹配问题

    错误:数据不匹配的问题 原因:在初始化数据时.创建构造参数时只创建了全参,没有创建口参. 具体原因:因为mybatis框架会调用这个默认构造方法来构造实例对象.即Class类的newInstance方 ...

  7. 使用jvm工具排查系统问题

    java-jvm-tool Jstatd 远程连接(推荐) 不用重启项目 远程机配置 [demo@localhost jvmtest]$ vi jstatd.all.policy# 内容grant c ...

  8. 【Python】【ChatGPT】本地部署ChatGPT学习记录

    学习一下GPT项目的相关使用和部署 一.GPT4ALL模型 Github:https://github.com/nomic-ai/gpt4all GPT4ALL项目部署简易,但是在运行体验上一般,并且 ...

  9. java注释、变量、数据类型和运算符

    注释 单行注释:// 多行注释:/*开头,*/结尾 JavaDoc注释:/**开头,*/结尾 快捷键:ctrl + ? 变量 第一步:声明变量.即根据数据类型在内存分配空间. 第二步:赋值.即将数据的 ...

  10. [笔记01]---solr

    什么是Solr 1.直接使用sql搜索存在的问题 大多数搜索引擎应用都必须具有某种搜索功能 搜索功能往往是巨大的资源消耗 它们由于沉重的数据库加载而拖垮你的应用的性能 所有我们一般在做搜索的时候 会把 ...