如何通过 nmcli 检查和修改当前网络连接的配置?

问题浏览数Icon
34
问题创建时间Icon
2025-05-14 13:59:00
作者头像
echoowl77

作为技术经理,建议通过以下步骤操作:

  1. 检查配置:nmcli connection show查看所有连接,nmcli connection show [名称]查看详情。
  2. 修改参数:如修改IP为静态,使用nmcli con mod [名称] ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 ipv4.method manual,完成后执行nmcli con reload并重启连接。
  3. 生产环境中务必提前备份配置文件(位于/etc/NetworkManager/system-connections/),修改后通过pingnslookup验证连通性。注意权限问题,关键操作需加sudo。

更多回答

作者头像
echoowl77
  1. 检查当前网络连接: nmcli connection show 查看所有连接配置 nmcli device status 查看设备状态

  2. 查看详细配置: nmcli connection show [连接名称]nmcli -p device show [接口名]

  3. 修改配置(需sudo权限):

    • 静态IP设置示例: sudo nmcli connection modify [连接名] ipv4.method manual \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 8.8.8.8
    • 修改后生效: sudo nmcli connection down [连接名] sudo nmcli connection up [连接名]
  4. 快速修改DNS(动态IP环境): sudo nmcli connection modify [连接名] ipv4.dns "8.8.8.8 8.8.4.4" sudo nmcli connection reload

作者头像
quickglow99

通过 nmcli connection show 查看当前网络连接的配置,使用 nmcli connection modify <连接名> <参数> <值> 修改配置(如IP地址、网关等)。

延伸知识点:nmcli的交互式编辑模式

使用 nmcli connection edit <连接名> 进入交互模式,可逐步修改多个参数。例如:

  1. 输入 print 查看所有配置项;
  2. 使用 set ipv4.addresses 192.168.1.10/24 修改IP;
  3. set ipv4.gateway 192.168.1.1 修改网关;
  4. save 保存更改;
  5. activate 重新激活连接。 此模式支持自动补全和参数校验,适合复杂配置修改。使用 desc <参数> 可查看参数说明,verify 检查配置合法性。
作者头像
qingfeng88

通过 nmcli 管理网络配置是虚拟化环境中网络调试的核心技能。以下为实践总结:

一、检查配置

  1. 查看当前连接状态

    nmcli connection show --active  # 显示所有激活的配置
    nmcli device status            # 设备物理层状态

    关键字段:CONNECTION(配置名称)、DEVICE(绑定网卡)、TYPE(连接类型)

  2. 深度解析配置细节

    nmcli connection show "Wired-1" | grep -E 'ipv4.(method|addresses|dns)'

    输出示例:ipv4.method: manual 表示静态IP,重点关注地址段冲突和DNS顺序

二、修改配置

案例:将DHCP改为静态IP

sudo nmcli con mod "Wired-1" \
ipv4.addresses 192.168.1.50/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8,1.1.1.1" \
ipv4.method manual

立即生效

nmcli con down "Wired-1" && nmcli con up "Wired-1"

三、典型故障场景

  1. 配置残留: DHCP与静态IP混合配置时,用ip addr flush dev eth0清除旧IP

  2. DNS不生效: 检查/etc/resolv.conf是否被其他服务覆盖,建议在nmcli中追加+ipv4.dns-search指定域名后缀

  3. 无线网络密钥错误

    nmcli c modify "WiFi-Office" wifi-sec.key-mgmt wpa-psk wifi-sec.psk "P@ssw0rd!"

    需特别注意特殊字符转义

四、高级技巧

  • 配置版本控制nmcli connection clone "Wired-1" "Wired-1-BACKUP" 创建配置快照
  • 批量部署: 通过nmcli connection edit进入交互模式,用批处理脚本配置多网卡
  • 日志追踪journalctl -u NetworkManager -f 实时监控配置应用过程

五、虚拟化环境特别注意事项

在KVM/qemu场景中,桥接网卡配置需确保:

nmcli con add type bridge ifname br0 stp no
nmcli con add type bridge-slave ifname eth0 master br0

避免因生成树协议(STP)导致虚拟机网络延迟

作者头像
mistgear99

用nmcli检查网络配置的话,直接输nmcli connection show就能看到所有连接的详细参数啦。想改配置的话,比如改IP或者DNS,用nmcli con mod 连接名 参数 新值,比如nmcli con mod eth0 ipv4.addresses 192.168.1.10/24,改完记得nmcli con down 连接名up一下生效。改错了别慌,配置文件在/etc/NetworkManager里能救回来~

作者头像
haifeng88

作为技术支持工程师,以下是通过 nmcli 检查和修改网络配置的常用方案:


1. 检查当前网络配置

  • 查看所有连接
    nmcli connection show
  • 查看具体连接的详细信息(例如连接名为 eth0):
    nmcli connection show eth0
  • 查看设备状态
    nmcli device status
    nmcli device show eth0  # 替换为实际设备名

2. 修改网络配置

  • 修改IP地址/DNS/网关(以 eth0 为例):

    # 设置静态IP和子网掩码
    sudo nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24
    
    # 设置网关
    sudo nmcli connection modify eth0 ipv4.gateway 192.168.1.1
    
    # 设置DNS(多个DNS用逗号分隔)
    sudo nmcli connection modify eth0 ipv4.dns "8.8.8.8,1.1.1.1"
    
    # 设置自动获取IP(DHCP)
    sudo nmcli connection modify eth0 ipv4.method auto
  • 应用配置变更
    sudo nmcli connection down eth0 && sudo nmcli connection up eth0

3. 注意事项

  • 操作前确认连接名和设备名(通过步骤1查询)
  • 修改静态IP时需确保与网络环境兼容
  • 若配置错误导致断网,可通过 sudo systemctl restart NetworkManager 恢复
  • 建议修改前备份配置:cp /etc/sysconfig/network-scripts/ifcfg-eth0 ~/