Centos网络接口的备份和恢复

pop*_*nuk 5 networking backup configuration centos vlan

我有一台运行 Centos 7 的服务器,需要重新启动才能升级某些软件。

一些物理网卡每个都有大约 5-10 个 VLAN 接口。它们每周/每月都会发生变化,因此将详细信息存储/etc/sysconfig/network-scripts在重新启动后保持不变是不切实际的。

是否有一种简单的方法可以拍摄当前网络堆栈的快照并在重新启动后恢复?类似于您可以保存/恢复iptables规则的方式?

我发现了几个对 的引用,system-config-network-cmd但我很担心使用这个工具,以防它覆盖我们所拥有的物理接口的静态配置/etc/sysconfig/network-scripts

谢谢!

Tim*_*edy 0

Iptables 是您提出的问题中最简单的部分。

iptables-save可用于保存当前的 iptables 规则,然后可以使用iptables-restore.

# backup current iptables rules
iptables-save > /root/iptables-$(date +%F).save


# restore a previous set of iptables-rules
iptables-restore < /root/iptables-<date of file to restore>.save
Run Code Online (Sandbox Code Playgroud)

对于任务的网络部分,如果您不使用“网络管理器”服务(许多人在服务器上不使用该服务),则可以使用system-config-network-cmd或以后的替代品,例如nmtui| nmcli不会做太多事。

最初,您必须编写自己的解决方案脚本,该解决方案看起来类似于捕获 的输出ip addr show,并解析它以创建 ip 批处理文件(请参阅: https: //support.cumulusnetworks.com/hc/en-us/ articles/202395708-Bringing-up-Large-Networks-Using-ip-batch获取相关有用信息),然后通过 重播该批处理文件ip --batch <batchfile>,并根据您的详细程度进行调整。您需要 MAC 相同吗?其他设备选项?有具体的vlan吗?或者仅仅是 IP 地址都在同一子网上?哦,ip route show如果您配置了重启后需要的任何临时路由,您可能也想捕获 。

从长远来看,也许可以考虑使用 Ansible(或类似的)来管理临时iptables规则和临时网络接口配置的部​​署。然后你就可以重播你的剧本,让一切恢复到原来的样子。