详解物理机OpenStack连接外部网络网卡配置管理(适用虚拟机)

目录

背景与环境描述

特殊注意事项

Centos7

单网卡场景

多网卡场景

Ubuntu

单网卡场景

多网卡场景

背景与环境描述

        本文将从设计和配置两方面详细说明在Centos和Ubuntu两种场景下,allinone部署的OpenStack想要实例能够正常连接外部网络,在网卡上需要做的配置。

        在安装完OpenStack后,通过ip add show可以看到有几下几张网卡:1.物理网卡 2.br-ex 3.br-int 4.br-tun。详细的OpenStack网络结构可以参考

OpenStack网络详解-CSDN博客

        下文中假设物理网卡名称为eth0,eth1(在虚拟环境中网卡名可能是ens33,ens36),连接公网的统一的思路都是将外部网口设置成二层接口,使用br-ex来获取ip地址或者使用静态ip地址。

        在设计中,在分离部署情况下,两网卡是将业务流量、管理流量走其中一个网卡,存储流量走另一个网卡。不过我们这是融合部署,两网卡就是业务流量和管理流量分离:设置业务流量的网卡eth0为external网卡,管理流量的网卡eth1为internal网卡。

特殊注意事项

        多网卡场景要求网卡之间网段不相同。如果相同,外部网卡绑定的br-ex获取ip后,内部网卡将无法使用。这种情况下不如直接将内外部网卡设置为同一个。
        如果已经采取了这样的配置也没事,反正你都能访问的。但此时外部网卡不能断开连接,一旦断开连接,由于外部网卡的原因,内部网卡也将无法访问网关,擦除br-ex的ip之后恢复。

Centos7

单网卡场景

        不使用网络连接进行管理的场景,比如VMware,在进行安装时指定eth0同时为internal网卡和external网卡。

        此时eth0无ip地址,需要关闭NetworkManager,使用service Network的方式来管理网卡

#在/etc/sysconfig/network-scripts中添加网卡配置文件#添加eth0的配置文件
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<END
TYPE=OVSPort
HWADDR=xx:xx:xx:xx:xx:xx
ONBOOT=yes
DEVICE=eth0
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
END#添加br-ex的配置文件————采用DHCP
cat > /etc/sysconfig/network-scripts/ifcfg-br-ex <<END
TYPE=OVSBridge
NAME="br-ex"
DEVICE=br-ex
DEVICETYPE=ovs
BOOTPROTO=dhcp
DEFROUTE=yes
ONBOOT=yes
DELAY=0
END#添加br-ex的配置文件————采用静态地址
cat > /etc/sysconfig/network-scripts/ifcfg-br-ex <<END
TYPE=OVSBridge
NAME="br-ex"
DEVICE=br-ex
DEVICETYPE=ovs
BOOTPROTO=static
IPADDR=<静态IP地址>
NETMASK=<子网掩码>
GATEWAY=<网关IP地址>
DNS1=<首选DNS服务器IP地址>
DNS2=<备用DNS服务器IP地址>
DEFROUTE=yes
ONBOOT=yes
DELAY=0
END#应用设置——重启服务
systemctl disable NetworkManager --now
systemctl enable  network --now
systemctl restart network

多网卡场景

这是博主现在遇到的场景,博主使用的物理机有无线网卡和有线网卡各一块:
无线网卡打通隧道用以远程管理,所以无法使用单网卡场景
有线网卡作为外部网卡连接公网(刚安装完是个二层口),对端是路由器用的dhcp

大多配置与单网卡相同,但需要额外配置eth1的网卡:

#在/etc/sysconfig/network-scripts中添加网卡配置文件#静态ip地址
cat > /etc/sysconfig/network-scripts/ifcfg-eth1 <<END
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=<静态IP地址>
NETMASK=<子网掩码>
GATEWAY=<网关IP地址>
DNS1=<首选DNS服务器IP地址>
DNS2=<备用DNS服务器IP地址>
END#无线,dhcp获取地址
cat > /etc/sysconfig/network-scripts/ifcfg-eth1 <<END
TYPE=Wireless
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
END#重启服务
systemctl restart network

Ubuntu22.04

