nmcli常见操作

下面为你整理 最常用、最实用的 nmcli 操作,按场景分类,附带示例和说明。


🔍 一、查看网络状态

1. 查看所有网络连接(已保存的配置)

复制代码
nmcli connection show
# 或简写
nmcli con show

输出包含:NAME(连接名)、UUID、TYPE(ethernet/wifi/bridge等)、DEVICE(绑定的网卡)

2. 查看当前活跃的连接

复制代码
nmcli con show --active

3. 查看网络设备状态

复制代码
nmcli device status

显示每块网卡的状态:connected / disconnected / unmanaged

4. 查看某个连接的详细配置

复制代码
nmcli con show "System eth0"   # 替换为你的连接名

🌐 二、配置有线网络(以太网)

假设你的网卡设备名为 eth0,连接名为 eth0(通常默认同名)

1. 设置静态 IP 地址

复制代码
# 修改连接配置
nmcli con mod eth0 ipv4.addresses 192.168.10.50/24
nmcli con mod eth0 ipv4.gateway 192.168.10.1
nmcli con mod eth0 ipv4.dns "8.8.8.8,114.114.114.114"
nmcli con mod eth0 ipv4.method manual   # 相当于 static

# 重启连接生效
nmcli con up eth0

2. 改回 DHCP 自动获取 IP

复制代码
nmcli con mod eth0 ipv4.method auto
nmcli con up eth0

3. 添加多个 DNS

复制代码
nmcli con mod eth0 ipv4.dns "8.8.8.8 114.114.114.114"
# 或追加(不覆盖)
nmcli con mod eth0 +ipv4.dns 192.168.10.10

4. 设置主机名(可选)

复制代码
nmcli con mod eth0 ipv4.dhcp-hostname "myserver"

📶 三、配置 Wi-Fi(无线网络)

1. 扫描可用 Wi-Fi

复制代码
nmcli device wifi list

2. 连接 Wi-Fi(自动保存连接)

复制代码
nmcli device wifi connect "MyWiFi" password "mypassword"

3. 断开 Wi-Fi

复制代码
nmcli device disconnect wlan0

4. 删除已保存的 Wi-Fi 配置

复制代码
nmcli con delete "MyWiFi"

🛠️ 四、高级操作

1. 创建新连接(例如给 eth1 配静态 IP)

复制代码
nmcli con add type ethernet con-name eth1-static ifname eth1 \
  ipv4.addresses 10.0.0.10/24 \
  ipv4.gateway 10.0.0.1 \
  ipv4.dns "8.8.8.8" \
  ipv4.method manual

2. 启用/禁用连接

复制代码
nmcli con up eth0      # 启用
nmcli con down eth0    # 禁用(断开但保留配置)

3. 删除连接配置

复制代码
nmcli con delete eth0

⚠️ 删除后,该配置文件(如 /etc/sysconfig/network-scripts/ifcfg-eth0)也会被移除。

4. 重载 NetworkManager 配置(一般不需要)

复制代码
nmcli general reload

🧪 五、调试与故障排查

1. 查看 DNS 实际生效情况

复制代码
systemd-resolve --status    # Ubuntu/Debian(较新)
# 或
cat /etc/resolv.conf        # 注意:可能是符号链接

在使用 NetworkManager 时,/etc/resolv.conf 通常由它动态管理。

2. 查看路由表

复制代码
ip route show
# 或
nmcli device show eth0 | grep IP4.ROUTE

3. 临时测试网络(不影响配置)

复制代码
# 临时设置 IP(重启失效,且不通过 NetworkManager)
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1

不推荐长期使用,仅用于紧急调试。


✅ 最佳实践建议

场景 建议
生产服务器 使用 nmcli 配置静态 IP,避免图形界面依赖
自动化脚本 nmcli con mod + nmcli con up,避免直接改配置文件
云服务器 注意:部分云平台(如 AWS、阿里云)使用 DHCP,不要随意改静态 IP
容器/虚拟机 若网络由外部管理(如 libvirt、Docker),可能需设为 unmanaged

📝 补充:连接名 vs 设备名

  • 设备名(Device) :物理/虚拟网卡名称,如 eth0, ens192, wlan0
  • 连接名(Connection) :NetworkManager 中的配置名称,可自定义(如 office-wifi, prod-static
  • 一个设备可以绑定多个连接,但同一时间只能激活一个
相关推荐
晴栀ay2 小时前
JS的超集——TypeScript
前端·react.js·typescript
EndingCoder2 小时前
高级类型:联合类型和类型别名
linux·服务器·前端·ubuntu·typescript
2301_765715142 小时前
Linux中组合使用多个命令的技巧与实现
linux·运维·chrome
Ulyanov2 小时前
高级可视化技术——让PyVista数据展示更专业
开发语言·前端·人工智能·python·tkinter·gui开发
开开心心_Every2 小时前
重复图片智能清理工具:快速查重批量删除
java·服务器·开发语言·前端·学习·edge·powerpoint
Coffeeee2 小时前
了解一下Android16更新事项,拿捏下一波适配
android·前端·google
亿元程序员2 小时前
拖尾特效怎么实现?Cocos : 开箱即用!
前端
Wpa.wk2 小时前
性能测试 - JMeter练习-JMeter录制Web端压测脚本操作步骤
java·前端·经验分享·jmeter·自动化
undefined在掘金390412 小时前
wpf 布局专题
前端