温馨提示×

ubuntu dhcp如何限制范围

小樊
45
2026-09-04 00:03:21
栏目: 智能运维

在 Ubuntu 上,如果你是用 ISC DHCP Server(isc-dhcp-server 来提供 DHCP 服务,可以通过修改配置文件 限制分配 IP 地址的范围。下面按常见场景说明。


一、基本:限制 DHCP 地址池范围

编辑 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 不会被自动分配

二、排除某些 IP(保留但不分配)

如果你想 保留一部分 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 不会被分配

三、按 MAC 地址限制(只允许特定设备)

1️⃣ 只允许指定设备获取 IP(白名单)

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;
}

⚠️ 注意:

  • ISC DHCP 不能原生“拒绝未知 MAC”
  • 通常需要配合防火墙或 dnsmasq

四、使用 dnsmasq(更简单,推荐)

如果你只是做 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

✅ 支持:

  • 限制范围
  • MAC 绑定
  • 拒绝未知设备(可配合 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
多网卡 指定接口

如果你能告诉我:

  • 用的是 isc-dhcp-server 还是 dnsmasq
  • 是想 限制 IP 段 / 限制设备 / 禁止未知设备

我可以给你更精确的配置示例。

0