单网卡场景

        不使用网络连接进行管理的场景,比如VMware

        从Ubuntu 18.04开始,默认网络管理工具已切换为NetPlan,它使用YAML格式的配置文件(/etc/netplan/*.yaml)来定义网络接口和配置。配置文件可以包括静态IP地址、DHCP、路由、DNS服务器等网络参数。

        修改netplan网络配置文件

#修改/etc/netplan/网络配置文件
#vim /etc/netplan/01-network-manager-all.yaml 这个是我的#动态获取ip
cat /etc/netplan/01-network-manager-all.yaml
network:version: 2renderer: networkd  #网络渲染器ethernets:eth0:dhcp4: truebridges:br-ex:interfaces: [eth0]  # 将外部网卡接口绑定到网桥dhcp4: true          # 启用网桥的 DHCPv4#静态指定ip
cat /etc/netplan/01-network-manager-all.yamlnetwork:version: 2renderer: networkdethernets:eth0:dhcp4: falsebridges:br-ex:interfaces: [eth0]addresses: [x.x.x.x/xx]gateway4: x.x.x.xnameservers:         #dns地址addresses: [8.8.8.8]#重启服务
netplan apply
systemctl disable NetworkManager --now
systemctl enable systemd-networkd --now

多网卡场景

这是博主现在遇到的场景,博主使用的物理机有无线网卡和有线网卡各一块:
无线网卡打通隧道用以远程管理,所以无法使用单网卡场景
有线网卡作为外部网卡连接公网(刚安装完是个二层口),对端是路由器用的dhcp

无线网卡用Networkmanager做管理
#不关闭NetworkManager
#就算调整了配置文件将无线网卡纳管到netplan,关闭了NetworkManager之后无线网卡也会嘎掉

cat /etc/netplan/01-network-manager-all.yamlnetwork:version: 2renderer: networkdethernets:eth0:dhcp4: true                # 启用有线网卡的 DHCPv4bridges:br-ex:                       # 定义网桥名称interfaces: [eth0]         # 将外部有线网卡接口绑定到网桥dhcp4: true                # 启用网桥的 DHCPv4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HR培训】行为反馈复盘,走出舒适区--20231217

行为反馈复盘&#xff0c;走出舒适区–鱼缸会议 要点&#xff1a;在于建立平等、透明、敢说的反馈环境&#xff0c;不打断、不争论 鱼缸会议流程 导入——入缸——反馈——承诺——关闭 步骤1&#xff1a;导入 目的&#xff1a;平等、透明、敢说的反馈 人员&#xff1a;主…

maui中实现加载更多 RefreshView跟ListView(1)

效果如图&#xff1a; MainPage.xaml.cs: using System; using System.Collections.ObjectModel; using System.Threading.Tasks; using Microsoft.Maui.Controls; using Microsoft.Maui.Controls.Xaml; using System.ComponentModel; using System.Runtime.CompilerServices…

计算机网络基础——网线认识与制作,线缆类型、线序、端接标准及注意事项

一、引言 网线制作是网络基础知识中不可或缺的。网络传输过程中&#xff0c;网线的质量和制作方法都会直接影响传输的速度和稳定性。本文将详细介绍网线制作的基础知识、线缆类型、线序、端接标准及注意事项。希望通过本文&#xff0c;读者能够更好地了解和掌握网线制作的方法…

sql解析,转换列表和表名

sql解析&#xff0c;转换列表和表名 1、 jsqlparse介绍 JSqlParse是一款很精简的sql解析工具&#xff0c;它可以将常用的sql文本解析成具有层级结构的“语法树”&#xff0c;我们可以针对解析后的“树节点&#xff08;也即官网里说的有层次结构的java类&#xff09;”进行处理…

AMD 自适应和嵌入式产品技术日

概要 时间&#xff1a;2023年11月28日 地点&#xff1a;北京朝阳新云南皇冠假日酒店 主题内容&#xff1a;AMD自适应和嵌入式产品的更新&#xff0c;跨越 云、边、端的AI解决方案&#xff0c;赋能智能制造的机器视觉与机器人等热门话题。 注&#xff1a;本文重点关注FPGA&a…

ASP.NET MVC实战之权限拦截Authorize使用

1&#xff0c;具体的实现方法代码如下 public class CustomAuthorizeAttribute : FilterAttribute, IAuthorizationFilter{/// <summary>/// 如果需要验证权限的时候&#xff0c;就执行进来/// </summary>/// <param name"filterContext"></par…

Java八股文面试全套真题【含答案】- SpringBoot篇

什么是Spring Boot&#xff1f; Spring Boot是一个用于开发和构建微服务应用程序的框架&#xff0c;它简化了Spring应用的配置和部署。Spring Boot的核心特性是什么&#xff1f; Spring Boot的核心特性包括自动配置、起步依赖和自动化部署。Spring Boot如何实现自动配置&#x…

2.3 【渲染】硬件渲染

写在前面 应用程序使用目标硬件的GPU通过Khronos渲染API调用执行渲染操作,或通过本地Screen API函数调用使用blitting。 一,OpenGL ES Screen支持以下Khronos渲染API:OpenGL ES和OpenVG。它们为图形硬件提供通用接口,允许用户生成和操纵高质量的二维矢量和三维图形图像。…

Ubuntu系统入门指南:基础操作和使用

Ubuntu系统的基础操作和使用 一、引言二、安装Ubuntu系统三、Ubuntu系统的基础操作3.1、界面介绍3.2、应用程序的安装和卸载3.3、文件管理3.4、系统设置 四、Ubuntu系统的日常使用4.1、使用软件中心4.2、浏览器的使用和网络连接设置4.3、邮件客户端的配置和使用4.4、文件备份和…

HTML5+CSS3小实例:3D发光切换按钮效果

目录 一、运行效果 图片效果 二、项目概述 三、开发环境 四、实现步骤及代码 1.创建空文件夹 2.完成页面内容 3.完成css样式 五、项目总结 六、源码获取 一、运行效果 图片效果 二、项目概述 这个项目是一个演示3D发光切换按钮效果的网页。按钮由一个开关和一个指…

登录校验,JWT令牌技术,过滤器(Filter)拦截器(interceptor)

登录功能&#xff1a; 前端传递json格式的数据。username&#xff08;用户名&#xff09;password&#xff08;密码&#xff09;。controller层对数据进行接收&#xff0c;由于是接收json格式的数据&#xff0c;所以我们把它封装到一个对象里面&#xff0c;由于登录是员工进行登…

Linux之进程(四)(进程地址空间)

目录 一、程序地址空间 二、进程地址空间 1、概念 2、写时拷贝 3、为什么要有进程地址空间 四、总结 一、程序地址空间 我们先来看看下面这张图。这张图是我们在学习语言时就见到过的内存区域划分图。 下面我们在Linux下看一看内存区域是不是也是这么划分的。 可见在Li…

圣诞树绘制合集-python绘制

使用Python绘制迷人的圣诞树 引言 随着圣诞节的临近&#xff0c;我们都希望以各种方式庆祝这个欢乐的节日。作为一名编程爱好者&#xff0c;你有没有想过用Python来创造节日的气氛呢&#xff1f;在这篇文章中&#xff0c;我将向你展示如何用Python绘制几种不同风格的圣诞树&a…

索尼(ILCE-7M3)MP4文件只能播放前两分钟修复案例

索尼的ILCE-7M3是一款经典设备&#xff0c;其HEVC编码效果是比较不错的&#xff0c;因此受到很多专业人士的青睐。之前我们说过很多索尼摄像机断电生成RSV文件修复的案例&#xff0c;今天来讲一个特殊的&#xff0c;文件已经正常封装但仅能播放前两分钟多一点的画面。 故障文件…

详细教程 - 从零开发 鸿蒙harmonyOS应用 第四节 (鸿蒙Stage模型 登录页面 ArkTS版 推荐使用)

在鸿蒙OS中&#xff0c;Ability是应用程序提供的抽象功能&#xff0c;可以理解为一种功能。在应用程序中&#xff0c;一个页面即一种能力&#xff0c;如登录页面&#xff0c;即具有登录功能的能力。以下是对鸿蒙新建项目的登录代码功能的详细解读和工作流程的描述&#xff1a; …

C++入门篇

呀哈喽&#xff0c;我是结衣。 了解完C的发展历程&#xff0c;我们当然也要会用C啊。今天这篇博客就是来帮助我们来入门C的&#xff0c;当然要入门C当然也要先学会C语言啦。在我学习C的过程中我会一直把C博客更新下去的。 C关键字 我们都知道C语言是有32个关键字的&#xff0…

json JSON.parse()与JSON.stringify()

JSON.parse() 属于解析 JSON.parse()方法解析一个JSON字符串为ECMAScript值&#xff0c;返回解析后的值&#xff0c; JSON.parse({}); // -> {}JSON.parse([]); // -> []JSON.parse(1); // -> {}注意&#xff1a;JSON.parse()解析的JSON字符串不允许以逗…

Python-数据分析可视化实例图

Python-数据分析可视化实例图 一&#xff1a;3D纹理图 运行效果图&#xff1a; Python代码&#xff1a; import math from typing import Unionimport pyecharts.options as opts from pyecharts.charts import Surface3Ddef float_range(start: int, end: int, step: Union[…

分享66个Java源码总有一个是你想要的

分享66个Java源码总有一个是你想要的 学习知识费力气&#xff0c;收集整理更不易。 知识付费甚欢喜&#xff0c;为咱码农谋福利。 链接&#xff1a;https://pan.baidu.com/s/1hKlZJB3KrHcOuKWyV1xjKw?pwd6666 提取码&#xff1a;6666 项目名称 ava web个人网站项目 ea…

不是生活有意思,是你热爱生活它才有意思

明制汉服的设计 同样是一款很重工的外套 细节上也是做到了极致 顺毛毛呢面料 领口袖口拼接仿貂毛环保毛条 前胸欧根纱刺绣圆形布 袖子贴民族风珠片刺绣织带 门襟搭配金属子母扣&#xff0c;真盘扣设计 时尚经典&#xff0c;搭配马面裙孩子穿上 真的很有气质奢华富贵 …