首页主机资讯Linux DHCP备份与恢复方法

Linux DHCP备份与恢复方法

时间2026-01-15 07:46:04发布访客分类主机资讯浏览540
导读: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 定时执行备份脚本,保留多份历史以便回滚。

三 恢复步骤

  • ISC DHCP Server
    • 停服务:sudo systemctl stop isc-dhcp-server
    • 恢复文件:
      • sudo cp /path/to/backup/dhcpd.conf.bak /etc/dhcp/dhcpd.conf
      • sudo 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.leases
      • rsync -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-serversudo systemctl status dnsmasq
    • 端口监听:sudo ss -ulnp | grep ':67\b'
    • 日志排查:sudo journalctl -u isc-dhcp-server -xesudo 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
Linux DHCP客户端故障怎么办 Linux中DHCP作用域怎么定义

游客 回复需填写必要信息