# 使用 nmcli 管理网络连接

nmcli 是 NetworkManager 的命令行客户端,是在现代 Linux 发行版(如 Debian、Ubuntu、CentOS)中管理网络连接的强大工具。

# 一、WiFi 配置

# 1. 查看网络设备

首先,使用 nmcli device status 查看系统中所有网络设备及其状态,以确定无线网卡的名称(通常为 wlan0)。

nmcli device status

# 2. 扫描 WiFi 网络

使用以下命令扫描并列出周围可用的 WiFi 网络。

nmcli device wifi list

# 3. 连接、断开与删除 WiFi

# 连接到 WiFi

使用 connect 命令连接到指定的 WiFi 网络 (SSID)。

# 格式: sudo nmcli device wifi connect <SSID> password <密码>
sudo nmcli device wifi connect 503 password 503503503
sudo nmcli device wifi connect 虚空终端 password 503503503

连接成功后,NetworkManager 会自动创建一个连接配置文件。

设置为开机自动连接

sudo nmcli connection modify 503 connection.autoconnect yes

# 管理连接配置

可以查看、修改、断开或删除已保存的连接配置。

操作 命令 说明
查看所有配置 nmcli connection show 列出所有已保存的网络连接配置。
设置自动连接 sudo nmcli connection modify <名称> connection.autoconnect yes 将指定连接设置为开机自动连接。
断开连接 nmcli device disconnect <网卡名称> 临时断开指定网卡的当前连接。
删除配置 sudo nmcli connection delete <名称> 永久删除指定名称的连接配置文件。

示例:

# 查看所有连接配置,找到要操作的连接名称
nmcli connection show

# 设置名为 "503" 的 WiFi 连接开机自启
sudo nmcli connection modify 503 connection.autoconnect yes

# 断开 wlan0 网卡的连接
nmcli device disconnect wlan0

# 删除名为 "虚空终端" 的 WiFi 配置
sudo nmcli connection delete 虚空终端

# 二、设置静态 IP 地址

在某些场景下(如将设备用作服务器或通过旁路由上网),需要将动态 IP (DHCP) 修改为静态 IP。

# 1. 确定要修改的连接

首先,使用 nmcli connection show 找到需要修改的连接配置的名称 (NAME)。

nmcli connection show

# 示例输出
# NAME                UUID                                  TYPE      DEVICE 
# 503                 82cbca27-7035-420a-96c0-f54aef5c5f83  wifi      wlan0  
# Wired connection 1  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ethernet  eth0

# 2. 修改连接为静态 IP

使用 nmcli connection modify 命令修改指定连接的网络参数。

# 语法示例
sudo nmcli connection modify "<连接名称>" \
    ipv4.method manual \
    ipv4.addresses <IP地>/<子网掩码前> \
    ipv4.gateway <网关地> \
    ipv4.dns "<DNS服务器1>,<DNS服务器2>"

# 实际示例:将名为 "503" 的连接修改为静态IP
sudo nmcli connection modify "503" \
    ipv4.method manual \
    ipv4.addresses 192.168.31.152/24 \
    ipv4.gateway 192.168.31.141 \
    ipv4.dns "223.5.5.5,114.114.114.114"
参数 说明
ipv4.method manual 表示静态 IP,auto 表示 DHCP。
ipv4.addresses 设置静态 IP 地址和子网掩码(使用 CIDR 表示法)。
ipv4.gateway 设置默认网关地址。
ipv4.dns 设置 DNS 服务器,多个服务器用逗号分隔。

# 3. 应用更改

修改配置后,需要重新激活连接以使设置生效。

sudo nmcli connection down "503" && sudo nmcli connection up "503"

# 4. 恢复为 DHCP

如果需要从静态 IP 切换回动态 IP (DHCP),只需将 ipv4.method 修改为 auto 并重连即可。

sudo nmcli connection modify "503" ipv4.method auto
# 清空静态配置(可选但推荐)
sudo nmcli connection modify "503" ipv4.addresses "" ipv4.gateway "" ipv4.dns ""

# 重启连接
sudo nmcli connection up "503"

# 三、无线网络测试

配置完成后,可以使用以下工具测试网络连通性。

命令 用途
ping 测试与目标主机(IP或域名)的基本连通性和延迟。 ping 8.8.8.8
ip addr 查看网络接口的 IP 地址、MAC 地址等详细信息。
iwconfig (旧工具)查看无线网卡的连接状态,如 SSID、信号强度 (Link Quality)、比特率 (Bit Rate) 等。