ovs网络配置命令

2024-06-10 22:20
文章标签 配置 命令 网络 ovs

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

ovs

      • 查看 OVS 版本
      • 查看当前配置的所有交换机
      • 查看交换机的详细信息
      • 创建和删除桥接
      • 添加和删除端口
        • 配置端口

Open vSwitch是一种生产质量的多层虚拟交换机,根据开源Apache 2.0许可证进行许可。它旨在通过编程扩展实现大规模网络自动化,同时仍然支持标准管理接口和协议(例如NetFlow、sFlow、IPFIX、RSPAN、CLI、LACP、802.1ag)。此外,它旨在支持跨多个物理服务器的分发,类似于VMware的vNetwork分布式vswitch或Cisco的Nexus 1000V。

本实验基于ubuntu2204

查看 OVS 版本

apt install openvswitch-switch -y
root@controller:~# ovs-vsctl --version
ovs-vsctl (Open vSwitch) 3.3.0
DB Schema 8.5.0

查看当前配置的所有交换机

root@controller:~# ovs-vsctl list-br
br-ens34
br-int
br-tun

查看交换机的详细信息

root@controller:~# ovs-vsctl show
62fca535-c4c6-4e0d-a04e-183b81ed7f0cManager "ptcp:6640:127.0.0.1"is_connected: trueBridge br-ens34Controller "tcp:127.0.0.1:6633"is_connected: truefail_mode: securedatapath_type: systemPort ens34Interface ens34Port br-ens34Interface br-ens34type: internalPort phy-br-ens34Interface phy-br-ens34type: patchoptions: {peer=int-br-ens34}Bridge br-intController "tcp:127.0.0.1:6633"is_connected: truefail_mode: securedatapath_type: systemPort br-intInterface br-inttype: internalPort tap4d5ba8f5-14tag: 2Interface tap4d5ba8f5-14type: internalPort patch-tunInterface patch-tuntype: patchoptions: {peer=patch-int}Port tap41358d3e-b7tag: 1Interface tap41358d3e-b7type: internalPort int-br-ens34Interface int-br-ens34type: patchoptions: {peer=phy-br-ens34}Port qr-b2dc1309-5dtag: 2Interface qr-b2dc1309-5dtype: internalPort qg-8b213340-82tag: 1Interface qg-8b213340-82type: internalBridge br-tunController "tcp:127.0.0.1:6633"is_connected: truefail_mode: securedatapath_type: systemPort br-tunInterface br-tuntype: internalPort patch-intInterface patch-inttype: patchoptions: {peer=patch-tun}ovs_version: "3.3.0"

创建和删除桥接

创建br-test网桥

root@controller:~# ovs-vsctl add-br br-test
root@controller:~# ovs-vsctl list-br
br-ens34
br-int
br-test
br-tun

删除

root@controller:~# ovs-vsctl del-br br-test
root@controller:~# ovs-vsctl list-br
br-ens34
br-int
br-tun

添加和删除端口

添加的端口注意对应网口名

root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaovs_version: "3.3.0"
root@controller:~# ovs-vsctl add-br br-test
root@controller:~# ovs-vsctl add-port br-test ens34
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalPort ens34Interface ens34ovs_version: "3.3.0"
root@controller:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host noprefixroutevalid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:5f:fb:01 brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.200.190/24 brd 192.168.200.255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe5f:fb01/64 scope linkvalid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovs-system state UP group default qlen 1000link/ether 00:0c:29:5f:fb:0b brd ff:ff:ff:ff:ff:ffaltname enp2s2inet6 fe80::20c:29ff:fe5f:fb0b/64 scope linkvalid_lft forever preferred_lft forever
4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 9a:f0:de:cd:9d:4a brd ff:ff:ff:ff:ff:ff
5: br-test: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 00:0c:29:5f:fb:0b brd ff:ff:ff:ff:ff:ff

删除端口

root@controller:~# ovs-vsctl del-port br-test ens34
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalovs_version: "3.3.0"
配置端口

Open vSwitch (OVS) 支持多种端口类型,每种类型都有其特定的用途和功能。以下是常见的端口类型及其区别:

Internal (内部端口)
描述:内部端口是 OVS 创建的虚拟网络接口,可以用于与主机通信。
用途:用于桥接 OVS 和主机网络堆栈,允许主机与 OVS 网络中的其他设备通信。
示例:

