温馨提示×

ubuntu dhcp怎样限制地址

小樊
45
2026-10-27 15:10:31
栏目: 智能运维

在 Ubuntu 上通过 DHCP(通常是ISC DHCP Server) 来“限制地址”,常见有几种含义和做法。下面按最常见需求给你说明。


一、限制 DHCP 只分配指定范围的 IP(地址池)

适用于:只允许某一段 IP 通过 DHCP 获取

编辑配置文件:

sudo nano /etc/dhcp/dhcpd.conf

示例:

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

意思是:
✅ 只分配 192.168.1.100 ~ 200
❌ 其他 IP 不分配


二、限制只有特定 MAC 地址能获取 IP(白名单)

适用于:只允许公司设备上网

host pc1 {
  hardware ethernet 00:11:22:33:44:55;
  fixed-address 192.168.1.101;
}

或者更严格:
不写 range,只写 host

subnet 192.168.1.0 netmask 255.255.255.0 {
  option routers 192.168.1.1;
}

host pc1 {
  hardware ethernet 00:11:22:33:44:55;
  fixed-address 192.168.1.101;
}

✅ 只有列表里的 MAC 能拿到 IP
❌ 其他设备无法获取


三、禁止某些 MAC 地址(黑名单)

ISC DHCP 不支持直接 deny MAC,但可以用“不分配”的方式:

host block1 {
  hardware ethernet AA:BB:CC:DD:EE:FF;
  fixed-address 192.168.1.254;  # 无效或隔离IP
}

或配合防火墙(推荐):

sudo iptables -A INPUT -m mac --mac-source AA:BB:CC:DD:EE:FF -j DROP

四、限制某网段 / 网卡只服务特定客户端

如果你有多网卡:

sudo nano /etc/default/isc-dhcp-server
INTERFACESv4="eth0"

只在该网卡提供 DHCP。


五、限制租约时间(防止长期占用)

default-lease-time 600;
max-lease-time 7200;

六、修改后重启服务

sudo systemctl restart isc-dhcp-server

查看状态:

sudo systemctl status isc-dhcp-server

常见组合方案(推荐)

✅ 企业环境

  • 固定 IP + MAC 白名单
  • 配合交换机端口绑定

✅ 公共网络

  • 小地址池
  • 短租约时间

如果你能说明:

  • 用的是 Ubuntu 版本
  • 是 isc-dhcp / dnsmasq / kea
  • 想限制的是 IP范围 / MAC / 用户数

我可以给你一套精确配置示例。

0 踩