nmcli快速配置指南

2025-06-27 18:19:00
丁国栋
原创 6
摘要:nmcli快速配置指南

如何使用nmcli启用网卡并配置静态IP或启用DHCP协议


1. 查看当前网络接口状态

nmcli device status

或查看所有连接:

nmcli connection show

默认 connection name 与 device name 一致,比如 网卡名称为 enp0s8 那么 连接名称 也是 enp0s8。


2. 启用网卡

如果网卡已禁用(如 eth0enp0s8):

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)。

注意事项

  1. 权限:需 root 权限或使用 sudo
  2. 连接名:使用 nmcli connection show 确认现有连接名。
  3. 持久化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
发表评论
博客分类