OpenvSwitch常用命令(全)

2024-04-16 14:48
文章标签 常用命令 openvswitch

本文主要是介绍OpenvSwitch常用命令(全),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是 Open vSwitch
What is Open vSwitch?

Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to support distribution across multiple physical servers similar to VMware’s vNetwork distributed vswitch or Cisco’s Nexus 1000V.

OpenvSwitch支持的特性
Open vSwitch supports the following features:
  • Visibility into inter-VM communication via NetFlow, sFlow(R), IPFIX, SPAN, RSPAN, and GRE-tunneled mirrors
  • LACP (IEEE 802.1AX-2008)
  • Standard 802.1Q VLAN model with trunking
  • Multicast snooping
  • IETF Auto-Attach SPBM and rudimentary required * * * LLDP support
  • BFD and 802.1ag link monitoring
  • STP (IEEE 802.1D-1998) and RSTP (IEEE 802.1D-2004)
  • Fine-grained QoS control
  • Support for HFSC qdisc
  • Per VM interface traffic policing
  • NIC bonding with source-MAC load balancing, active backup, and L4 hashing
  • OpenFlow protocol support (including many extensions for virtualization)
  • IPv6 support
  • Multiple tunneling protocols (GRE, VXLAN, STT, and Geneve, with IPsec support)
  • Remote configuration protocol with C and Python bindings
  • Kernel and user-space forwarding engine options
    Multi-table forwarding pipeline with flow-caching engine
  • Forwarding layer abstraction to ease porting to new software and hardware platforms

一、两种 OVS fallback behavior

  • standalone
    这种模式下,没有运行controller的情况下,OVS会自动调回普通switch模式,如果有controller的情况,ovs会自动变成 openflow switch
    命令:
ovs-vsctl set-fail-mode ovs-switch standalone
ovs-switch替换成bridge的名字
  • secure
    这种模式下,无论有没有controller, ovs都会作为openflow switch运行, 也就是所有interface在bridge上,等待controller或者用户添加flow到switch来进行通信
ovs-vsctl set-fail-mode ovs-switch secure

二、OVS常用的两个 command line tool

ovs-vsctl 用来查询和配置ovs-vswitchd
ovs-ofctl 管理配置openflow switch

Open vSwitch常用命令
#添加网桥
ovs-vsctl add-br br-int#列出网桥
ovs-vsctl list-br#给网桥添加端口
ovs-vsctl add-port br-int tap-xxx#列出挂载某网络接口的所有网桥
ovs-vsctl port-to-br tap-xxx#查看全部信息
ovs-vsctl show#举例 查看所有网桥
ovs-vsctl list bridge#举例 删除一条qos记录
ovs-vsctl destroy qos <qos-id>#修改端口 p1 的 VLAN tag 为 101,使端口 p1 成为一个隶属于 VLAN 101 的端口
ovs-vsctl set Port p1 tag=101#查看某网桥信息
ovs-ofctl show br-tun#查看某网桥上所有端口的状态
ovs-ofctl dump-ports br-tun#添加一条流表规则 丢弃从port2上发来的所有数据表
ovs-ofctl add-flow br-tun idle_timeout=120,in_port=2,actions=drop#查看某网桥上面的流表规则
ovs-ofctl dump-flows br-tun#屏蔽所有进入 OVS 的以太网广播数据包
ovs-ofctl add-flow ovs-switch "table=0, dl_src=01:00:00:00:00:00/01:00:00:00:00:00, actions=drop"#屏蔽 STP 协议的广播数据包
ovs-ofctl add-flow ovs-switch "table=0, dl_dst=01:80:c2:00:00:00/ff:ff:ff:ff:ff:f0, actions=drop"屏蔽对目的主机访问:
ovs-ofctl add-flow br0 idle_timeout=0,dl_type=0x0800,nw_src=xx.xx.xx.xx,actions=dropQos设置
Qos可以针对网络接口,也可以针对端口设置:
#针对网络接口  1000±100kbps
ovs-vsctl set interface tap-xxx ingress_policing_rate=1000
ovs-vsctl set interface tap-xxx ingress_policing_burst=100#指定协议查看流表
ovs-ofctl dump-flows -O OpenFlow13 br-int#删除br-int所连控制器
ovs-vsctl del-controller br-int#添加br-int所连控制器(可以添加多个)
ovs-vsctl set-controller br-int "tcp:192.168.53.53:6633" "tcp:192.168.53.68:6633"#添加br-int所连控制器步骤2(可以添加多个)
ovs-vsctl set-manager  "tcp:192.168.53.53:6640" "tcp:192.168.53.68:6640"#修改br-int支持的of协议
ovs-vsctl set bridge br0 protocols=OpenFlow13#把ovs的状态设置成normal,就是全转发
ovs-ofctl add-flow br-int "actions=normal"#增加in_port和out_port的对应规则
ovs-ofctl add-flow br-int "in_port=22,actions=output:32" -O OpenFlow13#删除br-int上所有流表
ovs-ofctl del-flows br-int

