OpenStack之虚拟网络管理

本文介绍了OpenStack中的网络管理,包括创建、删除网络,子网的创建、设置和删除,以及端口的管理。此外,还涉及到了虚拟网桥的管理和配置,以及如何在Dashboard和命令行模式下创建和管理虚拟网络与子网。文章旨在提供一个全面的OpenStack网络管理教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一)基础知识

1.虚拟网络管理
a-网络管理

OpenStack的网络是一个用虚拟设备构成的OSI二层网络。
命令格式如下:

openstack network <操作>[选项][<网络名>]

网络管理命令的常用操作:

常用操作 功能说明
create 创建网络
delete 删除网络
list 列出已有的网络列表
set 设置网络参数
unset 取消网络参数设置
show 显示网络的详细信息

网络管理命令的常用选项:

常用选项 功能说明
–h 显示帮助信息
–enable 启用网络
–disable 禁用网络
–enable-port-security 启用端口安全
–disable-port-security 禁用端口安全
–share 设置网络为共享网络
–no-share 设置网络为非共享网络
–external 设置网络为外部网络
–internal 设置网络为内部网络
–provider-network-type 网络类型,包括Flat、GRE、Local、VLAN、VXLAN这几类网络
–provider-physical-network 实现虚拟网络的物理网络的名称

接下来便是例子:

创建一个”Flat“类型的共享外部网络

命令如下:

openstack network create --share --external --provider-physical-network provider --provider-network-type flat vm-network
查看当前的网络列表
openstack network list

image.png

查看网络的详细信息
openstack network show  6efe6b97-a8dc-4eeb-ad6f-3b4fee8a1c3b 

代码的最后的参数可以是网络的名称或id
image.png

修改网络的名称并将其更改为非共享网络
openstack network set --name new-vnet --no-share vm-network

代码最后的参数可以是网络的名称或id

删除一个网络
openstack network delete new-vnet
b-子网管理

子网是挂载在网络中的一个IP地址段,它的主要功能是当网络中创建新的端口时为其分配IP地址。子网与网络是多对一的关系,一个子网必须属于一个网络,而一个网络可以有多个子网。可使用以下命令对OpenStack的子网进行管理。

openstack subnet <操作>[选项
### OpenStack 虚拟网络管理配置使用指南 #### 1. 卸载冲突的网络管理工具 为了防止 CentOS 自带的 `NetworkManager` 和 OpenStack虚拟网络服务发生冲突,需要在所有节点上卸载该工具。通过执行以下命令可以完成此操作: ```bash yum -y remove NetworkManager ``` 这一步骤对于确保 OpenStack 网络组件正常工作至关重要[^2]。 #### 2. 配置 OVS 网桥 OpenStack 借助 Open vSwitch (OVS) 实现复杂的虚拟网络拓扑结构。以下是关于如何查看和配置外部网桥 (`br-ex`) 的方法: - **查看 br-ex 配置文件** 可以通过读取 `/etc/sysconfig/network-scripts/ifcfg-br-ex` 文件来确认其设置是否正确。例如: ```bash cat /etc/sysconfig/network-scripts/ifcfg-br-ex ``` 此外,还需要验证物理接口(如 `eth0` 或其他绑定设备)已连接至 `br-ex` 并处于活动状态[^1]。 - **启用混杂模式** 如果希望物理网卡接收目标地址为虚拟机的数据包,则需开启混杂模式。可以通过如下命令实现: ```bash ip link set eth0 promisc on ``` 这一设置允许宿主机转发流量给关联的虚拟实例[^5]。 #### 3. 关闭 VM 虚拟网络 DHCP 服务 当部署多个子网或者自定义 IP 地址分配策略时,可能需要禁用默认由 Nova 提供的 DHCP 功能。具体做法是在 Neutron 中调整参数并重启相关服务。 #### 4. 安装与配置 Etcd 存储支持 某些高级场景下,OpenStack 组件会依赖于分布式键值存储系统——Etcd 来同步数据和服务健康状况监测信息。安装过程简单明了: ```bash yum -y install etcd ``` 之后还需进一步修改配置文件路径以及启动守护进程[^3]。 #### 5. 初步环境搭建指导 按照官方推荐标准准备至少三台机器作为实验平台,并为其指定固定的 IPv4 地址范围;同时更新 `/etc/hosts` 记录以便简化跨节点通信测试流程。另外别忘了设定 DNS 查询优先级列表位于 `/etc/resolv.conf` 当中[^4]。 --- ### 示例脚本片段 这里给出一段用于初始化单个计算节点的基础 Bash Shell 脚本模板: ```bash #!/bin/bash # Step A: Remove conflicting packages. echo "Removing NetworkManager..." yum -y remove NetworkManager # Step B: Enable Promisc Mode For Physical NICs. echo "Enabling promiscuous mode on eth0..." ip link set eth0 promisc on # Step C: Configure Static IPs And Hostnames. echo "Configuring static networking settings..." cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.11 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 EOF hostnamectl set-hostname compute-node1 # Add entries into /etc/hosts file. cat <<EOF >> /etc/hosts 192.168.1.10 openstack-controller 192.168.1.11 compute-node1 192.168.1.12 compute-node2 EOF ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yrui.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值