DHCP原理(含DHCP-snooping)

合集下载

DHCP Snooping功能与实例详解 -经典

DHCP Snooping功能与实例详解 -经典

DHCP Snooping功能与实例详解架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了网络配置,提高了管理效率。

但在DHCP服务的管理上存在一些问题,常见的有:●DHCP Server的冒充●DHCP Server的DOS攻击,如DHCP耗竭攻击●某些用户随便指定IP地址,造成IP地址冲突1、DHCP Server的冒充由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP 服务器,它就可以为客户端分配IP地址以及其他网络参数。

只要让该DHCP服务器分配错误的IP地址和其他网络参数,那就会对网络造成非常大的危害。

2、DHCP Server的拒绝服务攻击通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR(也就是Client MAC address)字段来判断客户端的MAC地址。

正常情况下该CHADDR字段和发送请求报文的客户端真实的MAC地址是相同的。

攻击者可以利用伪造MAC的方式发送DHCP请求,但这种攻击可以使用Cisco 交换机的端口安全特性来防止。

端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC地址。

但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。

由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以攻击者可以通过大量发送伪造CHADDR的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。

DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。

当正常的DHCP服务器瘫痪时,攻击者就可以建立伪造的DHCP服务器来为局域网中的客户端提供地址,使它们将信息转发给准备截取的恶意计算机。

甚至即使DHCP请求报文的源MAC地址和CHADDR字段都是正确的,但由于DHCP请求报文是广播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务攻击。

dhcp的基本概念

dhcp的基本概念

dhcp的基本概念DHCP的基本概念DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于动态分配IP地址和其他网络配置信息。

它可以自动为计算机分配IP地址、子网掩码、默认网关、DNS服务器等信息,从而简化了网络管理。

一、DHCP的基本原理DHCP工作原理是:当计算机加入网络时,它会向DHCP服务器发送一个广播请求(DHCP Discover),请求获得IP地址和其他网络配置信息。

DHCP服务器收到请求后,会回复一个广播包(DHCP Offer),其中包含可用的IP地址和其他配置信息。

计算机选择其中一个IP地址,并向DHCP服务器发送请求确认(DHCP Request)。

最后,DHCP服务器向计算机发送确认消息(DHCP Acknowledge),完成IP地址和其他配置信息的分配过程。

二、 DHCP的优点1.方便管理:使用DHCP可以自动为计算机分配IP地址和其他网络配置信息,简化了网络管理工作。

2.节省资源:使用静态IP地址需要手动配置每台计算机,而且可能会浪费一些未被使用的IP地址。

而使用动态IP地址可以更好地利用可用资源。

3.易于维护:如果需要更改网络配置信息,管理员只需更改DHCP服务器上的设置即可,无需逐个更改每台计算机上的设置。

三、 DHCP的组成部分1.DHCP客户端:运行在计算机上,用于向DHCP服务器请求IP地址和其他网络配置信息。

2.DHCP服务器:运行在网络中的一台计算机上,用于分配IP地址和其他网络配置信息。

3.DHCP中继代理:用于将DHCP广播包转发到其他子网,以便跨子网分配IP地址。

四、 DHCP的工作模式1.动态分配模式(Dynamic Allocation):DHCP服务器从一个可用的IP地址池中选择一个未被使用的IP地址,并将其分配给DHCP客户端。

这种模式适用于大多数情况下,因为它可以更好地利用可用资源。

2.静态分配模式(Static Allocation):管理员手动为每台计算机配置固定的IP地址,这种模式适用于需要保持固定IP地址的设备,如打印机、服务器等。

DHCP-Snooping特性使用不当造成PC机无法获取IP地址

DHCP-Snooping特性使用不当造成PC机无法获取IP地址

DHCP-Snooping特性使用不当造成PC机无法获取IP地址DHCP-Snooping特性使用不当造成PC机无法获取IP地址DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,该协议采用Client-Server模型,是基于UDP层的协议,兼容并扩充了BOOTP(BOOTstrap Protocol)协议。

DHCP Client采用知名端口号68,DHCP Server采用知名端口号67。

当网络中有DHCP Relay 设备时,DHCP的主要过程如下:DHCP协议使用在PC机与DHCP Relay设备之间,当Client收到Relay设备转发的DHCP Ack 报文后,对报文中提供的配置参数进行检查,同时进行配置,完成DHCP过程;如果Client 收到Nak报文,则重新开始整个过程。

