点击上方蓝字,关注我们
动态主机配置协议(DHCP)
DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,是一种网络协议, 是 RFC 1541(已被 RFC 2131 取代)定义的标准协议,该协议允许服务器向客户端动态分配 IP 地址和配置信息。
DHCP共有八种报文,分别为DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK、DHCP NAK、DHCPRelease、DHCP Decline、DHCPInform。
-
DHCP Discover:
DHCP客户端请求地址时,并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送请求报文,这个报文成为Discover报文,目的是发现网络中的DHCP服务器,所有收到Discover报文的DHCP服务器都会发送回应报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。
-
DHCP Offer:
DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如网关、DNS服务器等),构造一个Offer报文,发送给用户,告知用户本服务器可以为其提供IP地址。< 只是告诉client可以提供,是预分配,还需要client通过ARP检测该IP是否重复>
-
DHCP Request:
DHCP客户端可能会收到很多Offer,所以必须在这些回应中选择一个。Client通常选择第一个回应Offer报文的服务器作为自己的目标服务器,并回应一个广播Request报文,通告选择的服务器。DHCP客户端成功获取IP地址后,在地址使用租期过去1/2时,会向DHCP服务器发送单播Request报文续延租期,如果没有收到DHCP ACK报文,在租期过去3/4时,发送广播Request报文续延租期。
-
DHCP ACK:
DHCP服务器收到Request报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK报文作为回应,通知用户可以使用分配的IP地址。
如何使用RedHat8.6 搭建一个DHCP服务器,这台服务器是最小化安装的,没有安装任何dhcp组件。
一、实验配置
(1)安装DHCP服务组件:
rpm -qa |grep dhcp
yum install dchp-server
y
备注:执行yum install dchp-server后除了dhcp包之外还需要一个bind-export-libs的包,输入 “y”开始安装。
到此dhcp服务组件已经安装成功。
(2)查看DHCP文件以及配置参考
cat /etc/dhcp/dhcpd.conf //查看DHCP文件配置
提示配置参考:
/usr/share/doc/dhcp-server/dhcpd.conf.example是一个配置文件的实例,里面包含了如何定义dhcp池,DHCP生存周期等,具体参数意义如下所示:
default-lease-time [21600] #默认租期时间
max-lease-time [43200] #最大租期时间
option domain-name-servers [8.8.8.8] #定义DNS服务器地址
option domain-name ["domain.org"] #定义DNS域名
range #定义用于分配的IP地址池
option subnet-mask #定义客户端的子网掩码
option routers #定义客户端的网关地址
broadcase-address[广播地址] #定义客户端的广播地址
fixed-address[IP地址] #将某个固定的IP地址分配给指定主机
Hardware[网卡物理地址] #指定网卡接口的类型与MAC地址
ntp-server[IP地址] #定义客户端的网络时间服务器(NTP)
nis-servers[IP地址] #定义客户端的NIS域服务器的地址
server-name[主机名] #向DHCP客户端通知DHCP服务器的主机名
ddns-update-style [类型] #定义DNS服务动态更新的类型,类型包括none(不支持动态更新)、interim(互动更新模式)与ad-hoc(特殊更新模式)
(3)配置DHCP文件
vim /etc/dhcp/dhcpd.conf
subnet 192.168.40.0 netmask 255.255.255.0 {
range 192.168.40.151 192.168.40.199; #DHCP地址池范围
option subnet-mask 255.255.255.0; #子网掩码
option routers 192.168.40.2; #网关
option domain-name-servers 192.168.40.2; #dns
option broadcast-address 192.168.40.255; #广播地址
default-lease-time 3600; #dhcp缺省租约,单位是秒
max-lease-time 9000; #dhcp最大租约,单位是秒
}
(3)开启DHCP服务,查看DHCP状态,防火墙放通DHCP服务
systemctl start dhcpd #开启dhcp服务
systemctl status dhcpd #查看dhcp服务运行状态
firewall-cmd --add-service=dhcp --permanent #防火墙放通DHCP服务
二、结果验证
(1)查看查看主机获取的ip地址:
长按二维码
关注更多精彩
原文始发于微信公众号(老五说网络):如何在RedHat8.6搭建DHCP服务器?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论