在 Ubuntu 上通过 DHCP(通常是 isc-dhcp-server)限制用户,常见做法有几种,取决于你想“限制”的含义:
原理:只给 MAC 地址在列表中的设备分配 IP。
sudo apt update
sudo apt install isc-dhcp-server
sudo nano /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
deny unknown-clients;
}
host pc1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.10;
}
host pc2 {
hardware ethernet AA:BB:CC:DD:EE:FF;
fixed-address 192.168.1.11;
}
✅ 效果:
原理:拒绝特定 MAC 地址
deny booting;
host bad-user {
hardware ethernet 00:99:88:77:66:55;
deny booting;
}
或更简单:
host block1 {
hardware ethernet 00:99:88:77:66:55;
fixed-address 192.168.1.200;
}
# 然后防火墙限制 192.168.1.200
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.120;
}
✅ 最多 21 个用户
DHCP 只能管 IP,真正的“限制用户”建议配合:
ufwiptables例如禁止未知 IP 上网:
sudo ufw deny from 192.168.1.0/24
sudo ufw allow from 192.168.1.10
dhcp-host=00:11:22:33:44:55,192.168.1.10
dhcp-ignore=tag:!known
| 需求 | 方法 |
|---|---|
| 只允许某些人上网 | deny unknown-clients |
| 禁止某人 | 黑名单 MAC |
| 限制人数 | range |
| 更强控制 | DHCP + 防火墙 |
如果你能说明:
我可以给你更精确的配置。