需要注意的是DHCP Relay设备回给Client的报文有可能是单播,也有可能是广播,这完全取决于Client是否将发出的 Discover报文里面的Bootp flags字段进行置位。

如果该字段数值为1,则DHCP Relay将 Offer或者Ack/Nak报文广播给Client;反之,如果该字段数值为0,则DHCP Relay将 Offer或者Ack/Nak报文单播给Client。

以上,只是简单介绍客户端通过DHCP动态获取地址的过程,主要为了给DHCP-Snoooping这个交换机新增的特性做铺垫。

从字面上看,DHCP-Snooping和IGMP-Snooping完成的功能类似,都是对特定报文进行侦听。

当交换机开启了DHCP-Snooping后,会对DHCP报文进行侦听,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息。

另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。

信任端口可以正常接收并转发DHCP Offer 报文,而不信任端口会将接收到的DHCP Offer报文丢弃。

51CTO下载-1+DHCP原理(含dhcp-snooping)

51CTO下载-1+DHCP原理(含dhcp-snooping)
DHCP UDP:67/68 IP Ethernet

DHCP原理
BOOTP报文介绍(续)

DHCP原理
BOOTP报文介绍(续)
主要字段解释: OP 消息类型,=1时表示BootRequest;=2时表示 BootReply Htype和Hlen 硬件地址类型和地址长度,实际上表示物理层网络 的类型,一般为以太网,长度为6bytes Hops 跳数,通常为0;中继时会修改,一般不用。 Xid 会话id,随机数,用于确定Serv和Client的对应关系
DHCP报文介绍(续)
DHCP常见OPTION DHCP Message Type,DHCP协议交互的控制报 文类型 Tag=53,Len=1,Data=1~7(只用了3bit)

DHCP原理
DHCP报文介绍(续)
DHCP Message Type是本文的一个重点,Data Value取值如下: Value=1,标示DHCP Discover Value=2,标示DHCP Offer Value=3,标示DHCP Request Value=4,标示DHCP Decline Value=5,标示DHCP ACK Value=6,标示DHCP NAK Value=7,标示DHCP Release
DHCP原理

课程内容
DHCP简介
DHCP原理
DHCP扩展介绍
实验与练习
本章小结

DHCP简介
为什么会有DHCP?
所有基于TCP/IP协议族实现的网络,其通信的一个 重要基础就是IP地址,但对于大多数非专业的用户 而言,IP地址是什么都不甚了解,要正确设臵或者 修改就更难了 但用户主机需要访问网络时,其网卡的IP却又是必 不可少的 DHCP-Dynamic Host Control Protocol动态主 机配臵协议,就是用于简化主机IP地址设臵的协议。 通过DHCP,用户可以实现各项必要网络参数IP、 DNS、Wins等的“零设臵”,做到“即插即用

Cisco交换机DHCP+Snooping功能详解+实例

Cisco交换机DHCP+Snooping功能详解+实例

一、采用DHCP服务的常见问题架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了网络配置,提高了管理效率。

但在DHCP服务的管理上存在一些问题,常见的有:●DHCP Server的冒充●DHCP Server的DOS攻击,如DHCP耗竭攻击●某些用户随便指定IP地址,造成IP地址冲突1、DHCP Server的冒充由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。

只要让该DHCP服务器分配错误的IP地址和其他网络参数,那就会对网络造成非常大的危害。

2、DHCP Server的拒绝服务攻击通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR(也就是Client MAC address)字段来判断客户端的MAC地址。

正常情况下该CHADDR 字段和发送请求报文的客户端真实的MAC地址是相同的。

攻击者可以利用伪造MAC的方式发送DHCP请求,但这种攻击可以使用Cisco 交换机的端口安全特性来防止。

端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC 地址。

但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。

由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以攻击者可以通过大量发送伪造CHADDR的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。

DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。

当正常的DHCP服务器瘫痪时,攻击者就可以建立伪造的DHCP服务器来为局域网中的客户端提供地址,使它们将信息转发给准备截取的恶意计算机。

甚至即使DHCP请求报文的源MAC地址和CHADDR字段都是正确的,但由于DHCP请求报文是广播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务攻击。

爆肝了,一口气搞懂什么是DHCPSnooping

爆肝了,一口气搞懂什么是DHCPSnooping

爆肝了,一口气搞懂什么是DHCPSnoopingDHCP Snooping是DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)的一种安全特性,用于保证DHCP客户端从合法的DHCP服务器获取IP地址,并记录DHCP客户端IP地址与MAC地址等参数的对应关系。

