nmcli快速配置指南
- 2025-06-27 18:19:00
- 丁国栋
- 原创 6
如何使用nmcli启用网卡并配置静态IP或启用DHCP协议
1. 查看当前网络接口状态
nmcli device status
或查看所有连接:
nmcli connection show
默认 connection name 与 device name 一致,比如 网卡名称为 enp0s8 那么 连接名称 也是 enp0s8。
2. 启用网卡
如果网卡已禁用(如 eth0
或 enp0s8
):
nmcli device connect enp0s8
或通过连接名启用:
nmcli connection up enp0s8
查看 IP 状态信息:
ip add show enp0s8
3. 配置静态 IP
方法一:修改现有连接
主网卡(默认路由网卡)
nmcli connection modify enp0s3 \
ipv4.method manual \
ipv4.addresses 10.0.2.15/24 \
ipv4.gateway 10.0.2.2 \
ipv4.dns "10.0.2.3,223.6.6.6"
其他网卡(无默认路由)
nmcli connection modify enp0s8 \
ipv4.method manual \
ipv4.addresses 192.168.56.110/24
方法二:新建连接
nmcli connection add type ethernet \
con-name enp0s3 \
ifname enp0s3 \
ipv4.method manual \
ipv4.addresses 10.0.2.15/24 \
ipv4.gateway 10.0.2.2 \
ipv4.dns "10.0.2.3,223.6.6.6"
应用配置
nmcli connection up enp0s3
4. 配置 DHCP
方法一:修改现有连接
nmcli connection modify enp0s8 ipv4.method auto
方法二:新建 DHCP 连接
nmcli connection add type ethernet \
con-name enp0s8 \
ifname eth0 \
ipv4.method auto
应用配置
nmcli connection up enp0s8
5. 验证配置
ip addr show enp0s8
ping -c 4 8.8.8.8
nmcli connection show enp0s8
关键参数说明
ipv4.method manual
:静态 IP。ipv4.method auto
:DHCP。con-name
:连接名称(自定义)。ifname
:物理网卡名(如eth0
)。
注意事项
- 权限:需
root
权限或使用sudo
。 - 连接名:使用
nmcli connection show
确认现有连接名。 - 持久化:
nmcli
修改会直接生效并写入配置文件(无需重启)。
如果遇到问题,检查 NetworkManager 服务状态:
systemctl status NetworkManager
通过 nmcli
配置的网络连接默认是 持久化 的,重启系统后会 自动启用(只要配置正确且网卡存在)。
1. 默认行为:配置自动持久化
- 通过
nmcli
修改或创建的连接配置会保存到/etc/NetworkManager/system-connections/
目录下的文件中,重启后自动加载。 -
例如,以下命令创建的连接会永久生效:
nmcli connection add type ethernet con-name enp0s8 ifname eth0 ipv4.method auto
/etc/NetworkManager/system-connections/
目录下的文件示例:
启用 DHCP的网卡配置:
# cat /etc/NetworkManager/system-connections/enp0s*
[connection]
id=enp0s3
uuid=06ab38c9-009a-30bf-a88a-a99289e68541
type=ethernet
autoconnect-priority=-999
interface-name=enp0s3
timestamp=1750987063
[ethernet]
[ipv4]
method=auto
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]
启用静态 IP的网卡配置:
默认路由网卡配置:
# cat /etc/NetworkManager/system-connections/enp0s3.nmconnection
[connection]
id=enp0s3
uuid=06ab38c9-009a-30bf-a88a-a99289e68541
type=ethernet
autoconnect-priority=-999
interface-name=enp0s3
timestamp=1750988210
[ethernet]
[ipv4]
address1=10.0.2.15/24
dns=10.0.2.3;223.6.6.6;
gateway=10.0.2.2
method=manual
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]
非默认路由网卡配置:
# cat /etc/NetworkManager/system-connections/enp0s8.nmconnection
[connection]
id=enp0s8
uuid=7b90bfde-ed26-460d-8ea8-a22809a3274c
type=ethernet
interface-name=enp0s8
timestamp=1750988395
[ethernet]
[ipv4]
address1=192.168.56.110/24
method=manual
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
2. 关键检查点
-
检查连接的
autoconnect
属性是否为yes
:nmcli connection show enp0s8 | grep autoconnect
-
如果为
no
,手动启用:nmcli connection modify enp0s8 connection.autoconnect yes
发表评论