DHCP原理与配置

了解 DHCP 服务

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
由 Internet 工作任务小组设计开发
专门用于为 TCP/IP 网络中的计算机自动分配 TCP/IP 参数的协议
在这里插入图片描述

什么是DGCP?

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是由 Internet 工作任务小组设计开发的,专门用于为 TCP/IP 网络中的计算机自动分配 TCP/IP 参数的协议,是一个应用层协议,使用 UDP 的 67 和 68 端口。DHCP 的前身是 BOOTP 协议(BootstrapProtocol),BOOTP 被创建出来为连接到网络中的设备自动分配地址,后来被 DHCP 取代了,DHCP 比 BOOTP 更加复杂,功能更强大。(如果使用 wireshark 抓包过滤协议是用 bootp 而不是 dhcp )

DHCP服务端与客户端端口号

端口号为67,68;UDP协议。

网络工程师任务小组组织指定,用来简化主机地址分配管理主要分配以下入网参数
IP 地址/子阿掩码/广播地址
默认网关地址、DNS服务器地址
PXE引导设置(TFTP服务器地址、引导文件名)

使用DHCP的好处

由于上网时间的不确定性以及使用人员的技术水平不同,为每位用户分配一个固定的 IP 地址,不仅造成了 IP 地址的浪费,也会为 ISP 服务商带来高额的维护成本。而使用 DHCP 服务则有好处。

减少管理员的工作量。
避免输入错误的可能。
避免 IP 地址冲突。
当网络更改 IP 地址段时,不需要再重新配置每个用户的 IP 地址。
提高了 IP 地址的利用率。
方便客户端的配置。

为什么使用 DHCP ?

DHCP 服务避免了因手动设置 IP 地址所产生的错误,同时也避免了把一个 IP 地址分配给多台工作站所造成的地址冲突。DHCP 提供了安全,可靠且简单的 TCP/IP 降低了配置 IP 地址的负担。

DHCP的模式与分配方式

DHCP的模式

典型的C/S模式(客户端与服务端):在网络中假设有一台专用的 DHCP 服务器,负责集中分配各种网络地址参数(主要包括 IP 地址、子网掩码、广播地址、默认网关地址、DNS 服务器地址);其他主机作为 DHCP 客户机,将网卡配置为自动获取地址,即可与 DNCP 服务器进行通信,完成自动配置过程。

DHCP 是 C/S 模式,DNCP 服务端和客户端需要保持通信,DHCP 基于 UDP 协议,双方都有可能会主动向对方发起通信,因此双方都需要监听端口。

Server 端:DHCP Server (运行 dhcp 服务)
UDP 服务:监听端口 67(bootps)
Client 端:DHCP Client (运行 dhcp 程序)
UDP 服务:监听端口 68 (bootpc)

DHCP 的分配方式

  • 自动分配:分配到一个 IP 地址后永久使用
  • 手动分配:由 DHCP 服务器管理员专门指定 IP 地址。例:手动分配先行设置保留好IP地址,给领导设置保留好专门的IP地址。
  • 动态分配:使用完后释放该 IP ,供其他客户机使用。例:剩下的都为动态分配,给动态使用的为员工用(插完就生成一个IP地址,拔掉就释放这个IP)。

DHCP 的租约过程

客户机从 DHCP 服务器获得 IP 地址的过程称为 DHCP 的租约过程
分为四个步骤

在这里插入图片描述

DHCP 工作原理

客户机请求 IP 地址

  • 当一个 DHCP 客户机启动时,客户机还没有 IP 地址,所以客户机要通过 DHCP 获取一个合法的地址
  • 此时 DHCP 客户机以广播方式发送 DHCP Discover 发现信息来寻找 DHCP 服务器

在这里插入图片描述

服务器响应

  • DHCP 服务器接收到来自客户机请求 IP 地址的信息时,在自己的 IP 地址池中查找是否有合法的 IP 地址提供给客户机
  • 如果有,DHCP 服务器将此 IP 地址做上标记,加入到 DHCP Offer 的消息中,然后广播一则 DHCP Offer 消息

在这里插入图片描述

客户机选择 IP 地址

  • DHCP 客户机从接收到的第一个 DHCP Offer 消息中提取 IP 地址,发出 IP 地址的 DHCP 服务器将该地址保留,这样该地址就不能再分配给另一个 DHCP 客户机
    在这里插入图片描述

服务器确定租约

  • DHCP 服务器接收到 DHCP Request 消息后,以 DHCP ACK 消息的形式向客户机广播成功确认,该消息包含有 IP 地址的有效租约和其他可配置的信息
  • 当客户机收到 DHCP ACK 消息时,配置 IP 地址,完成 TCP/IP 的初始化

在这里插入图片描述

关于重新登录的情况

  • DHCP 客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的 IP 地址的 DHCP Request 请求信息。

在这里插入图片描述

更新租约

  • 当 DCHP 服务器向客户机出租的 IP 地址租期达到50%时,就需要更新租约。
    • 租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCP NAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址。
  • 客户机直接向提供租约的服务器发送 DHCP Request包,要求更新现有的地址租约。
    • 当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCP NAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址。

