在CentOS上搭建DHCP服务器教程
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络服务,用于自动分配IP地址和其他网络配置信息给连接到网络的设备,在本教程中,我们将介绍如何在CentOS上搭建一个简单的DHCP服务器。
安装DHCP服务器软件
1、我们需要安装ISC DHCP服务器软件,在终端中输入以下命令:
sudo yum install isc-dhcp-server
2、安装完成后,启动并设置开机自启动DHCP服务:
sudo systemctl start isc-dhcp-server sudo systemctl enable isc-dhcp-server
配置DHCP服务器
1、配置文件位于/etc/dhcp/dhcpd.conf
,使用文本编辑器打开文件:
sudo vi /etc/dhcp/dhcpd.conf
2、编辑配置文件,添加以下内容:
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; option domain-name-servers 8.8.8.8, 8.8.4.4; option routers 192.168.1.1; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200; }
这里,我们配置了一个子网192.168.1.0
,子网掩码为255.255.255.0
,IP地址范围为192.168.1.10
到192.168.1.100
,我们还设置了DNS服务器(谷歌的公共DNS服务器)、路由器地址和广播地址,默认租期为600秒,最大租期为7200秒。
3、保存并退出配置文件。
重启DHCP服务以应用更改
sudo systemctl restart isc-dhcp-server
测试DHCP服务器
在客户端设备上,将其网络设置为自动获取IP地址,然后使用ipconfig
或ifconfig
命令查看是否成功获取到了IP地址,如果成功获取到了IP地址,说明DHCP服务器已经正常工作。
配置防火墙以允许DHCP流量
默认情况下,CentOS的防火墙会阻止DHCP流量,我们需要允许UDP端口67
和68
上的DHCP流量,执行以下命令:
sudo firewall-cmd --permanent --add-port=67/udp sudo firewall-cmd --permanent --add-port=68/udp sudo firewall-cmd --reload
至此,我们已经在CentOS上搭建了一个简单的DHCP服务器,接下来,我们可以继续配置其他高级功能,如子网划分、静态IP地址分配等。
相关问题与解答:
问题1:如何查看已分配的IP地址?
答:可以使用以下命令查看已分配的IP地址:
sudo ipcalc -n -b subnet_address + reserved_address_count + network_address + broadcast_address | grep "Address:" | cut -d: -f2 -f3 | sort -u -n -k3,3n -k4,4n -t . -k1,1n -k2,2n | egrep -v "^(lo|::1)$" | head -n +3 | tail -n +2 | xargs echo "IP地址范围:{} {}" >> ip_ranges.txt && cat ip_ranges.txt && rm -f ip_ranges.txt && echo "" && echo "已分配的IP地址:" && cat /var/lib/dhcp/dhclient.leases | grep leased | cut -d ' ' -f5 | sort -u -n -k3,3n -k4,4n -t . -k1,1n -k2,2n | egrep -v "^(lo|::1)$" | head -n +3 | tail -n +2 | xargs echo "IP地址:{}" >> assigned_ips.txt && cat assigned_ips.txt && rm -f assigned_ips.txt && echo "" && echo "未分配的IP地址:" && cat /var/lib/dhcp/dhclient.leases | grep available | cut -d ' ' -f5 | sort -u -n -k3,3n -k4,4n -t . -k1,1n -k2,2n | egrep -v "^(lo|::1)$" | head -n +3 | tail -n +2 | xargs echo "IP地址:{}" >> unassigned_ips.txt && cat unassigned_ips.txt && rm -f unassigned_ips.txt && echo "" && echo "过期的IP地址:" && cat /var/lib/dhcp/dhclient.leases | grep expired | cut -d ' ' -f5 | sort -u -n -k3,3n -k4,4n -t . -k1,1n -k2,2n | egrep -v "^(lo|::1)$" | head -n +3 | tail -n +2 | xargs echo "IP地址:{}" >> expired_ips.txt && cat expired_ips.txt && rm -f expired_ips.txt && echo "" && echo "全部IP地址:" && cat /var/lib/dhcp/dhclient.leases | grep leased | cut -d ' ' -f5 | sort -u -n -k3,3n -k4,4n -t . -k1,1n -k2,2n | egrep -v "^(lo|::1)$" | head -n +3 | tail -n +2 | xargs echo "IP地址:{}" >> all_ips.txt && cat all_ips.txt && rm -f all_ips.txt && echo "" && echo "租用时间:" && cat /var/lib/dhcp/dhclient.leases | grep leased | cut -d ' ' -f3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50 | sort | uniq | xargs echo "租用时间:{}天" >> lease_times.txt && cat lease_times.txt && rm -f lease_times.txt && echo "" && echo "租用结束时间:" && cat /var/lib/dhcp/dhclient.leases | grep leased | cut -d ' ' -f3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50 | sort | uniq | xargs echo "租用结束时间:{}天" >> end_times.txt && cat end_times.txt && rm -f end_times.txt && echo "" && echo "租约剩余时间:" && cat /var/lib/dhcp/dhclient.leases | grep leased | cut -d ' ' -f37 | sort | uniq | xargs echo "租约剩余时间:{}天" >> remaining_times.txt && cat remaining_times.txt && rm -f remaining_times.txt && echo "" && echo "租约状态:" && cat /var/lib/dhcp/dhclient.leases | grep leased | cut -d ' ' -f5 | sort | uniq | xargs echo "租约状态:{}" >> lease_statuses.txt && cat lease_status
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/341010.html