在Rocky Linux 9中使用nmcli配置静态IP和网关时,我遵循以下实践步骤并总结了常见挑战:
操作步骤
-
查看当前连接名称:
nmcli connection show
确认需修改的接口名(如
ens192
) -
配置静态IP和子网掩码:
sudo nmcli con mod [连接名] ipv4.addresses 192.168.1.100/24
⚠️ CIDR格式必须正确,否则会导致网络中断
-
设置网关:
sudo nmcli con mod [连接名] ipv4.gateway 192.168.1.1
需确保网关与IP同网段
-
指定DNS服务器:
sudo nmcli con mod [连接名] ipv4.dns "8.8.8.8 8.8.4.4"
-
修改IP获取方式:
sudo nmcli con mod [连接名] ipv4.method manual
-
应用配置:
sudo nmcli con down [连接名] && sudo nmcli con up [连接名]
常见挑战
-
连接重置失败:当接口处于关键服务运行时,重启连接可能导致短暂中断。建议通过
nmcli con reload
预加载配置 -
网关不生效:需检查路由表
ip route show
,遇到过因NetworkManager未正确推送默认路由的情况,手动添加:sudo ip route add default via 192.168.1.1
-
DNS覆盖问题:当/etc/resolv.conf被其他进程修改时,需设置:
sudo nmcli con mod [连接名] ipv4.ignore-auto-dns yes
-
多网卡冲突:在服务器配置多NIC时,曾遇到默认网关重复设置导致路由混乱。解决方案是指定metric值:
sudo nmcli con mod [连接名] ipv4.route-metric 100
-
配置验证:推荐使用组合命令验证:
ifconfig [接口名] && nmcli device show [接口名] | grep IP4
深度实践
- 生产环境中建议保留dhcp配置备份:
sudo cp /etc/sysconfig/network-scripts/ifcfg-[连接名] ~/
- 遇到NetworkManager不识别修改时,可尝试完全重启服务:
sudo systemctl restart NetworkManager
- 使用
nmtui
作为备用方案,当ssh连接不稳定时提供可视化修复途径