在 Debian 上通过 DHCP 服务器(通常是 ISC DHCP Server,即 isc-dhcp-server) 限制网段,常见有几种做法,取决于你想“限制”的含义。下面按常见场景说明。
sudo apt update
sudo apt install isc-dhcp-server
编辑:
sudo nano /etc/default/isc-dhcp-server
示例:
INTERFACESv4="eth0"
编辑:
sudo nano /etc/dhcp/dhcpd.conf
示例:只给 192.168.10.0/24 分配 IP
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
}
✅ 效果:
只有在 192.168.10.0/24 这个网段的客户端能拿到 IP,其他网段不会分配。
如果你想“限制设备”而不是网段:
host pc1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.10.50;
}
不在列表中的设备:
deny unknown-clients;
host block1 {
hardware ethernet aa:bb:cc:dd:ee:ff;
deny booting;
}
如果服务器有多网卡,但只想在一个网段提供 DHCP:
INTERFACESv4="eth0"
并确保其他网卡 不配置 subnet。
DHCP 是广播协议,但也可用 iptables 限制:
iptables -A INPUT -i eth1 -p udp --dport 67 -j DROP
sudo dhcpd -t
sudo systemctl restart isc-dhcp-server
查看日志:
journalctl -u isc-dhcp-server
| 需求 | 方法 |
|---|---|
| 限制分配网段 | 配置 subnet |
| 限制设备 | host + hardware ethernet |
| 禁止未知设备 | deny unknown-clients |
| 多网卡隔离 | INTERFACESv4 |
如果你能说明:
我可以给你更精确的配置示例。