在 Debian 上配置 DHCP(通常使用 ISC DHCP Server,即 isc-dhcp-server)来做 IP 与 MAC 绑定(静态绑定 / 地址保留),本质上是把绑定信息写进 DHCP 配置文件。下面按常见场景说明。
sudo apt update
sudo apt install isc-dhcp-server
主配置文件通常是:
/etc/dhcp/dhcpd.conf
接口配置文件(指定监听网卡):
/etc/default/isc-dhcp-server
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
host pc01 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.50;
}
说明:
host pc01:主机名(可自定义)hardware ethernet:客户端 MACfixed-address:绑定的 IP(不能在 range 内)创建绑定文件:
/etc/dhcp/dhcpd.hosts
写入:
host pc01 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.50;
}
host pc02 {
hardware ethernet 00:aa:bb:cc:dd:ee;
fixed-address 192.168.1.51;
}
在 dhcpd.conf 中引入:
include "/etc/dhcp/dhcpd.hosts";
✅ 适合脚本生成、批量导入
如果你有:
pc01,00:11:22:33:44:55,192.168.1.50
pc02,00:aa:bb:cc:dd:ee,192.168.1.51
生成配置:
awk -F, '{
print "host "$1" {"
print " hardware ethernet "$2";"
print " fixed-address "$3";"
print "}"
}' hosts.csv > /etc/dhcp/dhcpd.hosts
sudo systemctl restart isc-dhcp-server
检查状态:
sudo systemctl status isc-dhcp-server
查看日志:
journalctl -u isc-dhcp-server -f
✅ fixed-address 不能在 range 范围内
✅ MAC 格式必须是 xx:xx:xx:xx:xx:xx
✅ 修改配置后必须重启或 reload
✅ 若使用 HA(failover),语法需额外配置
如果你系统是 dnsmasq 而不是 isc-dhcp-server,绑定方式不同:
dhcp-host=00:11:22:33:44:55,192.168.1.50
如果你愿意,可以告诉我:
我可以给你更精确的配置示例。