Linux DHCP备份与恢复方法
导读:Linux DHCP备份与恢复方法 一 适用场景与准备 适用软件:主流为 ISC DHCP Server(isc-dhcp-server) 与 dnsmasq。先确认正在使用的软件与版本,避免路径与服务名不一致。 关键数据:配置文件(如...
Linux DHCP备份与恢复方法
一 适用场景与准备
- 适用软件:主流为 ISC DHCP Server(isc-dhcp-server) 与 dnsmasq。先确认正在使用的软件与版本,避免路径与服务名不一致。
- 关键数据:配置文件(如 /etc/dhcp/dhcpd.conf 或 /etc/dnsmasq.conf)与租约数据库(如 /var/lib/dhcp/dhcpd.leases)。租约文件记录客户端 IP 分配状态,对业务连续性很重要。
- 建议做法:备份前尽量保持数据一致性(必要时短暂停止服务)、校验配置语法、将备份文件存放到 异地/远程 位置,并做好 定期与可回滚 管理。
二 备份步骤
- ISC DHCP Server
- 配置文件:
- 主配置:/etc/dhcp/dhcpd.conf
- 启动参数(部分发行版):/etc/default/isc-dhcp-server
- IPv6(如启用):/etc/dhcp/dhcpd6.conf
- 租约数据库:/var/lib/dhcp/dhcpd.leases
- 命令示例(可先停服务以保证一致性):
- 停服务:
sudo systemctl stop isc-dhcp-server - 备份:
sudo cp /etc/dhcp/dhcpd.conf /path/to/backup/dhcpd.conf.bak - 备份租约:
sudo cp /var/lib/dhcp/dhcpd.leases /path/to/backup/dhcpd.leases.bak - 备份启动参数:
sudo cp /etc/default/isc-dhcp-server /path/to/backup/isc-dhcp-server.bak - 归档备份:
sudo tar -czvf /backup/dhcp_backup_$(date +%F).tar.gz /etc/dhcp /var/lib/dhcp/dhcpd.leases
- 停服务:
- 配置文件:
- dnsmasq
- 配置文件:/etc/dnsmasq.conf
- 命令示例:
- 备份:
sudo cp /etc/dnsmasq.conf /path/to/backup/dnsmasq.conf.bak - 归档备份:
sudo tar -czvf /backup/dnsmasq_backup_$(date +%F).tar.gz /etc/dnsmasq.conf
- 备份:
- 远程/增量备份建议
- 使用 rsync 同步到远程主机:
sudo rsync -avz /etc/dhcp/ user@backup:/backup/dhcp/ - 使用 cron 定时执行备份脚本,保留多份历史以便回滚。
- 使用 rsync 同步到远程主机:
三 恢复步骤
- ISC DHCP Server
- 停服务:
sudo systemctl stop isc-dhcp-server - 恢复文件:
sudo cp /path/to/backup/dhcpd.conf.bak /etc/dhcp/dhcpd.confsudo cp /path/to/backup/dhcpd.leases.bak /var/lib/dhcp/dhcpd.leases- 如存在:
sudo cp /path/to/backup/isc-dhcp-server.bak /etc/default/isc-dhcp-server
- 校验配置:
sudo dhcpd -t - 启动服务:
sudo systemctl start isc-dhcp-server - 状态与端口检查:
- 状态:
sudo systemctl status isc-dhcp-server - 端口:
sudo ss -ulnp | grep ':67\b'
- 状态:
- 停服务:
- dnsmasq
- 停服务:
sudo systemctl stop dnsmasq - 恢复文件:
sudo cp /path/to/backup/dnsmasq.conf.bak /etc/dnsmasq.conf - 启动服务:
sudo systemctl start dnsmasq - 状态与端口检查:
- 状态:
sudo systemctl status dnsmasq - 端口:
sudo ss -ulnp | grep ':67\b'
- 状态:
- 停服务:
- 提示:若租约文件缺失,服务可能仍能启动,但已分配租约信息会丢失,可能导致 IP 冲突 或 租约时间异常,请优先恢复租约文件。
四 自动化与验证
- 自动化备份脚本示例
- 单文件备份:
#!/bin/bash BACKUP_DIR="/backup" DATE=$(date +%Y%m%d%H%M%S) mkdir -p "$BACKUP_DIR" cp /etc/dhcp/dhcpd.conf "$BACKUP_DIR/dhcpd.conf.$DATE.bak" cp /var/lib/dhcp/dhcpd.leases "$BACKUP_DIR/dhcpd.leases.$DATE.bak" echo "Backup completed at $DATE" | tee -a "$BACKUP_DIR/backup.log"
- 归档与远程同步:
tar -czvf "$BACKUP_DIR/dhcp_backup_$DATE.tar.gz" /etc/dhcp /var/lib/dhcp/dhcpd.leasesrsync -avz "$BACKUP_DIR/" user@backup:/backup/dhcp/
- 定时任务(每天 02:00 执行):
0 2 * * * /usr/local/bin/backup_dhcp.sh
- 单文件备份:
- 验证要点
- 配置语法:
sudo dhcpd -t(仅 ISC) - 服务状态:
sudo systemctl status isc-dhcp-server或sudo systemctl status dnsmasq - 端口监听:
sudo ss -ulnp | grep ':67\b' - 日志排查:
sudo journalctl -u isc-dhcp-server -xe或sudo tail -n 200 /var/log/syslog | grep dhcp - 业务侧验证:在客户端执行
ip a/ipconfig /all确认可正常获取 IP 与 网关/DNS
- 配置语法:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux DHCP备份与恢复方法
本文地址: https://pptw.com/jishu/779656.html
