在 Ubuntu 上“限制 DHCP 只分配某个网段”,通常是指配置 DHCP 服务器,使其只在指定子网(网段)内分配 IP。下面分常见场景说明。
isc-dhcp-server(最常见)sudo apt update
sudo apt install isc-dhcp-server
编辑:
sudo nano /etc/dhcp/dhcpd.conf
例如只分配 192.168.10.0/24:
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;
}
✅ 只写这个 subnet,不写其他 subnet,就“限制”在该网段
编辑:
sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="eth0"
或 Ubuntu 20.04+:
INTERFACES="eth0"
sudo systemctl restart isc-dhcp-server
dnsmasq(轻量级)sudo apt install dnsmasq
编辑:
sudo nano /etc/dnsmasq.conf
interface=eth0
dhcp-range=192.168.10.100,192.168.10.200,255.255.255.0,12h
✅ 只在 192.168.10.0/24 分配
sudo systemctl restart dnsmasq
host pc1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.10.50;
}
ISC DHCP 本身不会跨网段分配,只要:
即可“天然限制”
如果 DHCP 服务器有多网卡:
sudo ufw deny in on eth1 to any port 67
❌ DHCP 没生效
✅ 检查网卡 IP 是否在该网段
❌ 分配了错误网段
✅ 删除多余的 subnet 配置
❌ 客户端拿不到 IP
✅ journalctl -u isc-dhcp-server
如果你能告诉我:
isc-dhcp-server 还是 dnsmasq我可以给你精确配置示例。