DHCP Snooping可以抵御网络中针对DHCP的各种攻击,为用户提供更安全的网络环境和更稳定的网络服务。

目录•为什么需要DHCP Snooping?•DHCP Snooping应用场景有哪些?•DHCP Snooping是如何工作的?为什么需要DHCP Snooping?目前DHCP协议(RFC2131)在应用的过程中遇到很多安全方面的问题,网络中存在一些针对DHCP的攻击,如DHCP Server仿冒者攻击、DHCP Server的拒绝服务攻击、仿冒DHCP报文攻击等。

为了保证网络通信业务的安全性,引入DHCP Snooping技术。

在DHCP Client和DHCP Server之间建立一道防火墙,以抵御网络中针对DHCP的各种攻击。

DHCP Snooping应用场景有哪些?防止DHCP Server仿冒者攻击导致用户获取到错误的IP地址和网络参数攻击原理由于DHCP Server和DHCP Client之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。

如果该DHCP服务器为用户分配错误的IP地址和其他网络参数,将会对网络造成非常大的危害。

如下图所示,DHCP Discover报文是以广播形式发送,无论是合法的DHCP Server,还是非法的DHCP Server都可以接收到DHCP Client发送的DHCP Discover报文。

DHCP Client发送DHCP Discover报文示意图DHCP Client发送DHCP Discover报文示意图如果此时DHCP Server仿冒者回应给DHCP Client仿冒信息,如错误的网关地址、错误的DNS(Domain Name System)服务器、错误的IP等信息,如图2所示。

DHCP snooping

DHCP snooping

一、机制概述DHCP都非常熟悉了,对于DHCP客户端而言,初始过程中都是通过发送广播的DHCP discovery消息寻找DHCP服务器,然而这时候如果内网中存在私设的DHCP服务器,那么就会对网络造成影响,例如客户端通过私设的DHCP 服务器拿到一个非法的地址,最终导致PC无法上网。

在DHCP snooping环境中(部署在交换机上),我们将端口视为trust或untrust两种安全级别,也就是信任或非信任接口。

在交换机上,将连接合法DHCP 服务器的接口配置为trust。

只有trust接口上收到的来自DHCPserver的报文(如DHCPOFFER, DHCPACK, DHCPNAK, 或者DHCPLEASEQUERY)才会被放行,相反,在untrust接口上收到的来自DHCPserver的报文将被过滤掉,这样一来就可以防止非法的DHCPserver接入。

同时在部署了DHCP Snooping了交换机本地,还能维护一张DHCPsnooping的绑定数据库(binding database),用于保存侦听到的DHCP交互的表项,信息包括(针对untrust接口的):MAC地址、IP地址(DHCP 分配的)、租期、绑定类型、VLAN号、接口编号(DHCP客户端也就是连接客户端PC的untrust接口)。

这个DHCP snooping banding databse除了可以做一些基本的安全接入控制,还能够用于DAI等防ARP欺骗的解决方案。

一台支持DHCP snooping的交换机,如果在其untrust接口上,收到来自下游交换机发送的、且带有option82的DHCP报文,则默认的动作是丢弃这些报文。

如果该交换机开启了DHCP snooping并且带有option82的DHCP报文是在trusted接口上收到的,则交换机接收这些报文,但是不会根据报文中包含的相关信息建立DHCP bingdingdatabse表项。

DHCP

DHCP

原理描述目录1.5.3.3.4.4 原理描述1.5.3.3.4.4.1 DHCP Server1.5.3.3.4.4.2 DHCP Relay1.5.3.3.4.4.3 DHCP Snooping1.5.3.3.4.4.4 DHCP报文介绍1.5.3.3.4.4.5 IP地址的分配与获取1.5.3.3.4.4 原理描述DHCP ServerDHCP RelayDHCP SnoopingDHCP报文介绍IP地址的分配与获取父主题:DHCP1.5.3.3.4.4.1 DHCP ServerDHCP Server即DHCP服务器,负责客户端IP地址的分配。

客户端向服务器发送配置申请报文(包括IP地址、子网掩码、缺省网关等参数),服务器根据策略返回携带相应配置信息的报文,请求报文和回应报文都采用UDP进行封装。

DHCP客户端与服务器的交互模式DHCP客户端为了获取合法的动态IP地址,在不同阶段与服务器之间交互不同的信息,通常存在以下三种模式(根据RFC2131实现):DHCP客户端首次登录网络DHCP客户端首次登录网络时,主要通过四个阶段与DHCP服务器建立联系。

