通过 nmcli 管理网络配置是虚拟化环境中网络调试的核心技能。以下为实践总结:
一、检查配置
-
查看当前连接状态:
nmcli connection show --active # 显示所有激活的配置
nmcli device status # 设备物理层状态
关键字段:CONNECTION
(配置名称)、DEVICE
(绑定网卡)、TYPE
(连接类型)
-
深度解析配置细节:
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"
三、典型故障场景
-
配置残留:
DHCP与静态IP混合配置时,用ip addr flush dev eth0
清除旧IP
-
DNS不生效:
检查/etc/resolv.conf
是否被其他服务覆盖,建议在nmcli中追加+ipv4.dns-search
指定域名后缀
-
无线网络密钥错误:
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)导致虚拟机网络延迟