本文基于Rocky9 网络基础配置实操,所有命令均为Rocky9桌面版默认预装,无需额外安装依赖,网卡名以ip addr输出为准,下文以我自己的enp0s3为例。
目录
- 一、网络设备识别
- 二、网卡配置
- 三、网络配置文件
-
- [1. 网卡主配置文件](#1. 网卡主配置文件)
- [2. DNS配置说明](#2. DNS配置说明)
- [3. 主机名配置](#3. 主机名配置)
- [4. 单网卡多IP(IP别名)](#4. 单网卡多IP(IP别名))
- 四、小结
一、网络设备识别
这组命令用于确认系统已识别的网卡硬件和当前运行状态,是网络配置前的基础排查步骤,避免因硬件未识别、网卡未激活导致后续配置失败
-
查看网卡硬件
bash
lspci | grep -i net # 列出所有内核已识别的PCI网卡硬件,未安装驱动的网卡不会显示

-
查看网卡运行状态
bash
ip addr # 查看所有网卡(含未激活)的IP、MAC地址、激活状态,用于确认网卡是否正常上线、已配置的IP是否生效
ip link show up # 仅显示当前已激活的网卡,快速排查网卡链路是否连通

注:有线网卡常见为ens160/ens33,无线为wlan0/wlpXsX,回环口固定为lo
二、网卡配置
Rocky9默认使用NetworkManager管理网络,nmcli是其原生命令行工具,支持所有网络配置操作,无需依赖图形界面,配置后立即生效
- DHCP自动获取IP
适用于家庭、办公等通过路由器自动分配IP的场景,无需手动配置网络参数,插网线/连Wi-Fi后即可自动联网
bash
nmcli device status # 查看所有网卡的连接状态,确认目标网卡名称
sudo nmcli connection modify enp0s3 ipv4.method auto # 设置enp0s3为DHCP自动获取IP模式
sudo nmcli connection up enp0s3 # 激活配置,立即获取IP并联网

- 静态IP配置
适用于服务器、桌面固定办公等需要固定IP的场景,避免DHCP分配的IP变动导致服务访问异常,配置后IP永久生效
bash
sudo nmcli connection modify enp0s3 ipv4.method manual # 指定IP获取方式为静态
sudo nmcli connection modify enp0s3 ipv4.addresses 192.168.1.100/24 # 设置静态IP及子网掩码(/24等价于255.255.255.0)
sudo nmcli connection modify enp0s3 ipv4.gateway 192.168.1.254 # 设置默认网关,指向路由器IP
sudo nmcli connection modify enp0s3 ipv4.dns "192.168.1.1 8.8.8.8" # 设置首选/备用DNS服务器
sudo nmcli connection up enp0s3 # 激活配置,使静态IP生效
这里的ip,默认网关,要看自己宿主机的显示,用cmd输入ipconfig就能看到啦
- 网卡启停操作
- 适用于修改网卡配置后刷新状态、临时禁用网卡排查网络故障的场景,仅影响当前操作的网卡,不会中断其他网络连接
bash
sudo nmcli device disconnect enp0s3 # 停用enp0s3网卡,切断网络连接
sudo nmcli device connect enp0s3 # 启用enp0s3网卡,重新加载配置并联网

- 快速刷新单网卡配置(推荐)
bash
sudo nmcli connection down enp0s3 && sudo nmcli connection
up enp0s3 # 先停用再启用,使修改的配置立即生效
- 网络服务管理
适用于全局网络配置修改后(如修改所有网卡配置)批量刷新,会重启所有网络连接,远程操作需谨慎
bash
sudo systemctl restart NetworkManager # 重启NetworkManager服务,全局重新加载所有网络配置
sudo systemctl reload NetworkManager # 重载配置,不中断现有网络连接(推荐替代restart)
三、网络配置文件
Rocky9的网络配置以文件形式持久化存储,修改配置文件后需重载生效,适合批量部署、离线修改场景
1. 网卡主配置文件
网卡的核心配置文件,所有nmcli的配置最终都会写入该文件,路径固定,修改时需保证文件名与网卡名一致
bash
sudo cat /etc/NetworkManager/system-connections/enp0s3.nmconnection #查看配置文件

配置文件内容(Rocky9规范):
ini
[connection] # 网卡连接的基础配置根区块,所有连接的核心属性都放在这里
id=enp0s3 # 连接配置的名称,系统识别该配置的唯一标识之一;要改成ens160规范的话,把这行的enp0s3换成ens160即可
uuid=d22421a5-ea7b-3a0f-b158-95e6c764f756 # 该连接的全局唯一身份证号,系统自动生成,修改后配置会失效,不要改动
type=ethernet # 网卡类型,代表普通有线以太网,和你之前要的ifcfg格式里的TYPE=Ethernet是同一个含义,只是大小写写法不同
interface-name=enp0s3 # 该配置绑定的物理网卡名称,必须和服务器实际网卡名完全一致才能生效;要改成ens160规范的话,把这行的enp0s3换成ens160即可
autoconnect-priority=-999 # 开机自动连网的优先级,-999是最低优先级,同设备有多个网卡时会优先连接优先级更高的配置;要优先连这个网卡就把值改成正数即可
timestamp=1784083746 # 系统自动记录的上次成功联网的时间戳,无实际配置作用,不用理会
[ethernet] # 物理网卡的特殊配置区块,为空代表没有特殊限制(比如没禁用MAC地址、没绑定特定硬件),正常情况都留空
[ipv4] # IPv4协议配置区块,管理服务器IPv4地址的获取规则
method=auto # IPv4获取方式,auto代表DHCP自动从路由器获取IP,对应ifcfg格式里的BOOTPROTO=dhcp;要配置静态IP的话把这行改成manual,再补充地址、网关、DNS参数即可
[ipv6] # IPv6协议配置区块,管理服务器IPv6地址的获取规则
addr-gen-mode=eui64 # IPv6地址的自动生成规则,由系统自动计算,无需修改;如果不需要IPv6,把下面的method改成disabled即可
method=auto # IPv6获取方式,auto代表自动获取IPv6地址;服务器用不到IPv6的话可以把这行改成method=disabled
[proxy] # 代理配置区块,为空代表未开启任何代理,无需修改
bash
sudo nmcli connection reload # 让NetworkManager重新加载所有配置文件
sudo nmcli connection up enp0s3 # 激活配置,使修改生效
2. DNS配置说明
DNS配置分为静态和动态两类:静态DNS直接写入网卡配置文件,动态DNS由NetworkManager自动生成,无需手动修改
bash
cat /etc/resolv.conf # 查看当前生效的DNS配置,由NetworkManager自动生成,手动修改会被覆盖

静态DNS解析(优先级高于动态DNS):直接编辑/etc/hosts文件,格式为IP 域名,适用于本地测试、内部服务映射
3. 主机名配置
主机名是系统的唯一标识,用于网络识别、日志标记,修改后立即生效且永久保存
bash
hostname # 查看当前主机名,快捷命令
hostnamectl # 查看主机详细信息
sudo hostnamectl set-hostname rocky9-test # 设置主机名为rocky9-test,立即生效无需重启

4. 单网卡多IP(IP别名)
适用于一台服务器需要绑定多个业务IP。一句话类比:1张网卡=1个办公室;多IP=给这间办公室办多张门禁卡,刷哪张都能进同一个屋。
最常用用途:一台服务器搭多个独立网站,每个网站绑一个IP,不用额外买服务器。
① nmcli快捷配置(推荐)
bash
sudo nmcli connection modify enp0s3 +ipv4.addresses 192.168.1.101/24 # 为enp0s3追加额外IP,+号为追加标记,省略会直接覆盖原有IP配置
sudo nmcli connection up enp0s3 # 激活配置,新增IP立即生效
ip addr show enp0s3 # 验证新增IP:原生模式下不会显示enp0s3:1这类别名,直接在enp0s3条目下看到两个inet地址即为生效
ping 192.168.1.101 # 验证新增IP连通性
# 注:可多次执行该命令追加更多IP,原生无需单独命名别名网卡,若需单独启停某IP可参考下方keyfile配置

② 原生keyfile配置
Rocky9原生配置文件路径为/etc/NetworkManager/system-connections/
无需使用老派的ifcfg-ens160:1命名,推荐命名为enp0s3-1.nmconnection(数字随IP数量递增):
bash
sudo vim /etc/NetworkManager/system-connections/enp0s3-1.nmconnection # 新建别名IP的配置文件
# 原生keyfile强制要求权限,否则NetworkManager会忽略配置
sudo chmod 600 /etc/NetworkManager/system-connections/enp0s3-1.nmconnection
sudo chown root:root /etc/NetworkManager/system-connections/enp0s3-1.nmconnection
别名配置文件内容:
ini
[connection]
id=enp0s3-1 # 别名连接名称,和文件名前缀保持一致
uuid=$(uuidgen) # 必须生成新的UUID,不能和主网卡enp0s3的UUID重复,执行uuidgen命令即可生成
type=ethernet
interface-name=enp0s3 # 绑定到物理网卡enp0s3,无需写enp0s3:1这类虚拟设备名
autoconnect=true # 开机自动激活该IP
[ipv4]
method=manual # 别名IP必须为静态配置
addresses=192.168.1.101/24 # 别名IP地址,多个IP用逗号分隔:192.168.1.101/24,192.168.1.102/24
# 无需配置GATEWAY和DNS,自动继承主网卡enp0s3的配置
ignore-auto-dns=true
[ipv6]
method=disabled # 关闭IPv6,按需调整为auto/manual
[proxy]
bash
sudo nmcli connection reload # 重新加载所有配置
sudo nmcli connection up enp0s3-1 # 激活别名IP连接
ip addr show enp0s3 # 验证:会看到enp0s3下新增的192.168.1.101地址

单网卡多ip已经配置成功啦,现在可以用两个 ip管理我的虚拟机了
四、小结
通过本次实践,我们完成了 Rocky Linux 网络配置的基础学习与实操,核心掌握内容如下:
- 网卡与基础配置
掌握了网卡状态查看命令 ip addr,能准确识别出网卡名称(如 enp0s3)及当前的 IP 地址、链路状态。
理解了 UP状态代表网卡已激活并正常工作。
- 多 IP 配置实战
成功在单网卡 enp0s3上配置了主备两个 IP(192.168.1.101静态 & 10.0.2.15动态)。
验证了 Linux 系统支持"一网卡多 IP"特性,且配置生效后,系统内部服务可通过这两个地址同时对外提供服务。