在Linux DHCP服务器(dhcpd)中,有几种方法可以限制IP地址的分配。以下是主要的配置方法:
在/etc/dhcp/dhcpd.conf
中为特定MAC地址分配固定IP:
host client1 {
hardware ethernet 00:1a:2b:3c:4d:5e;
fixed-address 192.168.1.100;
}
定义可分配的IP范围:
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;
}
使用allow
和deny
指令:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
# 只允许特定MAC地址
allow unknown-clients;
deny unknown-clients;
# 或针对特定MAC
host allowed-client {
hardware ethernet 00:1a:2b:3c:4d:5e;
}
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
max-lease-time 3600; # 限制租约时间为1小时
default-lease-time 1800; # 默认租约30分钟
}
class "allowed-clients" {
match if substring (hardware, 1, 3) = 00:1a:2b;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
pool {
allow members of "allowed-clients";
range 192.168.1.100 192.168.1.200;
}
}
DHCP服务器会记录已分配的IP在/var/lib/dhcp/dhcpd.leases
文件中,可以定期检查和管理。
检查配置文件语法:
dhcpd -t
重启DHCP服务:
systemctl restart isc-dhcp-server # 对于Debian/Ubuntu
systemctl restart dhcpd # 对于RHEL/CentOS
查看日志:
tail -f /var/log/syslog # Debian/Ubuntu
tail -f /var/log/messages # RHEL/CentOS
通过以上方法,您可以有效地控制DHCP服务器分配IP地址的范围和对象。