DHCP概述
一、什么是DHCP
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),由Internet工作任务小组设计开发,专门用于为TCP/IP网络中计算机自动分配TCP/IP参数的协议。
DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。 默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。
DHCP采用C/S架构,C-client(客户机),S-server(服务器),客户机/服务器架构
DHCP服务采用传输层UDP协议,客户机使用UDP协议的68端口,服务器使用UDP的67端口。
二、DHCP的分配方式
-
自动分配:分配到一个IP地址后永久使用;
-
手动分配:由DHCP服务器管理员专门指定IP地址;
-
动态分配:使用完后释放该IP,供其它客户机使用。
三、DHCP的优点
-
减少管理员的工作量
-
避免输入错误的可能
-
避免IP地址冲突
-
当更改lP地址段时,不需要重新配置每个用户的IP地址
-
提高了IP地址的利用率
-
方便客户端的配置
四、DHCP的建立过程
-
1.当客户端加入到局域网中没有地址,会发送一个discover报文,寻找dhcp服务器。
-
2.收到报文的dhcp服务器会回复一个offer报文,并且将配置信息放在offer报文中。
-
3.客户端收到offer报文后会将地址等信息配置好会回复一个request报文。
-
4.服务器收到request报文会发送一个ack报文再次确认。
五、DHCP动态配置主机地址
DHCP服务优点:
-
为大量客户机自动分配地址,提供集中管理
-
减轻管理和维护成本、提高网络配置效率
可分配的地址信息主要包括:
-
网卡的IP地址、子网掩码
-
对应的网络地址、广播地址
-
默认网关地址
-
DNS服务器地址
六、DHCP报文的类型
| 报文 | 说明 |
|---|---|
| DHCP Discover | 这是客户机首次登录网络时进行 DHCP 过程的第一个报文,用来寻找 DHCP 服务器。 |
| DHCP OfferDHCP | 服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息。 |
| DHCP Request | 客户端初始化后,发送广播的 DHCP REQUEST 报文来回应服务器的 DHCP OFFER 报文。 客户端重启初始化后,发送广播的 DHCP REQUEST 报文来确认先前被分配的 IP 地址等配置信息。 当客户端已经和某个 IP 地址绑定后,发送 DHCP REQUEST 报文来延长 IP 地址的租期。 |
| DHCP ACK | 服务器对客户端的 DHCP REQUEST 报文的确认响应报文,客户端收到此报文后,才真正获得了 IP 地址和相关的配置信息。 |
| DHCP NAK | 服务器对客户端的DHCP REQUEST报文的拒绝响应报文,通知客户端无法分配合适的 IP 地址。 |
| DHCP Decline | 客户端发送给服务器,指示地址已被使用,并且会重新向服务器申请地址。 |
| DHCP Release | 客户端发送给服务器,主动释放服务器分配给它的IP地址,取消剩余租约时间。 |
| DHCP Inform | 客户端发送给服务器,客户端已经获得了 IP 地址,发送此报文的目的是为了从服务器获得其他的一些网络配置信息,比如网关地址、DNS 服务器地址等。极少用到。 |
七、DHCP配置文件
DHCP服务的配置文件:/etc/dhcp/dhcpd.conf
配置文件参数:
八、设置DHCP服务器并分配地址实验
前期准备:
将Linux虚拟机的网络模式改成仅主机模式,并关闭DHCP自动分配服务。
实验操作:
步骤1:关闭防火墙
步骤2:安装 dhcp 软件包,查看配置文件。
步骤3:将模版文件复制到/etc/下的dhcp文件中。
步骤4:编辑dhcp配置文件
步骤5:重启DHCP服务
在Linux中验证
网络适配器设置成仅主机模式,切换到虚拟机终端,编辑ens33网卡信息
步骤7:重启网络,查看IP
在Windows中验证
在windows的cmd命令提示符中输入以下命令进行验证
- ipconfig 查看网卡信息
- ipconfig -h 查看命令帮助
- ipcongfig /release 释放地址
- ipcongfig /renew 重新获取地址
- ipconfig /all 全部信息