ip dhcp snooping
- 格式:doc
- 大小:432.00 KB
- 文档页数:9
泰克网络实验室学员学习笔记IP DHCP SNOOPING 技术学习笔记DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。
DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、租用期、VLAN-ID 接口等信息。
默认情况下交换机不会有dhcp snooping功能,所以下面接几个dhcp server,交换机都不知道。
但是如果想做dhcp snooping功能,则在交换机的全局配置模式下敲:ip dhcp snooping。
则此时默认每个接口都是untrust,即收到udp是67端口的包都会丢掉。
(dhcp有四个包:1.client--dhcp server:discover,发现dhcp server在哪里,广播S:UDP 68,D:UDP 67。
2.dhcp server--client:告诉它自己在哪里,S:UDP 67 D:UDP 68。
3.server-client request S:UDP 68,D:UDP 67。
4.client-server:Response S:67,D:68)发现只要是SERVER发的都是67的包。
起了snooping 后,每个接口都不允许接dhcp server,除非在接server的接口上做ip dhcp snooping trust.即可信任的,收到源自67和也接受(只看进来的包)。
在接口下起用命令:ip verify source,即一个数据包过来进到接口,首先看源IP,源MAC,VLAN等信息和switch上表中存的是不是一致,一致才看目的是哪里,进行传输,如果源的信息与表中的不一致,则丢掉。
备注:以上只是我的一点学习心得,如果有正确的地方欢迎各位高手指证。
<本文作者为泰克网络实验室学员>。
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报文丢弃。
爆肝了,一口气搞懂什么是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都非常熟悉了,对于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表项。
IP DHCP Snooping 和 Ip Source Guard、 DAI1.目的为了配合使用公司的dhcp enforcement准入控制组件,强制终端电脑用dhcp来获取IP,并使用内部网络。
为了防止终端用户通过手动设置IP来绕过DHCP,必须在交换机上配合使用IP DHCP Snooping、IP Source Guard、或DAI(dynamic arp inspection)技术,使得手动设置IP的终端电脑无法使用网络。
2.环境如下图其中:3.原理介绍3.1. DHCP Server用于管理分配IP地址从特定的地址池,它可以是一个PC/ROUTER/SWITCH。
3.2. DHCP Relay Agent一个用于在DHCP SERVER与DHCP Client之间转发DHCP Packets的中间三层设备。
它主要应用于DHCP SERVER与Client端在不同的子网时,临时作为一个代理,在它们之间传递数据包。
DHCP Relay Agent的中继转发不同与一般的二层转发,它在收到一个DHCP消息时,会生成一个新的DHCP消息同时发送到外出接口。
3.3. DHCP Snooping一种DHCP安全特性,通过监听DHCP流量,来建立和维护一个DHCP Snooping Binding Database/Table,并且过滤untrusted DHCP消息。
连接在交换机上的所有PC都配置为动态获取IP地址,PC作为DHCP客户端通过广播发送DHCP请求,DHCP服务器将含有IP地址信息的DHCP回复通过单播的方式发送给DHCP客户端,交换机从DHCP报文中提取关键信息(包括IP地址,MAC地址,vlan号,端口号,租期等),并把这些信息保存到DHCP 监听绑定表中。
DHCP Snooping就像是运行在untrusted hosts与DHCP SERVER之间的一个firewall 一样。
IP DHCP Snooping 和 Ip Source Guard、 DAI1.目的为了配合使用公司的dhcp enforcement准入控制组件,强制终端电脑用dhcp来获取IP,并使用内部网络。
为了防止终端用户通过手动设置IP来绕过DHCP,必须在交换机上配合使用IP DHCP Snooping、IP Source Guard、或DAI(dynamic arp inspection)技术,使得手动设置IP的终端电脑无法使用网络。
2.环境如下图其中:3.原理介绍3.1. DHCP Server用于管理分配IP地址从特定的地址池,它可以是一个PC/ROUTER/SWITCH。
3.2. DHCP Relay Agent一个用于在DHCP SERVER与DHCP Client之间转发DHCP Packets的中间三层设备。
它主要应用于DHCP SERVER与Client端在不同的子网时,临时作为一个代理,在它们之间传递数据包。
DHCP Relay Agent的中继转发不同与一般的二层转发,它在收到一个DHCP消息时,会生成一个新的DHCP消息同时发送到外出接口。
3.3. DHCP Snooping一种DHCP安全特性,通过监听DHCP流量,来建立和维护一个DHCP Snooping Binding Database/Table,并且过滤untrusted DHCP消息。
连接在交换机上的所有PC都配置为动态获取IP地址,PC作为DHCP客户端通过广播发送DHCP请求,DHCP服务器将含有IP地址信息的DHCP回复通过单播的方式发送给DHCP客户端,交换机从DHCP报文中提取关键信息(包括IP地址,MAC地址,vlan号,端口号,租期等),并把这些信息保存到DHCP 监听绑定表中。
DHCP Snooping就像是运行在untrusted hosts与DHCP SERVER之间的一个firewall 一样。
dhcpsnoopingDHCP安全技术背景你有没有遇到过这样的现象,在公司⽹络环境中,有⼈私接⼩路由,导致下发⾮法IP地址,⽽获取到⾮法IP地址的终端将⽆法正常访问⽹络。
是不是很⽓⼈,⽽且在实际当中,接路由器⼀般都是藏起来,你找都不好找,那有没有⼀种办法,让这种⼩路由⽆法使⽤呢?即便是你接上了,也不让你⽤!!(其实如果接对的话,是没有问题的,就怕是你接错了)DHCP snooping 横空出世1)什么是DHCPsnoopingDHCP snooping,是针对于dhcp(动态分配主机协议)所做的安全机制,在⼀个内⽹中我们⽐较常见的情况如下,⼀个⼯位上的员⼯,为了⾃⼰上⽆线⽅便,⾃⼰私接了⼀台⽆线路由器,⽽恰巧⼜接在了lan⼝上,这种⼩型家⽤路由器的内⽹是可以分配 DHCP的,这样⼀台内⽹有些终端就从这⾥获得到了IP,⽽这个IP是根本就没有办法上⽹的,所以要通过dhcp snooping来解决(确认的说应该是在出现问题之间就解决掉)不让⾮法的DHCP服务器在⽹络中活动2)配置在哪⾥?确认的说,配置在接⼊交换机,并将上联⼝配置为trust信任3)有哪些特点只要开启了DHCPsnooping功能,那么所有的接⼝默认都是不信任的DHCP snooping的两种状态,1 信任:接收和转发所有DHCP包2 不信任:接收客户端的请求包,但是不转发实例在此拓扑中,R1为公司的GW,负责DHCP下发IP,⽽R2充当 TP-LINK,⾮法的DHCPserver三层交换机做DHCP 中继,配置在这⾥不再多说,(如果有不明⽩的,可以回看DHCP HELP那⼀篇)先保证全⽹能够正常通信,PC1能够获得公司合法的IP地址另外两台交换机的互联接⼝本配置TRUNK此时是正常的情况,PC可以获得到正确的IP地址此时开启R2,摸拟DHCP,并配置⼀个⾮法的DHCP地址池再⽤PC进⾏测试,这个时候,PC机就要看运⽓了,有的时候能够获得到正确的,有的时候获得到的就是⾮法的这个时候就要开启DHCP snooping了先到最后⼀台,SW4上开启1)全局开启(config)#ip dhcp snooping2)针对vlan(config)#ip dhcp snooping vlan 10 //记住,cisco的设备是针对于VLAN的,所以在开启的时候后⾯⼀定要加上VLAN编号3)进⼊接⼝配置信任:(config-if)#ip dhcp snooping trustSW4配置完成,此时如果⽤PC请求的话,还是有可能请求到⾮法的IP地址,因为TP-LINK在SW3上,所以SW3也要进⾏开启,配置完了吗?PC机请求⼀下发现SW3会有系统消息直接给的drop丢弃了,你会发现,在开启snooping之前,是没有这个消息的,为什么?关键词 option82⽤wireshark 抓包看⼀下这个82选项中包含了啥?这个紫⾊的框框中是什么意思?AABBCC004000,像是⼀个MAC,为什么会有它的MAC?答:这个是客户机请求DHCP时,会携带的交换机MAC地址,⽤于定位⽤,在⼀个局域⽹中有很多交换机,当请求到达路由器在回包的时候,好知道应该给哪台交换机,⽽这时,开启了DHCP snooping的设备是⽆法辨识82选项的,也就不允许通过。
配置DHCPSnooping和IPSG配置了DHCP功能之后,部门内⽤户主机可以⾃动获取地址。
但是为了防⽌员⼯在内⽹私⾃接⼀个⼩路由器并开启DHCP⾃动分配地址的功能,导致内⽹合法⽤户获取到了私接的⼩路由器分配的地址⽽不能正常上⽹,还需要配置DHCP Snooping功能。
以下以部门A为例,说明DHCP Snooping的配置过程。
1. 在接⼊交换机ACC1上开启DHCP Snooping功能。
<ACC1> system-view[ACC1] dhcp enable //使能DHCP功能[ACC1] dhcp snooping enable //使能DHCP Snooping功能2. 在连接终端的接⼝上使能DHCP Snooping功能。
[ACC1] interface GigabitEthernet 0/0/1 //配置连接部门A的接⼝[ACC1-GigabitEthernet0/0/1] dhcp snooping enable[ACC1-GigabitEthernet0/0/1] quit[ACC1] interface GigabitEthernet 0/0/2 //配置连接部门B的接⼝[ACC1-GigabitEthernet0/0/2] dhcp snooping enable[ACC1-GigabitEthernet0/0/2] quit3. 在连接DHCP服务器的接⼝上使能DHCP Snooping功能,并将此接⼝配置为信任接⼝。
[ACC1] interface GigabitEthernet 0/0/3 //配置连接CORE1的接⼝[ACC1-GigabitEthernet0/0/3] dhcp snooping enable //使能DHCP Snooping功能[ACC1-GigabitEthernet0/0/3] dhcp snooping trusted //配置为信任接⼝[ACC1-GigabitEthernet0/0/3] quit[ACC1] interface GigabitEthernet 0/0/4 //配置连接CORE2的接⼝[ACC1-GigabitEthernet0/0/4] dhcp snooping enable[ACC1-GigabitEthernet0/0/4] dhcp snooping trusted[ACC1-GigabitEthernet0/0/4] quit完成上述配置之后,部门A的⽤户就可以从合法的DHCP服务器获取IP地址,内⽹私接的⼩路由器分配地址不会⼲扰到内⽹正常⽤户。
dhcp snooping工作原理DHCP Snooping工作原理一、引言DHCP(动态主机配置协议)是一种常用的网络协议,它用于为网络设备分配IP地址、子网掩码、默认网关等配置信息。
然而,由于DHCP是基于广播的协议,存在一些安全风险,比如DHCP服务器被伪造、DHCP报文被篡改等问题。
为了解决这些安全问题,网络管理员可以使用DHCP Snooping技术。
二、DHCP Snooping的定义DHCP Snooping是一种网络安全技术,它通过监听和验证网络中的DHCP报文,防止未经授权的DHCP服务器提供IP地址配置,以及防止未经授权的客户端请求IP地址。
它基于交换机的硬件特性实现,并且可以防止恶意攻击和网络故障。
三、DHCP Snooping的工作原理1. DHCP Snooping开启网络管理员需要在交换机上启用DHCP Snooping功能。
一般情况下,DHCP Snooping默认是关闭的。
启用DHCP Snooping后,交换机将对DHCP报文进行监听和验证。
2. DHCP Snooping数据库交换机会建立一个DHCP Snooping数据库,用于存储已经授权的DHCP服务器的信息,包括MAC地址、IP地址、端口等信息。
这个数据库可以手动配置,也可以通过动态学习的方式自动更新。
3. DHCP报文的验证当交换机收到DHCP报文时,它会首先验证该报文的合法性。
交换机会检查报文中的源MAC地址、源IP地址、接收端口等信息,并与DHCP Snooping数据库中的信息进行比对。
如果验证通过,交换机会将该报文转发给目标设备;如果验证不通过,交换机会丢弃该报文。
4. DHCP Snooping绑定表交换机还会维护一个DHCP Snooping绑定表,用于记录每个客户端设备的MAC地址、IP地址、VLAN、端口等信息。
当交换机收到一个DHCP报文时,它会根据报文中的源MAC地址查找绑定表,如果找到对应的绑定信息,交换机会更新该绑定信息;如果没有找到,则会创建一个新的绑定信息。
应用场景:
IP Source Guard可以实现防止用户私设IP地址及防止用户变化源IP的扫描行为,要求用户必须动态DHCP方式获取IP,否则将无法使用网络;
IP Source Guard配合ARP-check功能使用可以有效预防ARP欺骗,具体配置参考IP Source Guard+ ARP-check防范ARP
功能简介:
IP Source Guard:IP Source Guard(IP源防护)维护一个IP 源地址绑定数据库,IP Source Guard可以在对应的接口上主机报文进行基于源IP、源IP和源MAC的报文过滤,从而保证只有IP源地址绑定数据库中的主机才能正常使用网络。
IP Source Guard会自动将DHCP Snooping绑定数据库中的合法用户绑定同步到IP
Source Guard的IP源地址绑定数据库(硬件安全表项中),这样IP Source Guard就可以在打开DHCP Snooping设备上对客户端的进行严格过滤;默认情况下,打开IP Source Guard的功能的端口会过滤所有非DHCP的IP报文;只有当客户端通过DHCP从服务器获取到合法的IP或者管理员为客户端配置了静态的IP源地址绑定,端口将允许和这个客户端匹配的IP报文通过。
IP Source Guard支持基于IP+MAC或者基于IP的过滤,如果打开基于IP+MAC的过滤,IP Source Guard会对所有报文的MAC+IP进行检测,仅仅允许IP源地址绑定表格中存在的用户报文通过;而基于IP的过滤,仅仅会对报文的源IP地址进行检测。
一、组网需求
用户网关在核心交换机上,核心交换机创建DHCP Server,接入交换机下联PC使用动态DHCP获取IP地址,为了防止内网用户私设IP,需要实施IP Source Guard功能,对于私设IP地址的用户不让访问外网。
二、组网拓扑
三、配置要点
1、在核心交换机上开启DHCP Server功能(部分场景中,客户可能采用专用DHCP服务
器,则核心交换机只需要启用DHCP Relay功能即可)
2、在接入交换机上全局开启dhcp snooping功能,并且在上联核心的端口开启DHCP
Snooping信任口
3、在接入交换机连接用户的端口开启IP Source Guard功能
4、网络中存在个别用户使用静态IP,配置IP Source Guard功能后也能实现安全控制。
四、配置步骤
核心交换机配置:
1、开启核心设备的DHCP服务功能
Ruijie(config)#service dhcp
2、创建核心设备的IP地址,即用户的网关地址
Ruijie(config)#interface vlan 1
Ruijie(config-if-VLAN 1)#ip address 192.168.1.254 255.255.255.0
Ruijie(config-if-VLAN 1)#exit
3、创建核心设备的DHCP地址池
Ruijie(config)#ip dhcp pool vlan1
Ruijie(dhcp-config)#network 192.168.1.0 255.255.255.0 ------>子网掩码要和所设置IP地址的子网掩码一致,这里都是/24位掩码
Ruijie(dhcp-config)#dns-server 218.85.157.99 ------>设置分配给客户端的DNS地址
Ruijie(dhcp-config)#default-router 192.168.1.254 ------>设置分配给用户的网关地址,这个要和核心设备上所设置的IP地址一致,为192.168.1.254
Ruijie(dhcp-config)#end
Ruijie#wr
接入交换机配置:
1、在接入交换机上开启dhcp snooping功能
Ruijie>enable
Ruijie#configure terminal
Ruijie(config)#ip dhcp snooping ------>开启DHCP snooping功能
2、连接DHCP服务器的接口配置为可信任口
Ruijie(config)#interface gigabitEthernet 0/49
Ruijie(config-GigabitEthernet 0/49)#ip dhcp snooping trust ------>开启DHCP snooping的交换机所有接口缺省为untrust口,交换机只转发从trust口收到的DHCP响应报文(offer、ACK)
3、连接用户的接口开启IP Source Guard功能
Ruijie(config)#interface range fastEthernet 0/1-2 ------>同时进入1口和2口接口配置模式
Ruijie(config-if-range)#ip verify source port-security------>开启源IP+MAC的报文检测,将DHCP Snooping形成的snooping表写入地址绑定数据库中,请正确配置ip verfiy soure port-security,不要使用ip verify source(仅绑定IP),部分产品存在限制,只绑定IP的情况下可能出现异常。
注意:如果交换机下还有级联交换机,则不要在级联交换机端口配置IP Source guard,而应该在接入交换机上部署IP Source Guard方案。
避免二个设备都进行硬件绑定用户的
IP+MAC,导致消耗设备硬件资源表项。
4、配置静态绑定用户,这些用户希望采用静态IP地址,也能实现安全检查,避免端口下
其他用户私用IP地址。
Ruijie(config)#ip source binding 001a.a2bc.3a4d vlan 10 192.168.10.5 interface fa0/15
Ruijie(config)#interface fastEthernet 0/15
Ruijie(config-fastethernet 0/15)#ip verify source port-security
------>开启源IP+MAC的报文检测
5 、保存配置
Ruijie(config-if-range)#end
Ruijie#write ------>确认配置正确,保存配置
五、功能验证
1、相关功能信息查看
1)查看核心交换机DHCP服务器地址池分配情况
2)查看PC获取IP地址情况,在电脑上点击开始----->运行-------->输入cmd进入命令行界面-------->输入ipconfigl可以查看如下信息:
3)查看DHCP Snooping表
4)查看IP Source Guard相关信息
2、效果验证
1)自动获取IP地址,获取的IP地址是192.168.1.1,此时电脑能ping通网关查看网关的MAC地址
2)对电脑IP地址进行手动释放(在电脑cmd命令行界面敲ipconfig/release),然后手动设置一个IP地址
在电脑上手动设置IP地址,点击确定
在cmd命令行输入ipconfig/all,确认是手动设置的IP地址
在接入交换机上查看地址绑定数据库,没有用户的绑定信息
3)验证此时电脑是否能ping通网关
由于IP Source Guard功能只是对IP报文进行检查,不对ARP报文进行检查,故此时电脑arp -a依然可以看到网关的arp信息
4)如果要让手动设置的IP地址上网,可以在交换机上手动添加一条地址绑定信息,命令如
下:
此时地址绑定数据库中有该电脑绑定的相关信息此时私设的IP地址也能够正常上网。