在CentOS上打开vSwitch配置| RHEL | Fedora

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

最近的指南涵盖了在CentOS / RHEL 8 Linux服务器上安装Open vSwitch。本文将继续描述如何配置网络接口以用于Open vSwitch。通过手动编辑配置文件或使用帮助程序命令行工具(例如),演示如何创建VLAN接口以在Open vSwitch上创建OVS桥和Bonds 操作系统配置..

查找使用 操作系统配置 使脚本成为配置Open vSwitch的最佳,最有效的方法,而不是在CentOS,RHEL或Fedora Linux系统上手动编辑配置文件。这是本指南中使用的方法,但是您可以参考生成的网络配置脚本以了解如何手动添加实际线路。

步骤1:在CentOS上安装Open vSwitch | RHEL | Fedora

您正在使用的计算机可能已经安装了Open vSwitch。如果尚未安装,请参考以下指南在RHEL / CentOS 8上进行安装。

如何在CentOS 8上安装Open vSwitch | RHEL 8

对于CentOS 7,使用以下命令:

sudo yum install -y epel-release centos-release-openstack-train
sudo yum install openvswitch libibverbs

对于Fedora:

sudo dnf install openvswitch libibverbs

激活并启用openvswitch服务。

sudo systemctl enable --now openvswitch

检查并验证服务状态。

$ systemctl status openvswitch
● openvswitch.service - Open vSwitch
   Loaded: loaded (/usr/lib/systemd/system/openvswitch.service; enabled; vendor preset: disabled)
   Active: active (exited) since Sat 2020-06-06 13:56:42 UTC; 1s ago
  Process: 5826 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 5826 (code=exited, status=0/SUCCESS)

步骤2:安装os-net-config网络配置工具

然后安装os-net-config CLI工具,以通过YAML或JSON文件格式提供主机网络配置。

默认情况下,os-net-config使用位于以下位置的YAML配置文件: /etc/os-net-config/config.yaml..但这是 --config-file(-c) CLI选项。

从OpenStack存储库安装os-net-config

如果您配置了OpenStack存储库,则可以从那里安装工具。

sudo yum install os-net-config

检查包装详细信息:

$ rpm -qi os-net-config
Name        : os-net-config
Version     : 11.3.1
Release     : 1.el7
Architecture: noarch
Install Date: Sat 06 Jun 2020 02:10:08 PM UTC
Group       : Unspecified
Size        : 3848910
License     : ASL 2.0
Signature   : RSA/SHA1, Fri 17 Jan 2020 01:32:05 PM UTC, Key ID f9b9fee7764429e6
Source RPM  : os-net-config-11.3.1-1.el7.src.rpm
Build Date  : Tue 07 Jan 2020 08:43:47 AM UTC
Build Host  : c1bj.rdu2.centos.org
Relocations : (not relocatable)
Packager    : CBS <[email protected]>
Vendor      : CentOS
URL         : http://pypi.python.org/pypi/os-net-config
Summary     : Host network configuration tool
Description :
Host network configuration tool for OpenStack.

使用Pip安装os-net-config

os-net-config网络配置工具作为python软件包分发,您可以使用pip | pip3进行安装。

Fedora / CentOS 8:

sudo dnf install python3-pip

CentOS 7:

sudo yum install -y epel-release
sudo yum -y install python-pip
sudo pip install os-net-config

如果安装成功,您将在最后看到以下输出。

....
Downloading https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz
Installing collected packages: pbr, anyjson, six, monotonic, dnspython, greenlet, enum34, eventlet, iso8601, netaddr, wrapt, debtcollector, stevedore, oslo.i18n, rfc3986, PyYAML, certifi, idna, chardet, urllib3, requests, oslo.config, pytz, netifaces, pyparsing, oslo.utils, fasteners, oslo.concurrency, pyrsistent, attrs, unknown, unknown, contextlib2, scandir, pathlib2, importlib-metadata, functools32, jsonschema, pyudev, os-net-config
  Running setup.py install for anyjson ... done
  Running setup.py install for wrapt ... done
  Running setup.py install for debtcollector ... done
  Running setup.py install for stevedore ... done
  Running setup.py install for oslo.i18n ... done
  Running setup.py install for PyYAML ... done
  Found existing installation: chardet 2.2.1
    Uninstalling chardet-2.2.1:
      Successfully uninstalled chardet-2.2.1
  Running setup.py install for oslo.config ... done
  Running setup.py install for oslo.utils ... done
  Running setup.py install for oslo.concurrency ... done
  Running setup.py install for pyrsistent ... done
  Running setup.py install for unknown ... done
  Running setup.py install for unknown ... done
  Running setup.py install for scandir ... done
  Running setup.py install for functools32 ... done
  Found existing installation: pyudev 0.15
    Uninstalling pyudev-0.15:
      Successfully uninstalled pyudev-0.15
  Running setup.py install for pyudev ... done
  Running setup.py install for os-net-config ... done
