在Linux中,DHCP(动态主机配置协议)作用域是指DHCP服务器能够分配IP地址的范围。通过定义作用域,DHCP服务器可以管理网络中的IP地址分配,确保每个设备都能获得唯一的IP地址。以下是定义DHCP作用域的基本步骤:
首先,确保你的Linux系统上安装了DHCP服务器软件。常用的DHCP服务器软件包括ISC DHCP Server(在Debian/Ubuntu上通常是isc-dhcp-server,在Red Hat/CentOS上通常是dhcp)。
sudo apt update
sudo apt install isc-dhcp-server
sudo yum install dhcp
编辑DHCP服务器的配置文件,通常位于/etc/dhcp/dhcpd.conf。
# 定义全局选项
option domain-name "example.com";
option domain-name-servers ns1.example.com, ns2.example.com;
# 定义子网
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100; # 定义IP地址范围
option routers 192.168.1.1; # 默认网关
option subnet-mask 255.255.255.0; # 子网掩码
option broadcast-address 192.168.1.255; # 广播地址
default-lease-time 600; # 默认租约时间(秒)
max-lease-time 7200; # 最大租约时间(秒)
}
在配置文件中,通过subnet指令定义作用域。每个subnet块代表一个独立的作用域。
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 broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
}
启动DHCP服务器并设置为开机自启动。
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl start dhcpd
sudo systemctl enable dhcpd
确保DHCP服务器正在运行并且能够分配IP地址。你可以使用dhcp-lease-list命令查看当前的租约信息。
sudo dhcp-lease-list
确保防火墙允许DHCP流量通过。通常需要允许UDP端口67(DHCP服务器)和68(DHCP客户端)。
ufw:sudo ufw allow 67/udp
sudo ufw allow 68/udp
firewalld:sudo firewall-cmd --permanent --add-service=dhcp
sudo firewall-cmd --reload
通过以上步骤,你可以在Linux系统中定义和管理DHCP作用域,确保网络中的设备能够正确获取IP地址。