CentOS 8 搭建DHCP服务器实战
一、概念
DHCP(Dynamic Host Configuration Protocol)动态主机配置协议 ,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP通常被用于局域网环境,主要作用是集中的管理、分配IP地址,使客户端可以动态的获得IP地址、Gateway地址、DNS服务器地址等信息。
二、原理
- discover:客户端向网络中的服务器请求ip地址,这时他并不知道哪台是dhcp服务器,所以他发送的是广播
- offer:当真正的dhcp服务器收到请求报文时,它会把地址池的ip分配一个给客户端,地址信息里包含ip、网关、子网掩码、DNS、租约期限等,这时由于客户端还没有ip地址,所以服务器发的也是广播,这时可能还有其他dhcp服务器也收到了客户端的请求,也会发送ip地址信息给客户端,客户端会选择第一个收到的offer请求
- request:客户端收到了服务器的ip之后确认自己就使用这个ip地址了就会给服务器发送就要使用这个ip的请求,虽然这时已经知道了dhcp服务器的地址,但是它也要告诉其他dhcp服务器它将要获得哪个dhcp服务器的哪个地址,这样其他dhcp服务器就不会再给他分配ip了,所以这个阶段也是广播
- ACK:服务器收到使用ip的请求之后,就把这个ip分配给客户端,从地址池取出,不再分配给别的客户端了,客户端还是没有ip,所以也是广播发送的,这个阶段结束之后,客户端才真正的获得ip地址
当分配给客户端的ip给其他主机占用时,客户端会重复寻找dhcp服务器的过程继续请求ip
- 租期:默认租期为1440min/24h/一天。
- 续租:当租期到达50%时,客户端若依然在线,客户端主动发出Request数据包来续租;
(1)若续租失败,继续在7/8的租期再次发送Request数据包续租;
(2)若依然失败,那租期到达时地址被收回,客户端会获得一个179.254.0.0网段ip地址,这个地址是不可用的,但是它还会继续不断的找dhcp服务器,直到找到为止
三、搭建DHCP
1、实验环境
服务器:CentOS 8系统(IP:192.168.192.1)
客户端:win10系统
2、实验准备
将两台虚拟机的网卡都做仅主机模式,都绑定在vmnet1网卡上,虚拟机的网络配置里取消vmnet1网卡的dhcp功能,并且确保客户端win10系统是自动获取ip地址的
作为DHCP服务器的主机必须有一个固定的ip地址
3、实验步骤
(1)安装dhcp软件包
因为是使用yum网络源安装dhcp软件包,所以先把虚拟机网络设置成可以上网,就是NAT模式,绑定真机的vmnet8网卡,安装好dhcp之后再改成仅主机模式
(2)修改配置文件
安装完成之后可以使用rpm -qc 查看dhcp服务的配置文件的位置
打开默认的配置文件,发现没有任何配置信息,只有几行备注信息
将模板文件直接拷贝一份命名为dhcpd.conf配置文件,相当于覆盖原来的内容
vim /etc/dhcp/dhcpd.conf 进入配置文件配置
修改全局配置,配置DNS服务器ip为8.8.8.8
修改dhcp子模块的配置,定义子网段、子网掩码、地址池和网关ip地址
option domain-name "example.org"; #域名名称
option domain-name-servers 8.8.8.8; #域名服务器ip地址
default-lease-time 600; #默认的租约期限,单位为秒
max-lease-time 7200; #最大的租约期限,一般为固定ip设置
subnet 192.168.192.0 netmask 255.255.255.0 #可被分配的子网段和子网掩码
range 192.168.192.200 192.168.192.220; #地址池
option routers 192.168.192.1; #网关地址
host win10 # 分配固定ip的主机的名称,随便取
hardware ethernet 00:0C:29:59:FC:57; #绑定的客户端的mac地址
fixed-address 192.168.192.10; #分配给客户端固定的ip地址
(3)启动dhcp服务
配置完成就可以启动dhcp服务了,查看dhcpd的67端口已开启
systemctl start dhcpd
#开启dhcp服务
#dhcp的默认执行程序:/usr/sbin/dhcpd
(4)客户机验证获得ip
现在我们让dhcp服务器分配一个固定的ip地址给客户端,这台客户机每次请求都分配这个地址给它,打开配置文件做如下修改:
每次修改完配置文件都要记得重启服务,配置才能生效
如果我们想给它一个不在地址池的ip,客户机也可以获得,这个ip地址只需要在子网段里就可以正常获得ip
我们刚才在全局配置的时候已经配置了DNS服务器为8.8.8.8,现在在这个单独配置dhcp信息的地方再设置一个DNS服务器,观察它最后被分配到的DNS服务器是哪个?
默认的租约配置文件(一般不改动):/var/lib/dhcpd/dhcpd.leases
更多推荐
所有评论(0)