Successfully installed PyYAML-5.3.1 anyjson-0.3.3 attrs-19.3.0 certifi-2020.4.5.1 chardet-3.0.4 contextlib2-0.6.0.post1 debtcollector-2.1.0 dnspython-1.16.0 enum34-1.1.10 eventlet-0.25.2 fasteners-0.15 functools32-3.2.3.post2 greenlet-0.4.16 idna-2.9 importlib-metadata-1.6.1 iso8601-0.1.12 jsonschema-3.2.0 monotonic-1.5 netaddr-0.7.19 netifaces-0.10.9 os-net-config-12.3.0 oslo.concurrency-4.1.0 oslo.config-8.1.0 oslo.i18n-5.0.0 oslo.utils-4.2.0 pathlib2-2.3.5 pbr-5.4.5 pyparsing-2.4.7 pyrsistent-0.16.0 pytz-2020.1 pyudev-0.22.0 requests-2.23.0 rfc3986-1.4.0 scandir-1.10.0 six-1.15.0 stevedore-2.0.0 unknown-0.0.0 unknown-0.0.0 urllib3-1.25.9 wrapt-1.12.1
You are using pip version 8.1.2, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

安装后,请确保该命令位于您的PATH中。

$ which os-net-config
/usr/bin/os-net-config

步骤3:使用os-net-config配置开放式vSwitch

安装了openvswitch软件包和os-net-config命令行工具后,您可以根据用例要求开始配置OVS接口,网桥和绑定。

示例1:具有静态IP地址的单接口配置

创建一个YAML配置文件。

$ vim ovs-interface.yml

设置如下。

network_config:
  - type: interface
    name: eth1
    use_dhcp: false
    use_dhcpv6: false
    addresses:
    - ip_netmask: 172.21.200.10/24
    routes:
      - ip_netmask: 0.0.0.0/0
        next_hop: 172.21.200.254
        default: true

这将使用静态IP地址172.21.200.10/24和网关172.21.200.254配置eth1接口。

套用设定:

$ sudo os-net-config -c ovs-interface.yml

示例2:使用单个连接接口(端口)配置OVS桥

创建网桥时,配置文件如下所示:

$ vim ovs-bridge-single-interface.yml
network_config:
  - type: ovs_bridge
    name: br-ex
    use_dhcp: false
    use_dhcpv6: false
    addresses:
    - ip_netmask: 172.21.200.10/24
    routes:
      - ip_netmask: 0.0.0.0/0
        next_hop: 172.21.200.254
        default: true
    members:
      -
        type: interface
        name: eth1

进行更改并应用配置 操作系统配置

示例3:在OVS绑定上配置OVS桥

使用OVS Bond创建的OVS桥具有以下配置:

network_config:
  - type: ovs_bridge
     name: br-ex
     use_dhcp: true
     members:
       - type: ovs_bond
         name: bond1
         members:
           - type: interface
             name: em1
           - type: interface
             name: em2

示例4:在OVS桥上配置标记的VLAN接口

network_config:
  - type: ovs_bridge
    name: br-ctlplane
    use_dhcp: true
    members:
      - type: interface
        name: em1
      - type: vlan
        vlan_id: 20
        addresses:
          - ip_netmask: 192.0.2.1/24

示例5:创建OVS绑定

在此示例中,仅创建OVS键。

network_config:
  - type: ovs_bridge
    name: bond1
    use_dhcp: true
    members:
      - type: interface
        name: eno1
      - type: interface
        name: eno2

验证OVS配置

应用OVS配置会将网络配置脚本自动添加到/ etc / sysconfig / network-scripts /目录中。

$ ls /etc/sysconfig/network-scripts/

您可以使用ovs-vsctl命令检查OVS设置和端口连接。

$ ovs-vsctl show

步骤4:使用OVS创建KVM网络

如果将Open vSwitch与KVM虚拟化一起使用,则需要定义虚拟机将使用的网络。

创建一个新的桥XML文件。

$ vim kvm-ovs.xml

将网桥详细信息添加到文件。


  ovs-bridge
  
  
  

哪里:

  • ovs-bridge 要创建的libvirt网络的名称。
  • 布雷克斯 创建的网络使用的OVS桥的名称。

要从XML文件定义网络而不启动它,请使用:

sudo virsh net-define  kvm-ovs.xml

要启动非活动网络(先前定义),请使用:

sudo virsh net-start ovs-bridge

要将网络设置为在服务启动时自动启动:

sudo virsh net-autostart  ovs-bridge

确保autostart标志为yes –持久性也将显示yes。

$ sudo virsh net-list --all
 Name              State    Autostart   Persistent
----------------------------------------------------
 ovs-bridge        active   yes         yes
 default           active   yes         yes

请继续关注有关OVS的其他指南。这是其他有趣的指南。

如何在无业游民中使用Ansible Playbook

使用KVM在CentOS 8上安装Minikube Kubernetes

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

Sidebar