恢复Linux网络配置需同时备份静态配置文件(如/etc/network/interfaces、/etc/netplan/*.yaml、/etc/resolv.conf等)和运行时状态(如ip route show导出的路由表、iptables-save导出的防火墙规则),否则仅恢复配置文件会导致“配置还原但网络不通”。

恢复 Linux 网络配置,关键在于分清两类内容:一是静态配置文件(如接口地址、DNS、主机名),二是运行时状态(如路由表、iptables 规则、内核参数)。只备份配置文件,不保存当前生效的路由和防火墙规则,恢复后很可能“配置已还原,但网络不通”。下面按实际恢复场景拆解操作要点。
备份核心网络配置文件
这些文件定义系统重启后的基础网络行为,必须优先备份:
- /etc/network/interfaces(Debian/Ubuntu)或 /etc/sysconfig/network-scripts/ifcfg-*(RHEL/CentOS)——网卡 IP、子网、网关
- /etc/netplan/*.yaml(新版 Ubuntu)——YAML 格式声明式配置
- /etc/resolv.conf——DNS 服务器地址(注意:若使用 systemd-resolved,真实配置可能在 /etc/systemd/resolved.conf)
- /etc/hostname 和 /etc/hosts——主机标识与本地解析映射
建议用带时间戳的目录统一归档:
sudo cp -r /etc/network /etc/netplan /etc/resolv.conf /etc/hostname /etc/hosts /backup/network-$(date +%Y%m%d)
导出并保存当前路由表
ip route show 输出的是内核当前生效的路由,重启后会丢失。需单独导出:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 导出所有路由表(含主表、策略路由表):
sudo ip route show table all > /backup/route-all-$(date +%Y%m%d).txt - 若仅需主路由表(最常用):
sudo ip route show > /backup/route-main-$(date +%Y%m%d).txt - 额外备份自定义路由表名:
sudo cp /etc/iproute2/rt_tables /backup/rt_tables-$(date +%Y%m%d)
注意:不要用 ip route save(已废弃),也不要用 route -n(过时且信息不全)。
保存 iptables/firewalld 规则
防火墙规则同样属于运行时状态,需显式持久化:
-
iptables(传统方案):
备份:sudo iptables-save > /backup/iptables-$(date +%Y%m%d).rules
恢复:sudo iptables-restore -
firewalld(RHEL/CentOS 7+、Fedora):
先同步运行时到永久配置:sudo firewall-cmd --runtime-to-permanent
再备份整个配置目录:sudo cp -r /etc/firewalld /backup/firewalld-$(date +%Y%m%d)
恢复时的操作顺序不能错
错误顺序会导致中间态失效甚至断连。推荐步骤:
- 先恢复静态配置文件(如 interfaces 或 netplan YAML),但暂不重启服务
- 再恢复路由表:
sudo ip route flush table main
sudo ip route add default via 192.168.1.1 dev eth0(示例)
或批量导入:sudo bash -c "while read r; do ip route add \$r; done - 接着恢复防火墙规则(iptables-restore 或 firewalld reload)
- 最后启用网络服务:
Debian/Ubuntu:sudo systemctl restart networking
Netplan:sudo netplan apply
RHEL/CentOS:sudo systemctl restart network
恢复前务必确认控制台直连或带外访问可用,避免远程操作失联。


















