【Linux网络服务】DHCP动态主机配置协议

149 阅读4分钟

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的优点

  1. 减少管理员的工作量

  2. 避免输入错误的可能

  3. 避免IP地址冲突

  4. 当更改lP地址段时,不需要重新配置每个用户的IP地址

  5. 提高了IP地址的利用率

  6. 方便客户端的配置

四、DHCP的建立过程

7c8ca0c8141ed9d34c3065537c9e310.png

  • 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

配置文件参数

image.png

image.png

image.png

八、设置DHCP服务器并分配地址实验

前期准备

将Linux虚拟机的网络模式改成仅主机模式,并关闭DHCP自动分配服务。

image.png

实验操作

步骤1:关闭防火墙

image.png

步骤2:安装 dhcp 软件包,查看配置文件。

image.png

image.png

步骤3:将模版文件复制到/etc/下的dhcp文件中。

image.png

image.png

步骤4:编辑dhcp配置文件

image.png

image.png

image.png

步骤5:重启DHCP服务

image.png

在Linux中验证

网络适配器设置成仅主机模式,切换到虚拟机终端,编辑ens33网卡信息

image.png

image.png

步骤7:重启网络,查看IP

image.png

在Windows中验证

在windows的cmd命令提示符中输入以下命令进行验证

  • ipconfig 查看网卡信息
  • ipconfig -h 查看命令帮助
  • ipcongfig /release 释放地址
  • ipcongfig /renew 重新获取地址
  • ipconfig /all 全部信息

image.png