DHCP技术


DHCP理论

DHCP (Dynamic Host configuration Protocol,动态主机配置协议 )

是一个局域网的网络协议,使用UDP协议工作;
主要有两个用途:

  1. 用于内部网或网络服务供应商自动分配IP地址;
  2. 给用户用于内部网管理员作为对所有计算机作中央管理的手段。

功能简述:它主要是通过客户端发送广播数据包给整个物理网段内的所有主机,若局域网内有DHCP服务器时,才会响应客户端的IP参数要求。

DHCP服务器的需求

  1. 拥有真实物理网卡,或者连接广播域的真实物理网卡
  2. 该接口或者该物理网卡必须有一个合理的ip地址 此IP地址最好手动配置;

DHCP的服务端和客户端

服务端:负责在所创建的地址池中向申请地址的客户端分发地址;服务端口号67
客户端:接收地址 服务端口号68

DHCP欺骗攻击

DHCP三种分配机制

分配方式 说明
自动分配方式(Automatic Allocation) DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
动态分配方式(Dynamic Allocation) DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
手工分配方式(Manual Allocation) 客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

DHCP配置

Router(config)#server dhcp
# 开启DHCP服务
Router(config)#ip dhcp pool [pool name]
# 定义DHCP地址池,一个网段对应一个地址池
Router(config-dhcp)#network [network address][subnet mask]
# 定义地址池关联的网段
Router(config-dhcp)#default-router [host address]
# 定义分配给客户端的网关IP
Router(config-dhcp)#lease <天数> <小时> <分钟>
Router(config-dhcp)#dns-server <主DNS服务器> <备DNS服务器>
Router(config)#ip dhcp excluded-address 172.16.1.100 172.16.1.103
# 将一个或多个地址排除在地址池之外(如网关IP等),以避免分配给客户端
Router#show ip dhcp binding
# 查看dhcp已经分配出去的地址

DHCP固定地址绑定

服务器或者固定在一个局域网的设备,不需要用DHCP绑定,直接在设备上设置固定IP地址更加靠谱。

当移动的电子设备,或者只能DHCP获取地址的设备需要固定的IP的时候,可以使用DHCP固定地址绑定。

步骤1

首先让设备自动获取IP地址,从而获得设备的身份认证信息,身份认证信息可能是下面的一种:

  • 客户端ID,不同的设备都会有自己的生成方式,但是都能保障局域网唯一。
  • 硬件地址,一般是MAC地址
  • 用户名,一般不用
R2#show ip dhcp binding 
Bindings from all pools not associated with VRF:
IP address          Client-ID/	 	        Lease expiration        Type
		            Hardware address/
		            User name
192.168.23.100      0063.6973.636f.2d61.    Mar 14 2020 05:32 AM    Automatic
                    6162.622e.6363.3030.
                    2e33.3030.302d.4574.
                    302f.30
# 这边我们就得到了当前192.168.23.100的客户端ID

步骤2

设置一个DHCP地址池,这个池里面就放一个IP地址,然后绑定这个客户端ID

需要注意,在绑定之前,记得清空DHCP现有地址池

show ip dhcp binding 		# 查看DHCP的绑定情况,得到设备的身份证明信息
clear ip dhcp binding *		# 不清空对应的绑定项,可能导致无法绑定
ip dhcp pool <池的名字>
host <IP地址>
client-identifier <输入ID>
hardware-address	<输入mac地址>		# ID和MAC二选一
dns-server <主DNS> <备用DNS>
default-route <网关IP>

步骤3

去客户端上释放DHCP地址,重新获得

shutdown 
no shutdown

DHCP中继问题

在企业中经常会出现IP地址集中管控的需求,而企业网段众多。比如,一台域控制服务器需要管理多个局域网,这个时候由于广播无法穿透路由器,就需要用到DHCP中继。

比如上图的情况,每个部门有不同的网段,但是最终需要被统一一台DHCP服务器分配,因为这台DHCP服务器同时也是域控制器等等管理服务的服务器。

我们可以在每个网段的网关接口上配置help-adderss来将广播变为单播发送,并且将收到的单播DHCP再变为广播发回局域网。从而完成DHCP中继。

ip helper-address 100.12.12.1		# 在每个内网的路由器接口上配置帮助地址

DHCP续租

DHCP分配的IP地址,只要动态分配就有一个租约时间,在Cisco路由器上这个时间默认是一天。可以手动修改。

如果续租成功了,那么从续租那一刻起重新计算租约时间。


文章作者: AaronXu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 AaronXu !
评论
 上一篇
RIP协议介绍 RIP协议介绍
路由协议的分类距离矢量主要的特点: 是在更新消息的时候,发送的是自己的路由表条目,对方学习到之后,经过处理,放入自己的路由表。 等于每台路由器都把自己处理的结果让对方学习。 典型代表: rip eigrp
下一篇 
输入URL回车之后发生了什么? 输入URL回车之后发生了什么?
作为面试官最爱的问题,你一定要对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事
2020-03-13
  目录