root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalovs_version: "3.3.0"
root@controller:~# ovs-vsctl add-port br-test port-test -- set interface port-test type=internal
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort port-testInterface port-testtype: internalPort br-testInterface br-testtype: internalovs_version: "3.3.0"
root@controller:~#
  1. Tap (虚拟网络接口)
    描述:Tap 端口用于连接虚拟机或容器到 OVS。
    用途:用于虚拟化环境中连接虚拟机的网络接口到 OVS。
    示例:
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalovs_version: "3.3.0"
root@controller:~# ip tuntap add mode tap tap1
root@controller:~# ovs-vsctl add-port br-test tap1
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalPort tap1Interface tap1ovs_version: "3.3.0"
  1. Patch (补丁端口)
    描述:补丁端口用于将两个不同的 OVS 桥接连接起来。
    用途:在复杂的网络拓扑中连接多个桥接。
    示例:
root@controller:~# ovs-vsctl add-br br-test2
root@controller:~#
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalPort tap1Interface tap1Bridge br-test2Port br-test2Interface br-test2type: internalovs_version: "3.3.0"
root@controller:~# ovs-vsctl add-port br-test patch-br0 -- set interface patch-br0 type=patch options:peer=patch-br1
root@controller:~# ovs-vsctl add-port br-test patch-br1 -- set interface patch-br1 type=patch options:peer=patch-br0
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalPort tap1Interface tap1Port patch-br1Interface patch-br1type: patchoptions: {peer=patch-br0}Port patch-br0Interface patch-br0type: patchoptions: {peer=patch-br1}Bridge br-test2Port br-test2Interface br-test2type: internalovs_version: "3.3.0"
  1. GRE (GRE 隧道)
    描述:GRE 隧道端口用于创建基于 GRE 的隧道。
    用途:在不同地理位置的网络之间创建隧道,实现远程数据中心的连接。
    示例:
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalovs_version: "3.3.0"
root@controller:~# ovs-vsctl add-port br-test gre-test -- set interface gre-test type=gre options:remote_ip=0.0.0.0
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalPort gre-testInterface gre-testtype: greoptions: {remote_ip="0.0.0.0"}ovs_version: "3.3.0"
root@controller:~#
  1. VXLAN (VXLAN 隧道)
    描述:VXLAN 隧道端口用于创建基于 VXLAN 的隧道。
    用途:用于在虚拟化环境中创建 Overlay 网络,提供大规模虚拟网络隔离。
    示例:
ovs-vsctl add-port br-test vxlan-test -- set interface vxlan-test type=vxlan options:remote_ip=0.0.0.0
  1. Geneve (Geneve 隧道)
    描述:Geneve 隧道端口是新一代的隧道协议,旨在提供更灵活的隧道封装。
    用途:用于高级网络虚拟化和 Overlay 网络。
    示例:
ovs-vsctl add-port br-test geneve-test -- set interface geneve-test type=geneve options:remote_ip=0.0.0.0
  1. STT (STT 隧道)
    描述:STT 隧道端口用于创建基于 STT 的隧道。
    用途:用于高性能网络虚拟化,尤其是在高吞吐量场景中。
    示例:
ovs-vsctl add-port br-test stt-test -- set interface stt-test type=stt options:remote_ip=0.0.0.0
  1. Bond (链路聚合)
    描述:Bond 端口用于将多个物理接口绑定为一个逻辑接口,实现链路聚合。
    用途:提供更高的带宽和冗余。
    示例:
ovs-vsctl add-bond br0 bond0 eth1 eth2
  1. LISP (LISP 隧道)
    描述:LISP 隧道端口用于基于 LISP 协议的隧道。
    用途:用于位置无关的 IP 地址映射,实现动态的虚拟网络。
    示例:
ovs-vsctl add-port br-test lisp-test -- set interface lisp-test type=lisp options:remote_ip=0.0.0.0
  1. Veth (虚拟以太网对)
    描述:Veth 端口用于创建成对的虚拟以太网接口。
    用途:用于连接不同的网络命名空间或者容器。
    示例:
ip link add veth0 type veth peer name veth1
ovs-vsctl add-port br-test veth0

不同类型的端口在 OVS 中有不同的用途,选择合适的端口类型可以帮助您实现网络的各种需求。从内部通信、虚拟机连接、跨数据中心隧道到链路聚合,每种端口类型都有其特定的应用场景。

设置端口的 VLAN 标签

root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalPort ens34Interface ens34ovs_version: "3.3.0"
root@controller:~# ovs-vsctl set port ens34 tag=99
root@controller:~# ovs-vsctl show
1b89d8a6-16c1-4e07-b725-3b56d0134fbaBridge br-testPort br-testInterface br-testtype: internalPort ens34tag: 99Interface ens34ovs_version: "3.3.0"
root@controller:~#

这篇关于ovs网络配置命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编