这篇关于OpenvSwitch常用命令(全)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/909093

相关文章

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

linux运维排查常用命令(开发专享)

cd: 进入到某个目录下 cd hikvision ll:详细展示该目录下有的文件 ll su 用户名:切换用户名 例子: su root 根据字符串在文件中查找信息:Grep –a –i 字符串 文件名 例子: grep -a -i 'indexCode=4a28a0dfe0244c0cbabcd9b2c3b60327' nms.nmsweb.debug.log cat 文

Linux概述、远程连接、常用命令

Linux介绍 Linux操作系统介绍 Linux操作系统的特点 开源免费安全稳定可移植性好 Linux可以安装在不同的设备上 高性能 Linux的使用领域 应用服务器数据库服务器网络服务器虚拟化云计算嵌入式领域个人PC移动手机 Linux文件系统和目录 /:根目录,唯一/home:用户目录/root:系统管理员root目录/usr:应用程序/etc:系统配置boot:内核文件/tm

maven学习笔记【常用命令】

mvn构建web项目 mvn archetype:create -DgroupId=com.mycompany.webapp -DartifactId=myweb -DarchetypeArtifactId=maven-archetype-webapp mvn依赖管理 例:加入servlet-api.jar   <dependency>       <groupId>javax.servl

cmd 常用命令总结

尽管图形用户界面已成为常态,但命令行工具仍然在许多场景下不可或缺。下面是 Windows 命令提示符(CMD)中的一些常用命令及其用法。 1. 导航命令 cd:改变当前工作目录。 cd /?:获取 cd 命令的帮助信息。 cd \:回到当前驱动器的根目录。 cd ..:返回上一级目录。 cd /d E:\software:切换到另一个驱动器并进入指定的目录。 D::切换到 D 驱动器

【linux 常用命令】查看gpu、显卡常用命令

1.查看显卡基本信息 lspci | grep -i nvidia 2.查看显卡驱动版本 nvidia-smi -a 3.查看gpu使用情况 nvidia-smi (spam) [dongli@dt-gpu-1 train]$ nvidia-smi Fri Sep 27 16:42:33 2019 +----------------------------------------

【linux 常用命令】常用命令整理

linux的命令操作1、日常操作命令 **查看当前所在的工作目录pwd**查看当前系统的时间 date**查看有谁在线(哪些人登陆到了服务器)who 查看当前在线last 查看最近的登陆历史记录2、文件系统操作**ls / 查看根目录下的子节点(文件夹和文件)信息ls -al -a是显示隐藏文件 -l是以更详细的列表形式显示**切换目录cd /home**创建文件

【linux yum常用命令】linux yum 命令

yum常用命令1.列出所有可更新的软件清单命令:yum check-update2.更新所有软件命令:yum update3.仅安装指定的软件命令:yum install <package_name>4.仅更新指定的软件命令:yum update <package_name>5.列出所有可安裝的软件清单命令:yum list 比如:利用 yum 的功能,找出以 pam 为开头的软件名称有哪些?

linus常用命令缩写

命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户rpm:redhat package manager 红帽子打包管理器pwd:print work directory 打印当前目录 显示出当前工作目录的绝对路径ps: process status(进程状态,类似于windows的任务管理器) 常用参数:-a