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
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shengjie87/article/details/107105205