在 Linux 环境下进行 DHCP 服务迁移,通常是从一台运行 DHCP 服务器的机器(源服务器)迁移到另一台机器(目标服务器),常见场景包括:
下面以 ISC DHCP 迁移 为例,介绍通用、安全的迁移步骤。
在源服务器上查看:
ps aux | grep dhcpd
netstat -tunlp | grep :67
确认:
/etc/dhcp/dhcpd.conf)/var/lib/dhcpd/dhcpd.leases)Ubuntu / Debian
apt update
apt install isc-dhcp-server
CentOS / Rocky / Alma
yum install dhcp-server
# 或
dnf install dhcp-server
在源服务器:
scp /etc/dhcp/dhcpd.conf root@目标IP:/etc/dhcp/
如有额外包含文件(如 subnet.conf),也要一起拷贝。
租约文件记录了当前已分配 IP,避免 IP 冲突。
源服务器:
scp /var/lib/dhcpd/dhcpd.leases root@目标IP:/var/lib/dhcpd/
注意:
- Ubuntu 路径可能是
/var/lib/dhcp/dhcpd.leases- CentOS 是
/var/lib/dhcpd/dhcpd.leases
Ubuntu:
vi /etc/default/isc-dhcp-server
INTERFACESv4="eth0"
CentOS:
vi /etc/sysconfig/dhcpd
DHCPDARGS="eth0"
dhcpd -t -cf /etc/dhcp/dhcpd.conf
无报错再进行下一步。
systemctl stop isc-dhcp-server
# 或
systemctl stop dhcpd
systemctl start isc-dhcp-server
systemctl enable isc-dhcp-server
若网络中只能有一个 DHCP 服务器,务必确保旧服务器已关闭。
journalctl -u isc-dhcp-server
# 或
tail -f /var/log/messages
dhclient -r
dhclient
ip addr
cat /var/lib/dhcpd/dhcpd.leases
说明还有 DHCP 在运行,确认源服务器已停。
chown root:root /etc/dhcp/dhcpd.conf
chmod 644 /etc/dhcp/dhcpd.conf
确保 UDP 67/68 放行:
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
步骤类似,但文件不同:
/etc/kea/kea-dhcp4.conf如果你能告诉我:
我可以给你更精确的迁移方案。