租约过程就好比租房的过程

使用 DHCP 动态配置主机地址

DHCP 服务

  • 为大量客户机自动分配地址,提供集中管理
  • 减轻管理和维护成本、提供网络配置效率

可分配的地址信息主要包括

  • 网卡的 IP 地址、子网掩码
  • 对应的网络地址、广播地址
  • 默认网关地址
  • DNS服务器地址

安装 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服务
2、配置dhcp配置文件
3、启动服务
4、查看端口
5、验证服务

安装DHCP服务前的准备

在这里插入图片描述

查看配置文件
在这里插入图片描述
服务刚安装好,配置文件是没有任何东西的,需要把模板拷贝过来
在这里插入图片描述

拷贝模板起名为dhcpd.conf
cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
在这里插入图片描述
编辑配置文件
vim /etc/dhcp/dhcpd.conf
在这里插入图片描述

在这里插入图片描述
ignore client-updates: 与ddns-update-style设定相关,客户端可以通过DHCP服务器来更新DNS相关信息,这里暂时不予考虑,所以设置成igo

ps:以上为DHCP全局配置

安装DHCP服务器且测试

配置步骤
①yum安装DHCP服务
②配置DHCP配置文件
③启动服务
④查看端口
⑤验证服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启网卡
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打开系统
在这里插入图片描述
在这里插入图片描述
若未显示设置的IP地址,使用刷新命令后再进行查看
在这里插入图片描述
查看自己获取IP的时间可用 less 命令查看
less /var/lib/dhcpd/dhcpd.leases

DHCP 局部配置并且测试

subnet 网段声明
一台 DHCP 服务器可以为多个网段提供服务,因此 subnet 网段声明必须有而且可以有多个。
注意别少了每行结尾的分号!!!
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

客户端验证
在这里插入图片描述

dhcp 默认日志记录在 /var/log/messages

客户机预留指定的固定 IP 地址
host 声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固定的 IP 地址(保留地址),这些主机的共同特点是要求每次获取的 IP 地址相同,以确保服务的稳定性。
host win7 {
hardware ethernet 00:0C:29:BE:10:C7;
hardware ethernet:MAC地址
fixed-address 192.168.10.105; 保留地址
}
host 后面可自定义名称

验证并且查看

在服务器端可以通过查看租约文件 /var/lib/dhcpd/dhcpd.leases 来了解服务器的 IP 地址分配情况,具体操作如下。

该租约文件中记录了分配出去的每个 IP 地址信息(租约记录), 包括 IP 地址、客户端的 MAC 地址、租用的起始时间和结束时间等。
该文件初始为空,且无需管理员手工配置,但管理员可以浏览此文件查看DHCP服务器的运行情况。
查看何时获取IP的
在这里插入图片描述

文件包含租期声明,每次一个租期被获取,更新或释放,它的新值就被记录到文件的末尾。.

注意dhcpd.leases的时间记录采用GMT(格林威治)时间,而不是本地时区的时间,要查看 GMT 时间用 date –u

查看到DHCP 请求过程
在这里插入图片描述

在服务器端可以通过查看租约文件/var/lib/dhcpd/dhcpd.leases 来了解服务器的IP 地址分配情况
租约文件中记录了分配出去的每个 IP 地址信息(租约记录), 包括 IP 地址、客户端的 MAC 地址、租用的起始时间和结束时间等。
客户端需要通过 dhclient 命令释放获取的 IP 租约时,可以结合“-r”选项。此时再通过执行ifconfig 命令就看不到分配的 IP 地址了。
dhclient -r ens33
在这里插入图片描述

/var/lib/dhclient/dhclient.leases //linux的dhcp客户端租约文件
lease {
interface “ens33”;
fixed-address 192.168.192.14;
option subnet-mask 255.255.255.0;
option dhcp-lease-time 600;
option dhcp-message-type 5;
option dhcp-server-identifier 192.168.192.100;
option domain-name “www.kgc.com”;
renew 3 2021/05/19 20:42:06; renew:下一次去找dhcpd服务器续约的时间点。 = 租约时间的50%

rebind 3 2021/05/19 20:46:36; rebind:renew失败后,重试的时间点。 =租约时间的 85% 左右

expire 3 2021/05/19 20:47:51; expire:过期的时间点

使用DHCP实现不同网段获取地址

分析DHCP

DHCP中继原理
当企业内部网络规模比较大时,通常通过 VLAN 将网络规划为多个不同的子网。但是 在该情况下一台 DHCP 服务器无法为不同网段的客户机同时提供服务,因为 DHCP 协议使 用广播,而 VLAN 能隔离广播。

解决方法
为每个网段安装一台 DHCP 服务器,但这种方式的弊端是:资源浪费与不利于管理;
在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN 之间转发,让其他 VLAN 的客户机也能从 DHCP 服务器获取 IP 地址。

实验配置
利用三层交换机作为不同vlan之间的dhcp中继
ensp里用云朵绑定vmnet网卡实现与linux的dhcp服务器通信(linux服务器使用仅主机模式)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值