资讯详情

RHEL 9 安装与 NetworkManager 网络配置实战指南

📅 2026/10/27 3:58:13 | 华诺云谱 👁 阅读
RHEL 9 安装与 NetworkManager 网络配置实战指南
1. 为什么还要折腾 RHEL 9 的安装与网络配置这几年容器化、云原生喊得震天响很多人觉得装一台物理机或虚拟机的操作系统已经是上古技能了。但我在实际项目里踩过的坑告诉我越是底层的东西越躲不开。你手上拿到一台新服务器或者要在本地搭一套和线上尽量一致的实验环境第一步永远是系统装好、网络通、能连上、能更新。这一步卡住后面什么 Ansible、什么容器编排都是空中楼阁。Red Hat Enterprise Linux 9下面统一简称 RHEL 9是很多企业环境的基线系统它的安装流程和网络管理方式跟 CentOS 7 时代相比变化不小。最典型的就是网络配置从传统的 network-scripts 脚本体系全面转向了 NetworkManager 的 keyfile 和 nmcli 体系ifcfg-eth0那套写法虽然还能兼容但已经不是官方推荐路径了。很多人照着老教程改配置文件改完重启网络服务发现不生效或者干脆服务名都找不到了问题就出在这里。这篇内容我想把 RHEL 9 从零安装到网络配通这条链路完整走一遍重点讲清楚每一步背后的逻辑而不是给你一串命令让你照抄。适合的人群很明确刚接触企业级 Linux 的新手、需要搭建本地实验环境的中级运维、以及从 CentOS 7 迁移过来需要重新熟悉网络体系的老手。装系统这件事本身不难难的是知道为什么这么装、装完怎么验证、出问题从哪查。我会把安装介质准备、分区方案取舍、NetworkManager 的配置思路、静态 IP 与 DNS 的落地方法、以及一堆实际踩过的坑都摊开讲。需要提前说明的是下面涉及的具体 IP、主机名、设备名都是示例值你在自己环境里要换成实际规划的值。分区大小、内存分配这些也跟你的用途强相关我给的是通用参考不是标准答案。2. 安装前的整体设计与准备工作2.1 安装介质与运行环境的选择逻辑装 RHEL 9 第一步是拿到安装镜像。官方渠道提供的是 DVD ISO 完整镜像体积在 10GB 上下包含完整的软件包仓库适合离线安装和后续本地搭源。如果你只是做实验也可以考虑用 Minimal ISO体积小很多但装完之后很多常用工具都没有需要额外配源对新手不太友好。我的建议是实验环境用 DVD ISO省得装完系统还要折腾软件源。运行环境这块物理机和虚拟机两条路。物理机安装要注意 U 盘制作用 dd 或者 Rufus 这类工具把 ISO 写入 U 盘即可写入前务必确认目标盘符写错盘数据全没这个坑每年都有人踩。虚拟机安装相对省心VMware、VirtualBox、KVM 都行我给的建议是内存至少 2GB图形安装建议 4GB磁盘至少 20GBCPU 双核起步。低于这个配置图形安装界面会卡到你怀疑人生甚至直接进不去。还有一个容易被忽略的点RHEL 9 默认启用了 UEFI 安全启动相关的引导流程如果你的虚拟机固件类型选的是 BIOS 而不是 UEFI安装过程本身没问题但后续某些内核模块加载行为会有差异。实验环境里我一般统一用 UEFI跟生产环境保持一致减少本地能跑线上不行的尴尬。2.2 分区方案的取舍与容量规划分区是安装过程中最需要动脑子的环节。RHEL 9 的安装器提供了自动分区和手动分区两种模式。自动分区对新手友好但它给的方案往往不够合理比如根分区给得偏小/var和/home混在一起后期日志一涨就把根分区撑爆。我习惯用手动分区核心思路是把容易增长、容易出问题的目录独立出来。下面这套方案是我在实验和小型生产环境里反复用过的供参考挂载点建议容量文件系统说明/boot1GBxfs内核与引导文件RHEL 9 默认 xfs/boot/efi600MBvfatUEFI 引导必需BIOS 模式可省/15-20GBxfs系统根目录装基础软件够用/var10GB 起xfs日志、容器镜像、数据库数据常放这里/home剩余空间xfs用户数据按需分配swap内存的 1-2 倍swap内存大于 16GB 时可适当减小或不设这里解释几个为什么。/boot给 1GB 是因为 RHEL 9 的内核更新会保留多个旧版本空间太小更新几次就满了导致dnf update失败。/var单独分出来是因为系统日志、/var/lib下的各种服务数据都在这一旦某个服务日志失控独立分区能防止它拖垮整个系统。swap 的大小争议一直存在我的经验是内存 8GB 以下按 2 倍给8-16GB 按 1 倍给16GB 以上给 8GB 意思一下就行现代系统对 swap 的依赖已经没那么重了。注意如果你在虚拟机里做实验磁盘本身就不大别硬套上面的方案。20GB 磁盘的话/给 10GB、/var给 5GB、/boot给 1GB剩下的给/homeswap 用 swap 文件代替分区也行。2.3 软件选择与安装源的基本认知RHEL 9 安装器里的软件选择页面决定了你装完系统后有哪些现成工具。默认是最小安装只有最基础的系统组件连vim、wget都没有。实验环境我一般选带 GUI 的服务器或者服务器加几个附加组件具体看用途。这里有个关键认知RHEL 的软件仓库是订阅制的没有有效订阅的话dnf无法从官方源拉包。实验环境里常见的做法是配置本地 DVD 源把安装镜像挂载后作为仓库使用。这个操作在装完系统后做思路是把 ISO 挂到某个目录然后写一个 repo 文件指向它。后面网络配置章节我会顺带提一下这个流程因为它和网络是否通没有直接关系但很多人装完系统第一件事就是配源结果发现网络没通卡在这里。3. 安装过程的核心环节与实操记录3.1 引导进入安装器与语言时区设置把 ISO 挂载或写入介质后启动会看到引导菜单。RHEL 9 的菜单里有Install Red Hat Enterprise Linux 9和Test this media两个主要选项。第一次用某个镜像时建议先跑一遍媒体检测确认镜像没损坏这一步能省掉后面安装到一半报错的麻烦。检测通过后选安装项进入图形安装器。进入安装器第一屏是语言选择。这里有个细节语言选择不仅影响界面文字还影响系统默认的字符集和输入法配置。选中文的话装完系统默认 locale 是zh_CN.UTF-8某些英文软件的输出可能显示异常。我的习惯是界面语言选英文装完系统后按需调整 locale这样日志和命令行输出都是标准英文排查问题更顺手。时区设置里选 Asia/Shanghai并打开网络时间同步让系统自动对时避免后续证书校验、日志时间戳出问题。3.2 安装源、软件选择与分区落地安装源页面默认指向介质本身如果你有内网源或者想用网络源可以在这里改。实验环境保持默认即可。软件选择页面按前面说的思路勾选注意附加组件里可以顺手把开发工具勾上省得装完再补。分区页面切到自定义然后按 2.2 节的方案手动创建。操作顺序是先建/boot/efiUEFI 模式再建/boot然后建 swap最后建/、/var、/home。每建一个分区文件系统类型选 xfs挂载点填对应路径。这里有个实操技巧创建分区时先不急着点完成把所有分区建完再统一确认安装器会弹出摘要让你复核这时候仔细看一眼容量和挂载点有没有填错填错了还能回去改。提示手动分区时如果提示无法分配空间多半是剩余空间不够或者分区顺序有问题。先把大分区建了再建小分区或者用自动创建生成基础布局后再手动调整能少走弯路。3.3 网络在主安装阶段的初步配置安装器里其实就有网络配置入口主机名和网络都能在这里设。很多人跳过这一步装完系统再配也能行但装完再配容易遇到网卡名对不上的问题。我的建议是在安装阶段就把主机名定好网络可以先设成 DHCP 让它通着装完系统再改成静态。主机名建议用有意义的命名比如lab-node01别用默认的localhost.localdomain。主机名在安装阶段设置后会写入/etc/hostname后续很多服务比如某些集群组件依赖主机名解析命名规范能省不少事。网络这块安装器里能看到网卡列表选中网卡后可以配置 IPv4 为自动或手动。实验环境先用自动确保装完能上网静态配置留到系统内用 nmcli 做这样能顺便熟悉 NetworkManager 的操作方式。设置完这些点开始安装设置 root 密码可选创建一个普通用户。root 密码建议设复杂点实验环境也别用123456养成习惯。安装过程大概十几分钟完成后重启进入系统。4. NetworkManager 体系下的网络配置实操4.1 理解 RHEL 9 的网络管理模型RHEL 9 的网络管理核心是 NetworkManager它通过连接connection这个概念来管理网络配置。一个连接就是一套配置档案包含 IP 分配方式、DNS、网关、网卡绑定等信息。连接和网卡是解耦的一块网卡可以有多套连接配置按优先级激活其中一套。这个模型比老的ifcfg脚本灵活得多但也让习惯了直接改文件的人一时转不过弯。配置文件的位置在/etc/NetworkManager/system-connections/下每个连接一个.nmconnection文件格式是 keyfile。老式的/etc/sysconfig/network-scripts/ifcfg-*在 RHEL 9 里仍然能被识别但官方已经不推荐新建这种格式。我实测下来新环境一律用 nmcli 或 keyfile别碰 ifcfg否则容易出现改了文件但 NetworkManager 不认的情况。查看当前网络状态的命令是nmcli device status和nmcli connection show。前者看设备网卡状态后者看连接配置。设备状态里connected表示已激活disconnected表示未激活unmanaged表示被 NetworkManager 忽略。如果看到网卡是unmanaged说明它被排除在管理范围外需要检查配置。4.2 用 nmcli 配置静态 IP 的完整流程假设网卡名是ens160要配的静态 IP 是192.168.10.50/24网关192.168.10.1DNS192.168.10.1和223.5.5.5。完整流程如下。先看现有连接nmcli connection show如果已有一个 DHCP 连接比如叫ens160可以直接改它也可以新建一个。我习惯新建保留原连接做回退nmcli connection add type ethernet con-name static-ens160 ifname ens160 \ ipv4.method manual \ ipv4.addresses 192.168.10.50/24 \ ipv4.gateway 192.168.10.1 \ ipv4.dns 192.168.10.1 223.5.5.5这条命令一次性把连接名、网卡、IP 方式、地址、网关、DNS 都设好了。ipv4.method manual是关键表示手动配置对应老式的BOOTPROTOnone。如果写成auto就是 DHCP。然后激活连接nmcli connection up static-ens160激活后验证ip addr show ens160 ip route show cat /etc/resolv.confip addr看 IP 是否生效ip route看默认路由是否指向网关resolv.conf看 DNS 是否写入。这里有个坑RHEL 9 的resolv.conf默认由 NetworkManager 管理手动改它会被覆盖。要改 DNS必须通过 nmcli 改连接的ipv4.dns属性改完重新激活连接。4.3 连接配置的持久化与多网卡场景nmcli 做的配置会自动写入/etc/NetworkManager/system-connections/下的 keyfile重启后依然有效不需要额外操作。这一点比老式改文件后还要systemctl restart network省心。但要注意keyfile 的权限是 600属主 root手动编辑时别改权限否则 NetworkManager 会拒绝加载。多网卡场景下每块网卡对应一个连接通过connection.autoconnect属性控制是否开机自动激活。默认是 yes如果某块网卡不想开机自动连设成 nonmcli connection modify static-ens160 connection.autoconnect no多网卡还有路由优先级的问题。如果两块网卡都配了默认网关系统会按路由 metric 决定走哪条。可以用ipv4.route-metric调整优先级值越小优先级越高nmcli connection modify static-ens160 ipv4.route-metric 100这个参数在双网卡做冗余或者分流时很有用配错了会出现流量走错网卡的诡异现象。5. 常见问题排查与避坑经验实录5.1 网络配置不生效的排查路径配置完网络发现 ping 不通排查要有顺序别上来就瞎改。我的排查路径是先看设备状态再看连接状态再看 IP 和路由最后看 DNS 和防火墙。第一步nmcli device status确认网卡是不是connected。如果是disconnected说明连接没激活nmcli connection up 连接名激活它。如果是unmanaged检查/etc/NetworkManager/NetworkManager.conf里有没有把这块网卡排除或者有没有nmcli device set 网卡 managed yes。第二步nmcli connection show 连接名看配置是否如预期。重点看ipv4.method、ipv4.addresses、ipv4.gateway这几项。经常出现的问题是地址写成了192.168.10.50没带掩码nmcli 会默认按/32处理导致同网段都通不了。第三步ip route show看默认路由。没有默认路由的话跨网段访问必然失败。路由缺失通常是网关没配或者配错。第四步cat /etc/resolv.conf看 DNS。DNS 没写进去域名解析就失败表现为能 ping 通 IP 但 ping 不通域名。第五步检查防火墙。RHEL 9 默认启用 firewalld如果是从外部访问这台机器确认对应端口在防火墙里放行了。firewall-cmd --list-all看当前规则。5.2 高频问题速查表下面这张表是我在实际操作中整理的高频问题按现象、可能原因、处理方式组织遇到问题先对号入座现象可能原因处理方式网卡显示 unmanaged被 NetworkManager 排除检查配置文件或nmcli device set 网卡 managed yes配了静态 IP 但重启后变回 DHCP连接未设 autoconnect 或有多连接冲突nmcli connection modify 连接 connection.autoconnect yes删除多余连接能 ping 通 IP 但域名解析失败DNS 未配置或被覆盖通过 nmcli 设ipv4.dns重新激活连接同网段能通跨网段不通默认路由缺失或网关错误ip route检查nmcli 补ipv4.gateway改完配置不生效连接未重新激活nmcli connection up 连接手动改 resolv.conf 后失效被 NetworkManager 覆盖改用 nmcli 配置 DNS双网卡流量走错路由 metric 未调整设ipv4.route-metric调整优先级5.3 几个容易忽略的实操心得第一个心得改网络配置前先记下当前的连接名和配置。用nmcli connection show 连接名把输出存一份改坏了能对照着恢复。实验环境里我甚至会先nmcli connection clone克隆一份原配置出问题直接切回去。第二个心得远程操作服务器改网络时千万别在 SSH 会话里直接nmcli connection down再up中间那一瞬间连接会断如果新配置有问题你就再也连不上了。正确做法是用nmcli connection reload加nmcli connection up或者干脆用nohup包一层定时任务配置错了过几分钟自动回滚。这个技巧在真实运维里救过很多次命。第三个心得RHEL 9 的dnf在没配源的情况下会报无法下载元数据很多人以为是网络问题其实是订阅或源没配。实验环境配本地 DVD 源的方法是把 ISO 挂到/mnt然后写一个/etc/yum.repos.d/local.repobaseurl指向file:///mnt/BaseOS和file:///mnt/AppStreamgpgcheck0。配完dnf clean all dnf makecache验证。这个流程跟网络配置是两件事但经常被混在一起排查理清楚能省很多时间。第四个心得主机名改了之后记得同步改/etc/hosts里对应的解析记录。RHEL 9 里hostnamectl set-hostname只改主机名不改 hosts 文件某些服务启动时解析自己的主机名会失败报无法解析主机的错误根因就在这。6. 装完之后的验证与基线固化6.1 系统状态的完整验证清单系统装完、网络配通别急着往下走先做一轮完整验证确认基线是干净的。我习惯按下面这个清单过一遍hostnamectl确认主机名和系统版本正确ip addr和ip route确认网络地址和路由符合规划ping网关、ping外网 IP、ping域名三层验证网络连通性cat /etc/resolv.conf确认 DNS 配置dnf repolist确认软件源可用systemctl status firewalld确认防火墙状态符合预期timedatectl确认时区和时间同步正常df -h确认分区挂载和容量符合规划这一轮过完基本能排除 90% 的安装遗留问题。特别是df -h很多人装完不看结果/boot只有 200MB第一次内核更新就失败回头再查很费劲。6.2 快照与配置备份的习惯养成虚拟机环境里装完并验证通过后第一件事是打快照。这个习惯能让你在后面折腾各种实验时毫无后顾之忧搞坏了直接回滚几分钟恢复到一个干净可用的状态。物理机没有快照那就把关键配置文件备份一份至少包括/etc/NetworkManager/system-connections/下的连接文件、/etc/hosts、/etc/fstab、/etc/yum.repos.d/下的源配置。配置备份我一般打包放到/root/backup/下命名带日期比如netconfig-20250101.tar.gz。别小看这个动作有次我把网卡配置改崩了SSH 断了靠的就是之前备份的连接文件通过控制台进去恢复的。6.3 从实验环境到生产环境的差异提醒实验环境里怎么折腾都行但如果你要把这套流程用到生产环境有几个差异必须注意。生产环境的网络规划通常有严格的 IP 分配和 VLAN 划分静态 IP 的地址、网关、DNS 都要按规范来不能随手填。生产环境一般禁用 root 直接登录用普通用户加 sudo安装时就要把普通用户建好并加入 wheel 组。生产环境的防火墙规则要按最小开放原则配置不能图省事关掉 firewalld。还有一点生产环境的内核参数、SELinux 状态、时间同步源都有基线要求。RHEL 9 默认 SELinux 是 enforcing实验环境里有人图省事改成 permissive这个习惯别带到生产。时间同步源要指向内网的时间服务器而不是公网地址。这些差异在实验阶段就该有意识地区分别等上了生产才发现习惯不对。我个人在实际操作中的体会是装系统这件事的价值不在于装成功而在于装完之后你对这台机器的每一个配置项都心里有数。网络配置尤其如此nmcli 的命令不难记难的是理解连接、设备、路由、DNS 这几层之间的关系以及出问题时按什么顺序排查。把这套流程走熟后面无论换哪个发行版、哪个云平台底层逻辑都是相通的。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