2.3.8 网络配置变更与回滚策略
网络配置变更与回滚策略#
网络配置变更直接影响主机可达性与业务连续性,需遵循“可验证、可回退、可追踪”的原则。变更必须包含:基线采集、临时验证、持久化写入、回滚预案与验证清单。以下给出可直接执行的完整流程、命令与演练。
1. 变更原理与流程草图#
2. 变更前准备与评估(含示例)#
基线采集与备份:
# 采集当前网络状态
ip addr
ip route
resolvectl status
# NetworkManager 连接信息(RHEL/CentOS/Ubuntu常见)
nmcli con show
nmcli dev status
# 备份配置文件
sudo mkdir -p /root/net-backup
sudo cp -a /etc/sysconfig/network-scripts/ifcfg-* /root/net-backup/ 2>/dev/null
sudo cp -a /etc/netplan/*.yaml /root/net-backup/ 2>/dev/null
目标确认与影响评估清单:
- 是否变更默认路由 default via
- 是否涉及管理网段/带外口
- 集群心跳/存储网络是否共用网卡
3. 临时变更验证与持久化(含命令解释)#
场景:新增管理IP,验证后再写入持久配置
临时添加IP与路由(不重启服务,易回滚):
# 临时添加IP(示例网卡ens33)
sudo ip addr add 192.168.10.50/24 dev ens33
# 临时添加备用路由(metric越小优先级越高)
sudo ip route add default via 192.168.10.1 metric 200
# 验证路由命中
ip route get 8.8.8.8
验证连通性:
ping -c 3 192.168.10.1
curl -sS http://example.com | head -n 3
持久化配置(NetworkManager 示例):
# 假设连接名为 "ens33"
sudo nmcli con mod ens33 ipv4.addresses "192.168.10.50/24"
sudo nmcli con mod ens33 ipv4.gateway "192.168.10.1"
sudo nmcli con mod ens33 ipv4.dns "223.5.5.5 114.114.114.114"
sudo nmcli con mod ens33 ipv4.method manual
sudo nmcli con up ens33
命令说明:
- ip addr add:立即生效但不写入持久配置
- nmcli con mod:写入持久配置,重启连接后生效
- ip route get <dst>:确认实际走的路由与网关
4. 回滚策略(含定时回滚示例)#
方案一:配置文件回滚
# 恢复备份
sudo cp -a /root/net-backup/ifcfg-* /etc/sysconfig/network-scripts/ 2>/dev/null
sudo cp -a /root/net-backup/*.yaml /etc/netplan/ 2>/dev/null
# 重启网络服务
sudo systemctl restart NetworkManager # RHEL/CentOS/Ubuntu常见
sudo netplan apply # Ubuntu使用netplan时
方案二:临时变更撤销
sudo ip addr del 192.168.10.50/24 dev ens33
sudo ip route del default via 192.168.10.1 metric 200
方案三:定时回滚(防断连)
# 5分钟后自动回滚,验证成功可取消
echo "systemctl restart NetworkManager" | at now + 5 minutes
# 查看与取消任务
atq
atrm <job_id>
5. 高风险变更防断连策略(含示例)#
双通道保留原IP并新增新IP:
# 原IP不动,新IP先加
sudo ip addr add 10.0.0.50/24 dev ens33
# 验证新IP可达
ping -c 3 10.0.0.1
路由保护(先加备选路由):
sudo ip route add default via 10.0.0.1 metric 150
ip route show | grep default
6. 变更验证清单(含示例)#
# 基础连通性
ping -c 3 <gw>
# 路由正确性
ip route get 1.1.1.1
# DNS解析
resolvectl query example.com
# 服务可用性
curl -I http://<service_ip>:<port>
7. 排错与恢复(含明确命令)#
常见问题 1:变更后远程断连
- 使用控制台/BMC登录,恢复备份并重启网络:
sudo cp -a /root/net-backup/ifcfg-* /etc/sysconfig/network-scripts/
sudo systemctl restart NetworkManager
常见问题 2:DNS解析异常
cat /etc/resolv.conf
resolvectl status
sudo systemctl restart systemd-resolved
常见问题 3:路由不生效
ip route show
# 检查metric优先级
ip route | grep default
8. 练习与演练(必须完成)#
- 在测试机上新增一个临时IP,验证可达后删除该IP。
- 目标命令:ip addr add/ip addr del - 设置定时回滚任务,5分钟后恢复网络;在3分钟内取消回滚。
- 目标命令:at/atrm - 使用
ip route get验证访问外网的实际路由与网关。
- 记录输出并说明是否符合预期
9. 变更记录与审计要点#
- 记录:变更时间、执行人、配置差异、验证结果、回滚方案
- 建议:将
/etc/sysconfig/network-scripts/或/etc/netplan/置于版本管理