发现阶段,即DHCP客户端寻找DHCP服务器的阶段。

客户端以广播方式发送DHCPDISCOVER报文,只有DHCP服务器才会进行响应。

提供阶段,即DHCP服务器提供IP地址的阶段。

DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中挑选一个尚未分配的IP地址分配给客户端,向该客户端发送包含出租IP地址和其它设置的DHCP OFFER报文。

选择阶段,即DHCP客户端选择IP地址的阶段。

如果有多台DHCP服务器向该客户端发来DHCP OFFER报文,客户端只接受第一个收到的DHCP OFFER报文,然后以广播方式向各DHCP服务器回应DHCP REQUEST报文,该信息中包含向所选定的DHCP服务器请求IP地址的内容。

确认阶段,即DHCP服务器确认所提供IP地址的阶段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要字段解释: Sname 客户端希望启动后使用的hostname file file为空时,表示客户端只需要获得服务器分配的IP信息, 或者由服务器来统一指定程序的加载; file可以填入指定的名字“unix”“gateway”,用以控 制启动时需要加载的程序
DHCP原理
BOOTP简要处理流程
T2 expires Send Request Renewing ACK ACK
Sellect Offer Send Request Start2 Requesting
T1 expires Send Request Bound
ACK
DHCP原理
DHCP的协议流程(续)
INIT 客户机第一次启动之后,进入Init初始化状态,此时通过发 送DHCP Discover,用于探测和发现服务器,同时状态切 换到Selecting状态 该报文承载于UDP:67中,通过IP广播发送
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION Requested IP Address,DHCP客户端曾请求并使用 过的IP地址,通常出现在请求报文中。 Tag=50, Len=4,Data=ip.addr
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION IP Address Lease Time,用户请求分配IP地址的使用 时间(租约期),在DHCP客户端的请求报文和服务器的 回应报文中都有,但以服务器分配为准 Tag=51,Len=4,Data=time
DHCP原理
DHCP报文介绍
DHCP原理
DHCP报文介绍(续)
DHCP报文直接借用了BOOTP的报文格式,其中的核心内 容是OPTION DHCP OPTION格式 每个Option都由Tag、Len、Data三大部分组成:1、 Tag表示本Option的作用 2、Len表明后续Data的长度(Tag=0、255的option比 较特殊,没有对应Data,当然也不需要Len长度) 3、Data内容作为Tag的补充详细说明
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION End,Tag=255时,是一个特殊的Option,表示所有 的Options字段已经填充完毕,后面没有了。
DHCP原理
DHCP的协议流程
下面以DHCP客户端的角度来描述DHCP整个协议流程转 换机制
Start1 Discover Collect Offers Selecting NAK/ Timeout Init NAK NAK/ Timeout Rebinding
DHCP原理
BOOTP简要处理流程
Reply Received 客户端收到Reply回应之后,会进行判断: Ciadr、Chaddr、Xid是否和自己发送时的值相等,如 果不等,则丢弃 如果上述匹配关系正确,则读取Yiaddr地址给网卡设臵, 并进行后续的引导文件/程序的传输
DHCP原理
DHCP原理
BOOTP报文介绍
BOOTP协议承载在于OSI七层模型的传输层之上,使用 UDP协议 BOOTP客户端发起的报文,UDP:68 UDP:67 BOOTP服务器发起的报文, UDP:67 UDP:68
DHCP UDP:67/68 IP Ethernet
DHCP原理
DHCP原理
DHCP的协议流程(续)
Discover报文常见Option构成: Requested IP addr=MAY IP Addr Lease Time=MAY Client Ientifier=MAY Server Identifier=Must NOT Parameter Request List=MAY
BOOTP的缺点
BOOTP协议过程非常的简单,中间缺乏必要的安全控制机 制 BOOTP给每个用户分配的IP地址是“永久”的,不利于IP 地址资源的合理高效利用
随着网络的逐步发展,BOOTP逐渐被DHCP所取代
DHCP原理
DHCP和BOOTP的关系
BOOTP给客户端分配的IP地址是永久的,而DHCP分配的 IP地址资源则具有时效性、是动态的,有利于提高IP资源 的利用率 DHCP和BOOTP使用相同的UDP协议报头,服务器端口67, 客户端端口68,以至于很多程序对两者不做区分 DHCP和BOOTP使用几乎完全相同的Request和Reply消 息格式,只是DHCP的功能是依赖于报文的OPTION字段 来进行实现的;BOOTP也有自己的“OPTION”字段,称 之为Vend,DHCP Option兼容BOOTP Vend
DHCP原理
BOOTP简要处理流程(续)
BOOTP Reply 服务器收到Request请求之后,进行判断: 如果Client没有Ciaddr,且自己有可用IP,给对方分配 一个,填入Yiaddr;如果没有IP资源,丢弃 将Server自己的IP地址填入Siaddr Xid值与Request中完全相等 OP=2 将上述关键信息填写并封装到UDP报文中,目的UDP端 口号为68,源端口为67 将UDP封装到IP报文中,单播给客户端
Serv1 Serv2
DHCP Discover
Client
Client
Client
DHCP原理
DHCP的协议流程(续)
Discover报文常见参数构成: OP=1,BOOT Request Xid=Random,由Client确定 Ciaddr=0.0.0.0 Yiaddr=Siaddr=Giaddr=0.0.0.0 Chaddr=Client MAC Addr
课程内容
DHCP简介
DHCP原理
DHCP扩展介绍
实验与练习
本章小结
DHCP原理
DHCP要解决的问题
问题: DHCP目的是为了方便使用者,无需手工配臵IP等相关信 息,而DHCP又是一种基于IP运行的协议,在没有IP地址 的情况下,DHCP又如何交互呢? 我们先介绍一下BOOTP协议,即Bootstrap,它是DHCP 协议的前身,在早期常使用在无盘工作站组建的网络中
P原理
DHCP的协议流程(续)
INIT 由于该请求为广播形式,通常在发送时会设臵一个随机的 实验延迟(≤10秒),以避免各个DHCP Client同时发送 广播报文,对局域网造成不必要的影响
DHCP原理
DHCP的协议流程(续)
BOOTP报文介绍(续)
DHCP原理
BOOTP报文介绍(续)
主要字段解释: OP 消息类型,=1时表示BootRequest;=2时表示BootReply Htype和Hlen 硬件地址类型和地址长度,实际上表示物理层网络的类型, 一般为以太网,长度为6bytes Hops 跳数,通常为0;中继时会修改,一般不用。 Xid 会话id,随机数,用于确定Serv和Client的对应关系
BOOTP Requet 客户端发送请求前首先需要确定如下几个参数: Ciaddr,通常启动时没有IP,臵为0.0.0.0 Chaddr,本机网卡硬件地址,按实填写 Yiaddr、Siaddr、Giaddr均设为0.0.0.0 随机生成一个Xid值 OP=1 将上述关键信息填写并封装到UDP报文中,目的UDP端 口号为67,源端口为68 将UDP封装到IP报文中,其目的IP为全网广播,源地址 为0.0.0.0(未知,待分配)
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION DHCP Message Type,DHCP协议交互的控制报文类 型 Tag=53,Len=1,Data=1~7(只用了3bit)
DHCP原理
DHCP报文介绍(续)
DHCP Message Type是本文的一个重点,Data Value 取值如下: Value=1,标示DHCP Discover Value=2,标示DHCP Offer Value=3,标示DHCP Request Value=4,标示DHCP Decline Value=5,标示DHCP ACK Value=6,标示DHCP NAK Value=7,标示DHCP Release
DHCP原理
BOOTP报文介绍(续)
主要字段解释: Giaddr Gateway IP Addr,网关IP地址,通常只在BOOTP中继 时才会用到 Chaddr Client Hardware Addr,客户端硬件地址,通常在以太 网中就是MAC地址,由客户端自己填写
DHCP原理
BOOTP报文介绍(续)
DHCP原理
BOOTP报文介绍(续)
主要字段解释: Ciaddr Client IP Addr,客户端IP地址,由客户端在发送请求时填 写(如果有的话) Yiaddr Your IP Addr,客户端的IP地址;如果Ciaddr值为全0时, 由服务器在Reply报文中填写 Siaddr Server IP Addr,服务器IP地址
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION Server Identifier,服务器身份,通常在DHCP报文中 指定与哪个服务器进行交互通信 Tag=54,Len=4,Data=ip.adr
DHCP原理
DHCP报文介绍(续)
DHCP常见OPTION Parameter Request List,请求参数列表,标示客户端 需要服务器分配的内容 Tag=55,Len=n(n≥1),Data=parameters 其中,具体的参数内容使用代码来标示,如: 1为子网掩码、6为DNS-Server等等,有兴趣的可以查找 rfc获得更详细的内容
DHCP原理
课程内容
DHCP简介
DHCP原理
相关文档
最新文档