本文将向您展示如何配置网络接口以用于Open vSwitch,将演示如何创建VLAN接口,如何通过手动编辑配置文件或使用辅助命令行工具(例如os-net-config)来使用Open vSwitch创建OVS Bridge和Bonds。我发现使用os-net-config脚本是配置Open vSwitch的最佳和有效方法,而不是在CentOS、RHEL或Fedora Linux系统中手动编辑配置文件。
一、在CentOS、RHEL、Fedora上安装Open vSwitch 您可能已经在要使用的计算机上安装了Open vSwitch。如果未安装,请参考在CentOS 8/RHEL 8上安装Open vSwitch的方法。 对于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,会看到Active: active的回显信息。
二、安装os-net-config网络配置工具 接下来,让我们安装os-net-config CLI工具,该工具通过YAML或JSON文件格式提供主机网络的配置。 默认情况下,os-net-config使用位于/etc/os-net-config/config.yaml的YAML配置文件,但这可以通过--config-file(-c) CLI选项来自定义。 1、从OpenStack存储库安装os-net-config 如果已配置OpenStack存储库,则可以从中安装该工具: sudo yum install os-net-config 查看有关包装的更多详细信息: $ rpm -qi os-net-config
2、使用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 如果安装成功,您应该在末尾看到类似于以下内容的输出:
安装后,确认命令是否在您的PATH中: $ which os-net-config /usr/bin/os-net-config
三、使用os-net-config配置开放式vSwitch 安装了openvswitch软件包和os-net-config命令行工具后,我们可以根据您的用例要求开始配置OVS接口、bridge和bonding。 示例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 这将为eth1接口配置静态IP地址172.21.200.10/24和网关172.21.200.254。 应用配置: $ sudo os-net-config -c ovs-interface.yml 示例2:使用单个连接的接口(端口)配置OVS bridge 对于网桥创建,配置文件如下所示: $ 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 进行更改,然后应用配置os-net-config -c <yaml-file>。 示例3:在OVS绑定的顶部配置OVS bridge 这是在OVS绑定上创建的OVS bridge的配置: 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 bridge顶部配置标记的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
四、使用OVS创建KVM网络 如果您将Open vSwitch与KVM虚拟化一起使用,则需要定义虚拟机将使用的网络。 创建一个新的bridge XML文件: $ vim kvm-ovs.xml 将网桥详细信息添加到文件: <network> <name>ovs-bridge</name> <forward mode='bridge'/> <bridge name='br-ex'/> <virtualport type='openvswitch'/> </network> 注: ovs-bridge是要创建的libvirt网络的名称。 br-ex是创建的网络将使用的OVS桥的名称。 要从XML文件定义网络而不启动它,请使用: sudo virsh net-define kvm-ovs.xml 要启动(先前定义的)非活动网络,请使用: sudo virsh net-start ovs-bridge 要将网络设置为在服务启动时自动启动: sudo virsh net-autostart ovs-bridge 检查以确认自动启动标志是否设置为“yes”,持久性也应显示为“yes”: $ sudo virsh net-list --all 如下回显信息:
根据上面的截图,可以看到Autostart和Persistent都是yes。
相关主题 |