温馨提示×

debian dhcp怎样限制IP数

小樊
49
2026-09-07 22:04:11
栏目: 智能运维

在 Debian 上,如果你使用的是 ISC DHCP Server(isc-dhcp-server),可以通过 地址池(pool)范围 或 按 MAC 限制 来控制可分配的 IP 数量。下面按常见需求说明。


一、通过 DHCP 地址池限制总 IP 数(最常用)

DHCP 能分配的 IP 数量,本质上由 range 决定。

示例:只允许分配 10 个 IP

subnet 192.168.1.0 netmask 255.255.255.0 {
    option routers 192.168.1.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 8.8.8.8;

    pool {
        range 192.168.1.100 192.168.1.109;  # 只给 10 个 IP
    }
}

✅ 这样最多只能有 10 台设备获取到 IP。


二、限制某个网段 / VLAN 的 IP 数

如果有多 subnet,每个 subnet 单独控制:

subnet 192.168.10.0 netmask 255.255.255.0 {
    pool {
        range 192.168.10.10 192.168.10.19;  # 10 个
    }
}

subnet 192.168.20.0 netmask 255.255.255.0 {
    pool {
        range 192.168.20.10 192.168.20.29;  # 20 个
    }
}

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

1️⃣ 只允许某些 MAC 获取 IP

subnet 192.168.1.0 netmask 255.255.255.0 {
    pool {
        range 192.168.1.100 192.168.1.109;
        deny unknown-clients;
    }
}

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

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

✅ 只有登记 MAC 的设备能拿到 IP。


四、限制单个 MAC 只能一个 IP(默认行为)

ISC DHCP 默认 一个 MAC 一个租约,不需要额外配置。

如果你看到“一个 MAC 多个 IP”,通常是:

  • 客户端换了 hostname
  • 或使用了不同的 client-id

可加:

deny duplicates;

五、限制租约时间(间接控制数量)

default-lease-time 600;
max-lease-time 3600;

短时间租约 → 不用的 IP 更快回收。


六、配置文件位置

Debian 下通常是:

/etc/dhcp/dhcpd.conf

修改后重启:

systemctl restart isc-dhcp-server

七、总结

需求 方法
限制总 IP 数 控制 range
限制某网段 多 subnet
限制设备 deny unknown-clients + host
防滥用 短租约 + MAC 白名单

如果你能说明:

  • 是 服务器还是路由器
  • 想限制 总数 / 每台设备 / 某 VLAN

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

0 踩