CentOS 8 搭建DHCP服务器实战

    技术2023-07-01  119

    DHCP服务器

    一、概念二、原理三、搭建DHCP1、实验环境2、实验准备3、实验步骤(1)安装dhcp软件包(2)修改配置文件(3)启动dhcp服务(4)客户机验证获得ip

    一、概念

    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

    Processed: 0.010, SQL: 9