一、网络参数配置:搭建稳定网络基础
网络参数配置是 Linux 网络管理的起点,根据操作方式可分为图形化配置、命令行配置和配置文件配置,不同方式适用于不同场景(临时调试 / 永久生效)。
1. 图形化配置:依赖 NetworkManager 服务
NetworkManager 是 Linux 系统中主流的图形化网络管理工具,但不同系统版本对其依赖不同:
- Linux 7 系统:建议停止该服务,避免与其他配置方式冲突;
- Linux 8 及以上系统:统一由 NetworkManager 管理网络,无需手动关闭。
2. 命令行配置:灵活调试临时生效
命令行配置适用于临时调整网络参数(重启网络 / 主机后失效),核心工具包括ifconfig
、ifup/ifdown
和ip address
。
2.1 ifconfig:经典网卡配置工具
- 功能:查看 / 修改网卡参数(如 IP 地址),但无法查看未启用网卡及配置文件中的多 IP。
- 权限:root 用户可修改参数,普通用户仅能查看。
选项 | 作用 | 案例 |
---|---|---|
-a | 查看所有网卡(含未启用) | ifconfig -a |
up | 启用网卡(不读配置文件) | ifconfig ens33 up |
down | 停用网卡 | ifconfig ens33 down |
直接配置 IP | 临时设置网卡 IP | ifconfig ens33 192.168.115.136/24 |
2.2 ifup/ifdown:基于配置文件的启停
与ifconfig up/down
的核心区别是:会读取网卡配置文件,适用于基于配置文件的参数加载。
# 启用网卡并加载配置
ifup ens33
# 停用网卡
ifdown ens33
# 子接口配置(单网卡多IP临时方案)
ifconfig ens33:0 192.168.115.214/24
# 子接口永久配置(复制配置文件修改)
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens33:0
# 编辑子接口文件:修改NAME、DEVICE、IPADDR等参数
vim ifcfg-ens33:0
# 重启子接口生效
ifdown ens33:0 && ifup ens33:0
2.3 ip address:现代网络参数查看工具
ip a
(缩写)是ifconfig
的替代工具,功能更全面:
- 可查看未启用网卡;
- 支持查看配置文件中的多 IP 配置;
- 语法简洁:
ip a
(直接查看所有网卡参数)。
3. 配置文件配置:永久生效的核心方式
通过修改网卡配置文件(路径:/etc/sysconfig/network-scripts/ifcfg-网卡名
),可实现网络参数的永久生效,需重启网卡或网络服务加载配置。
3.1 单一 IP 地址配置
分为 DHCP 自动获取和静态手动配置两种模式:
配置项 | 含义 | DHCP 模式 | 静态模式 |
---|---|---|---|
TYPE | 网卡类型 | Ethernet | Ethernet |
BOOTPROTO | IP 获取方式 | dhcp | static |
NAME | 网卡描述(可选) | ens33 | ens33 |
DEVICE | 网卡设备名(必对) | ens33 | ens33 |
ONBOOT | 是否启用配置 | yes | yes |
IPADDR | IP 地址(静态需填) | - | 192.168.115.150 |
PREFIX/NETMASK | 子网掩码 | - | PREFIX=24 或 NETMASK=255.255.255.0 |
GATEWAY | 默认网关(建议单网关) | - | 192.168.115.2 |
DNS1 | DNS 服务器(多网卡慎填) | - | 192.168.115.2 |
3.2 多 IP 地址配置
在单一配置文件中通过IPADDR1/PREFIX1
、IPADDR2/PREFIX2
实现多 IP:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 核心配置(新增部分)
IPADDR1=192.168.115.150
PREFIX1=24
IPADDR2=192.168.115.151
PREFIX2=24
DNS2=192.168.115.3
# 加载配置生效
systemctl restart network 或 ifdown ens33 && ifup ens33
3.3 配置验证命令
# 验证IP地址
ifconfig 或 ip a
# 验证网关
route -n
# 验证DNS
cat /etc/resolv.conf
二、nmcli 命令详解
1. 概述
nmcli
是 NetworkManager 的命令行工具,用于配置和管理网络连接。使用前需确保 NetworkManager 服务正常运行,且避免与 ip addr
等命令冲突。
2. 基本格式
nmcli [OPTIONS] OBJECT { COMMAND | help }
- OPTIONS :控制输出格式(如
-t
简洁模式、-f
指定字段) - OBJECT :操作对象(如
general
、device
、connection
) - COMMAND :具体操作(如
status
、up
、down
)
3. 常用系统指令
NetworkManager 服务管理命令:
# 查看状态
systemctl status NetworkManager
# 启动/重启/停止
systemctl start/restart/stop NetworkManager
# 开机启动配置
systemctl enable/disable NetworkManager
4. 核心操作对象
(1)networking(网络状态)
查看和控制整体网络连接状态:
nmcli networking # 查看是否接管网络
nmcli n connectivity # 检查连接状态(full/limited/portal/none/unknown)
nmcli n on/off # 开启/关闭网络
(2)general(系统状态)
查看系统网络概览和主机名设置:
nmcli general status # 显示系统网络状态
nmcli g hostname # 查看主机名
nmcli g h newHostName # 修改主机名(需重启服务)
(3)connection(连接配置)
管理网络连接配置(可简写为 c
):
# 查看连接
nmcli c show # 所有连接
nmcli c s -a # 仅活动连接
# 控制连接
nmcli c up ens33 # 启动连接
nmcli c down ens33 # 关闭连接
nmcli c delete ens33 # 删除连接
# 修改连接(静态IP配置示例)
nmcli c m ens33 ipv4.address 192.168.80.10/24
nmcli c m ens33 ipv4.gateway 192.168.80.2
nmcli c m ens33 ipv4.dns 8.8.8.8
nmcli c m ens33 ipv4.method manual # 设为静态模式
# 新增连接
nmcli c a type ethernet con-name ens36 ifname ens36 \
ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8 8.8.4.4" ipv4.method manual
(4)device(网络设备)
管理物理网络设备(可简写为 d
):
nmcli d status # 查看设备状态
nmcli d connect ens33 # 连接设备
nmcli d disconnect ens33 # 断开设备
nmcli d wifi list # 查看附近WiFi
nmcli d wifi connect "SSID" password "密码" # 连接WiFi
三、网络配置方法
方法一:修改 keyfile 配置文件
Rocky9 配置文件位于 /etc/NetworkManager/system-connections/
,格式为 keyfile:
-
编辑对应接口文件(如
ens33.nmconnection
) -
配置核心字段:
(connection) id=ens33 uuid=1c0d8661-d96c-3ecd-8578-eba771cadac4 type=ethernet autoconnect-priority=-999 interface-name=ens33 (ipv4) method=manual address=192.168.1.3/24,192.168.1.1 netmask=255.255.255.0 gateway=192.168.1.1 dns=8.8.8.8;114.114.114.114 route1=10.1.0.0/16,192.168.1.1 route2=10.2.0.0/16,192.168.1.1
-
加载并激活:
nmcli c load /etc/NetworkManager/system-connections/ens33.nmconnection nmcli c up ens33
配置字段解析:
-
id:用于标识该网络连接的名称,可自定义,方便用户识别和管理不同的网络连接,通常与网络接口名称相关.
-
uuid:通用唯一识别码,由系统自动生成,用于在NetworkManager中唯一标识该网络连接配置,一般无需手动修改.
-
type:指定网络连接的类型,常见的值有"ethernet"表示以太网连接,"wifi"表示无线网络连接等,根据实际网络设备和连接方式进行选择.
-
autoconnect-priority:设置网络连接的自动连接优先级,数值越小优先级越高,-999表示较低的优先级。可根据需要调整该值来确定多个网络连接的顺序,以便在系统启动时优先连接重要的网络.
-
interface-name:必须与实际的网络接口设备名称一致,用于将网络连接配置与对应的物理网络接口关联起来,如"ens33"等.
-
method:获取IP地址的方式,常见的值有"auto"表示自动获取IP地址,通常通过DHCP等方式从网络中的DHCP服务器获取IP地址、子网掩码、网关等网络配置信息;"manual"表示手动配置静态IP地址,需要手动指定IP地址、子网掩码、网关和DNS等信息.
-
address:当method为manual时,用于指定静态IP地址和子网掩码,格式为"IP地址/子网掩码长度",还可以在后面添加网关地址,用逗号分隔,如"192.168.1.10/24,192.168.1.1".
-
netmask:子网掩码,也可以在address参数中统一配置,若单独配置则需按照子网掩码的格式填写,如"255.255.255.0".
-
gateway:网关地址,用于指定网络数据包的转发地址,需与所在网络环境的网关配置一致.
-
dns:指定DNS服务器地址,多个DNS服务器之间用分号分隔,如"8.8.8.8;114.114.114.114".
-
route:可用于添加静态路由,格式为"网段,网关",可以添加多条route来配置多个静态路由,例如"route1=10.1.0.0/16,192.168.1.2 route2=10.2.0.0/16,192.168.1.2".