本文基于Rocky9 网络基础配置实操,所有命令均为Rocky9桌面版默认预装,无需额外安装依赖,网卡名以ip addr输出为准,下文以我自己的enp0s3为例。
目录
- 一、网络设备识别
- 二、网卡配置
- 三、网络配置文件
- 1. 网卡主配置文件
- 2. DNS配置说明
- 3. 主机名配置
- 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后即可自动联网
nmcli device status# 查看所有网卡的连接状态,确认目标网卡名称sudonmcli connection modify enp0s3 ipv4.method auto# 设置enp0s3为DHCP自动获取IP模式sudonmcli connection up enp0s3# 激活配置,立即获取IP并联网- 静态IP配置
适用于服务器、桌面固定办公等需要固定IP的场景,避免DHCP分配的IP变动导致服务访问异常,配置后IP永久生效
sudonmcli connection modify enp0s3 ipv4.method manual# 指定IP获取方式为静态sudonmcli connection modify enp0s3 ipv4.addresses192.168.1.100/24# 设置静态IP及子网掩码(/24等价于255.255.255.0)sudonmcli connection modify enp0s3 ipv4.gateway192.168.1.254# 设置默认网关,指向路由器IPsudonmcli connection modify enp0s3 ipv4.dns"192.168.1.1 8.8.8.8"# 设置首选/备用DNS服务器sudonmcli connection up enp0s3# 激活配置,使静态IP生效这里的ip,默认网关,要看自己宿主机的显示,用cmd输入ipconfig就能看到啦
- 网卡启停操作
- 适用于修改网卡配置后刷新状态、临时禁用网卡排查网络故障的场景,仅影响当前操作的网卡,不会中断其他网络连接
sudonmcli device disconnect enp0s3# 停用enp0s3网卡,切断网络连接sudonmcli device connect enp0s3# 启用enp0s3网卡,重新加载配置并联网- 快速刷新单网卡配置(推荐)
sudonmcli connection down enp0s3&&sudonmcli connection up enp0s3# 先停用再启用,使修改的配置立即生效- 网络服务管理
适用于全局网络配置修改后(如修改所有网卡配置)批量刷新,会重启所有网络连接,远程操作需谨慎
sudosystemctl restart NetworkManager# 重启NetworkManager服务,全局重新加载所有网络配置sudosystemctl 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] # 代理配置区块,为空代表未开启任何代理,无需修改sudonmcli connection reload# 让NetworkManager重新加载所有配置文件sudonmcli connection up enp0s3# 激活配置,使修改生效2. DNS配置说明
DNS配置分为静态和动态两类:静态DNS直接写入网卡配置文件,动态DNS由NetworkManager自动生成,无需手动修改
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”特性,且配置生效后,系统内部服务可通过这两个地址同时对外提供服务。