在 Ubuntu 上,如果你是用 ISC DHCP Server(isc-dhcp-server) 来提供 DHCP 服务,可以通过修改配置文件 限制分配 IP 地址的范围。下面按常见场景说明。
编辑 DHCP 配置文件:
sudo nano /etc/dhcp/dhcpd.conf
示例(只分配 192.168.1.100 ~ 192.168.1.200):
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;
}
✅ 效果:
100–200如果你想 保留一部分 IP 不分配,可以用 range 分段:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.150;
range 192.168.1.160 192.168.1.200;
}
这样:
151–159 不会被分配subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}
host pc1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.101;
}
⚠️ 注意:
如果你只是做 DHCP + DNS,Ubuntu 上 dnsmasq 更轻量:
sudo apt install dnsmasq
编辑:
sudo nano /etc/dnsmasq.conf
dhcp-range=192.168.1.100,192.168.1.200,12h
dhcp-host=00:11:22:33:44:55,192.168.1.101
✅ 支持:
dhcp-ignore)如果你有多网卡,可指定接口:
sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="eth0"
sudo systemctl restart isc-dhcp-server
# 或
sudo systemctl restart dnsmasq
查看状态:
journalctl -u isc-dhcp-server
| 需求 | 方法 |
|---|---|
| 限制 IP 范围 | range |
| 排除 IP | 分段 range |
| 绑定 MAC | host |
| 更严格限制 | dnsmasq |
| 多网卡 | 指定接口 |
如果你能告诉我:
我可以给你更精确的配置示例。