温馨提示×

怎样迁移linux dhcp服务

小樊
50
2026-09-27 22:41:31
栏目: 智能运维

下面按常见场景给你讲一下 Linux 下 DHCP 服务(通常是 ISC DHCP / dhcpd)的迁移方法。如果你用的是 dnsmasq 或 Kea DHCP,我也可以单独说。


一、迁移前准备

1. 确认当前 DHCP 服务类型

ps aux | grep dhcp
rpm -qa | grep dhcp     # CentOS/RHEL
dpkg -l | grep isc-dhcp # Debian/Ubuntu

常见:

  • ISC DHCP:dhcpd
  • dnsmasq:dnsmasq
  • Kea:kea-dhcp4

2. 查看当前配置文件位置

# ISC DHCP
/etc/dhcp/dhcpd.conf
/var/lib/dhcpd/dhcpd.leases

# dnsmasq
/etc/dnsmasq.conf
/var/lib/misc/dnsmasq.leases

二、ISC DHCP 迁移(最典型)

1. 停止原服务器 DHCP 服务

systemctl stop dhcpd
systemctl disable dhcpd

⚠️ 非常重要:旧服务器必须停,否则会和新服务器冲突。


2. 复制配置文件和租约文件

在原服务器执行:

scp /etc/dhcp/dhcpd.conf root@新服务器:/etc/dhcp/
scp /var/lib/dhcpd/dhcpd.leases root@新服务器:/var/lib/dhcpd/

3. 新服务器安装 DHCP

# CentOS/RHEL
yum install dhcp -y

# Ubuntu/Debian
apt install isc-dhcp-server -y

4. 修改监听网卡(如有)

# Ubuntu
/etc/default/isc-dhcp-server
INTERFACESv4="eth0"

# CentOS
/etc/sysconfig/dhcpd
DHCPDARGS="eth0"

5. 启动并验证

systemctl start dhcpd
systemctl enable dhcpd

查看日志:

journalctl -u dhcpd -f

三、迁移注意事项(重点)

✅ 1. 子网和网关不能冲突

确保:

  • 新服务器 IP 在原 DHCP 子网内
  • 网关、DNS 配置一致

✅ 2. 防止“双 DHCP”

网络中只能有一个 DHCP 服务器
否则客户端会获得到错误地址


✅ 3. 租约文件可不清空

保留 dhcpd.leases 可避免 IP 冲突


✅ 4. 防火墙

firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload

四、dnsmasq 迁移(简要)

scp /etc/dnsmasq.conf 新服务器:/etc/
scp /var/lib/misc/dnsmasq.leases 新服务器:/var/lib/misc/
systemctl stop dnsmasq
systemctl start dnsmasq

五、是否要我帮你做具体方案?

你可以告诉我:

  1. 当前系统(CentOS / Ubuntu / 其他)
  2. 使用的 DHCP 软件
  3. 是同网段迁移还是跨网段/跨机房

我可以直接给你一步一步可执行的命令。

0 踩