一.了解DHCP服务
1.1 DHCP的由来
DHCP (Dynamic Host,Configuration Protocol,动态主机配置协议)由Internet工作小组设计开发专门用于为 TCP/IP网路中的计算机自动分配TCP/IP参数的协议
1.2 DHCP服务的好处
减少管理员的工作量
避免输入错误的可能
避免IP地址冲突
当更改IP地址段时,不需要重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置
1.3 为什么使用DHCP
DHCP 服务避免了因手动设置IP 地址所产生的错误,同时也避免了把一个IP地址分配给多台工作站所造成的地址冲突。DHCP提供了安全、可靠且简单的 TCP/IP 网络设置,降低了配置 IP地址的负担
1.4 DHCP的模式
典型的C/S模式
在网络中架设一台专用的 DHCP 服务器,负责集中分配各种网络地址参数( 主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址 );其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与 DHCP 服务器进行通信,完成自动配置过程
DHCP是C/S模式,DHCP 服务端和客户端需要保持通信,DHCP基于UDP协议,双方都有可能会主动向对方发起通信,因此双方都需要监听端口。
Server 端:DHCP Server(运行dhcp 服务)
UDP 服务:监听端口 67(bootps)
Client 端:DHCP Client(运行dhcp程序)
TDP 服务:监听端口68(bootpc)
1.5 DHCP的分配方式
自动分配: 分配一个IP地址后永久使用
手动分配: 由DHCP服务器管理员专门指定IP地址
动态分配: 使用完后释放该IP,供其他客户机使用
二.DHCP的租约过程
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
2.1 分为四个步骤
2.1.1客户端请求IP
客户机请求IP 地址当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址。此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找 DHCP 服器
2.1.2 服务器响应
服务器响应当HCP服务器接收到来自客户机请求P地址的信息时,它就在自己的P地址池中查是否有合法的TP地址提供给客户机。如果有,DHCP服务器就将此IP地址做上标记,加入到DHCPOffer的消息中,然后DHCP服务器广播一则 DHCP Offer 消息
2.1.3客户机选择IP地址
客户机选择IP地址DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP
服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机。之后DHCP客户机会向服务器发送DHCPRequest消息。
2.1.4 服务器约定租期
服务器确定租约DHCP服务器接收到DHCPReuest消息后,以DHCPACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。当客户机收到DHCPACK消息时,它就配置了IP地址,完成TCP/IP的初始化。
2. 2重新登录
DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP 地址的DHCP Request请求信息。
2.3 更新租约
租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP
ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCPNAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址。
当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP
ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCPNAK报文,则重新发送DHCPDISCOVER报文请求新的IP地址。
三、DHCP服务器的配置
3.1 使用DHCP动态配置主机地址
3.1.1 DHCP服务
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本、提高网络配置效率
3.1.2 可分配的地址信息主要包括
网卡的IP地址、子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址
3.2 安装DHCP服务器
DHCP服务器软件
CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm
DHCP软件包的主要文件
主配置文件:/etc/dhcpd.conf
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
步骤:
1、yum安装dhcp服务
rpm -qa dhcp ###检查是否有安装DHCP服务(没有就用yum安装) yum install -y dhcp ###安装DHCP服务
2、配置dhcp配置文件
rpm -qc dhcp ##查看配置文件
cd /etc/dhcp/
ls ###进入并查看DHCP安装的目录 rpm -qc dhcp ###查看配置文件有哪些 cat /etc/dhcp/dhcpd.conf ###服务刚安装好,配置文件是没有任何东西的,需要把模板拷贝过来 cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##拷贝模板起名为dhcpd.conf vim /etc/dhcp/dhcpd.conf
设置全局配置参数(dhcp.conf)可以就默认不变 default-lease-time 21600; #默认租约为 6 小时,单位为秒 max-lease-time 43200; #最大租约为 12 小时,单位为秒 option domain-name “example.org”; #指定默认域名 option domain-name-servers 202.106.0.20,202.106.148.1; #指定DNS服务器地址 #ddns-update-style none; #禁用DNS动态更新
3.3 DHCP局部配置并且测试
subnet 网段声明
一台 DHCP 服务器可以为多个网段提供服务,因此 subnet 网段声明必须有而且可以有多个。
注意别少了每行结尾的分号!(想要复制几行就 几yy 粘贴就 p)
vi /etc/dhcp/dhcpd.conf #####进行编辑 subnet 192.168.94.0 netmask 255.255.255.0 { //声明网段地址 #default-lease-time 6000; //默认租约为6000秒,当和全局设置重复时,subnet里的配置生效 range 192.168.94.150 192.168.94.180; //设置地址池 #option broadcast-address 192.168.94.255; //定义广播地址 option routers 192.168.94.21; //指定默认网关地址 option domain-name-servers 114.114.114.114; //定义DNS服务器 }
保存更新配置文件,启动服务
Windows客户端的验证:
开启一台windows虚拟机,在本地网络连接中全部选择自动获取,即可自动获取到服务器端设置的ip地址等配置
ipconfig /release ###释放IP地址
ipconfig /renew ###重新获得IP地址
在服务器端可以通过查看租约文件/var/lib/dhcpd/dhcpd.leases来了解服务器的 IP 地址分配情况
该租约文件中记录了分配出去的每个 IP 地址信息(租约记录), 包括 IP 地址、客户端的 MAC 地址、租用的起始时间和结束时间等
3.4 客户机预留指定的固定ip地址
host 声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固定的 IP 地址(保留地址),这些主机的共同特点是要求每次获取的 IP 地址相同,以确保服务的稳定性。
host win10 { hardware ethernet 00:0C:29:18:B8:3C; #hardware ethernet:mac地址 fixed-address 192.168.94.250; #保留地址 } #host 后面可自定义名称 vim /etc/dhcp/dhcpd.conf 编辑文件 systemctl restart dhcpd 重启dhcpd服务