在DHCP配置文件(通常是/etc/dhcp/dhcpd.conf)中,可以为特定的子网设置IP地址池,并使用range、pool或host声明来限制IP地址的分配。
示例:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.2;
}
在这个例子中,DHCP服务器只会从192.168.1.10到192.168.1.100的范围内分配IP地址。
2. 使用host声明为特定MAC地址分配固定IP地址
如果你想为特定的MAC地址分配一个固定的IP地址,可以使用host声明。
示例:
host specific-host {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.101;
}
在这个例子中,MAC地址为00:11:22:33:44:55的设备将总是获得IP地址192.168.1.101。
3. 使用deny unknown-clients;拒绝未知客户端
如果你只想允许已知的网络中的设备获取IP地址,可以在子网声明中添加deny unknown-clients;。
示例:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.2;
deny unknown-clients;
}
4. 使用allow members of限制特定网络段的客户端
你可以使用allow members of来限制只有特定网络段的客户端可以获取IP地址。
示例:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.2;
allow members of "trusted-network";
}
在这个例子中,只有属于trusted-network网络段的客户端可以获取IP地址。
5. 使用blacklist和whitelist
你可以在配置文件中使用blacklist和whitelist来进一步限制IP地址的分配。
示例:
blacklist 192.168.1.101 192.168.1.102;
whitelist 192.168.1.103 192.168.1.104;
在这个例子中,IP地址192.168.1.101和192.168.1.102将被拒绝分配,而192.168.1.103和192.168.1.104将被允许分配。
6. 重启DHCP服务器
在修改了配置文件后,记得重启DHCP服务器以使更改生效。
sudo systemctl restart isc-dhcp-server
通过这些方法,你可以灵活地控制Linux DHCP服务器的IP地址分配策略。