Cisco DHCP Snooping + IPSG 功能实现
什么是DHCP?
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,前身是BOOTP协议,
使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是
集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用
率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。
DHCP协议中的报文:
DHCP DISCOVER :客户端广播DHCP Discover消息,局域网内所有主机都能接受到该报文。
DHCP OFFER :服务器接收到DHCP DISCOVER之后做出的响应,它包括了给予客户端的IP、客户端的MAC地址、租约过期时间、服务器的识别符以及其他信息
DHCP REQUEST :客户端对于服务器发出的DHCP OFFER所做出的响应,发送请求报文。
DHCP ACK :服务器在接收到客户端发来的DHCP REQUEST之后发出的成功确认的报文。在建立连接的时候,客户端在接收到这个报文之后才会确认分配给它的IP和其他信息可以被允许使用。
DHCP的工作流程:

DHCP报文数据包:

什么是DHCP Snooping ?
DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,
这些信息是指来自不信任区域的DHCP信息。DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、
租用期、VLAN-ID 接口等信息。Cisco交换机支持在每个VLAN基础上启用DHCP监听特性。通过这种特性,交换
机能够拦截第二层VLAN域内的所有DHCP报文。
知识点: DHCP Snooping绑定表为后续部署IP源防护(IPSG)和动态ARP检测(DAI)提供重要支持。
DHCP Snooping作用:
1、 防止私自搭建的DHCP Server分配IP地址(主要功能)。
2、 防止恶意搭建的DHCP Server的DOS攻击,导致信任DHCP Server(公司DHCP服务器)的IP地址资源耗竭(主要功能)。
3、 防止用户手动配置固定IP地址,造成与信任DHCP Server(公司DHCP服务器)分配的IP地址冲突。(需要配合IPSG功能共同实现,后续会讲解)
DHCP监听将交换机端口划分为两类:
1、 信任端口:连接信任的DHCP服务器或者汇聚交换机的上行端口或核心交换机的下行端口。
2、 非信任端口:通常为连接终端设备的端口,例如电脑、网络打印机、笔记本,HUB(傻瓜交换机端口不可控)等。
设计思路:
1、3560划分3个VLAN(vlan10 vlan20 vlan50)并分配IP地址,gi0/13端口配置为信任端口连接信任DHCP服务器并划分到vlan 50,gi0/24端口设置为trunk
2、2960划分3个VLAN(vlan10 vlan20 vlan50)并分配端口,gi1/0/24端口设置为trunk与3560 gi0/24端口相连
3、私搭建的DHCP服务器可以接在3560交换机或2960交换机非信任端口进行测试
4、PC01连接在2960 vlan10 端口gi1/0/1,PC02连接在2960 vlan20 端口gi1/0/8
VLAN情况:
vlan 10 192.168.10.1/24(3650) 分配端口gi1/0/1-5(2960)
vlan 20 192.168.20.1/24(3650) 分配端口gi1/0/6-10(2960)
vlan 50 192.168.50.1/24(3650) 分配端口gi1/0/11-15(2960)
信任DHCP服务器IP地址 192.168.50.254/24(3650) 分配端口gi0/13(3650)
网络拓扑图:
提示:思科模拟器Cisco Packet Tracer Student实现DHCP Snooping功能会有异常,本教程是使用真实思科交换机实验。

3650配置信息:
##配置vlan
3560(config)#vlan 10
3560(config-vlan)#name VLAN10
3560(config-vlan)#exit
3560(config)#vlan 20
3560(config-vlan)#name VLAN10
3560(config-vlan)#exit
3560(config)#vlan 50
3560(config-vlan)#name VLAN10
3560(config-vlan)#exit
##配置vlan的IP地址并设定DHCP服务器中继代理
3560(config)#interface vlan 10
3560(config-if)#ip address 192.168.10.1 255.255.255.0
3560(config-if)#ip helper-address 192.168.50.254
3560(config-if)#exit
3560(config)#interface vlan 20
3560(config-if)#ip address 192.168.20.1 255.255.255.0
3560(config-if)#ip helper-address 192.168.50.254
3560(config-if)#exit
3560(config)#interface vlan 50
3560(config-if)#ip address 192.168.50.1 255.255.255.0
3560(config-if)#ip helper-address 192.168.50.254
3560(config-if)#exit
##划分gi0/13端口给vlan50用于连接DHCP服务器
3560(config)#interface gigabitEthernet 0/13
3560(config-if)#switchport access vlan 50
3560(config-if)#switchport mode access
3560(config-if)#no shutdown
##设置gi0/24端口为trunk用于连接下联2960交换机
3560(config)#interface gigabitEthernet 0/24
3560(config-if)#switchport trunk encapsulation dot1q
3560(config-if)#switchport mode trunk
3560(config-if)#no shutdown
##开启三层路由功能
3560(config)#ip routing
##开启DHCP Snooping功能
3560(config)#ip dhcp snooping
##设置DHCP Snooping功能将作用于哪些VLAN
3560(config)#ip dhcp snooping vlan 10,20,50
##配置交换机能从非信任端口接收带option 82的DHCP报文
3560(config)#ip dhcp snooping information option allow-untrusted
##将DHCP监听绑定表保存在flash中,文件名为dhcp_snooping.db
3560(config)#ip dhcp snooping database flash:dhcp_snooping.db
##指DHCP监听绑定表发生更新后,等待30秒,再写入文件,默认为300秒
3560(config)#ip dhcp snooping database write-delay 30
##指DHCP监听绑定表尝试写入操作失败后,重新尝试写入操作,直到60秒后停止尝试,默认为300秒
3560(config)#ip dhcp snooping database timeout 60
##使由于DHCP报文限速原因而被禁用的端口能自动从err-disable状态恢复
3560(config)#errdisable recovery cause dhcp-rate-limit
##设置自动恢复时间;端口被置为err-disable状态后,经过30秒时间自动恢复
3560(config)#errdisable recovery interval 30
##设置gi0/13端口和gi0/24为信任端口,其它端口自动默认为非信任端口
3560(config)#interface gigabitEthernet 0/13
3560(config-if)#ip dhcp snooping trust
3560(config-if)#exit
3560(config)#interface gigabitEthernet 0/24
3560(config-if)#ip dhcp snooping trust
3560(config-if)#exit
##显示与维护
#查看交换机配置情况
3560#show running-config
#查看交换机端口速率、信任端口、非信任端口等信息
3560#show ip dhcp snooping
#查看DHCP snooping绑定表
3560#show ip dhcp snooping binding
2960配置信息:
##创建vlan
2960#vlan database
2960(vlan)#vlan 10 name VLAN10
2960(vlan)#vlan 20 name VLAN20
2960(vlan)#vlan 50 name VLAN50
2960(vlan)#exit
##划分端口给相应vlan
2960#configure terminal
2960(config)#interface range gigabitEthernet 1/0/1-5
2960(config-if-range)#switchport access vlan 10
2960(config-if-range)#switchport mode access
2960(config-if-range)#no shutdown
2960(config-if-range)#exit
2960#configure terminal
2960(config)#interface range gigabitEthernet 1/0/6-10
2960(config-if-range)#switchport access vlan 20
2960(config-if-range)#switchport mode access
2960(config-if-range)#no shutdown
2960(config-if-range)#exit
2960#configure terminal
2960(config)#interface range gigabitEthernet 1/0/11-15
2960(config-if-range)#switchport access vlan 50
2960(config-if-range)#switchport mode access
2960(config-if-range)#no shutdown
2960(config-if-range)#exit
##开启DHCP Snooping功能
2960(config)#ip dhcp snooping
2960(config)#ip dhcp snooping vlan 10,20,50
2960(config)#ip dhcp snooping information option allow-untrusted
2960(config)#ip dhcp snooping database flash:dhcp_snooping.db
2960(config)#ip dhcp snooping database write-delay 30
2960(config)#ip dhcp snooping database timeout 60
2960(config)#errdisable recovery cause dhcp-rate-limit
2960(config)#errdisable recovery interval 30
##设置gi0/24为信任端口并设置为trunk与3650交换机连接,其它端口自动默认为非信任端口
2960(config)#interface gigabitEthernet 1/0/24
2960(config-if)#switchport mode trunk
2960(config-if)#ip dhcp snooping trust
##设置其它所属vlan的非信任端口DHCP报文速率为每秒100个包(端口默认是每秒15个包)
2960(config)#interface range gigabitEthernet 1/0/1-15
2960(config-if-range)#ip dhcp snooping limit rate 100
##设置为直接转发
2960(config-if-range)#spanning-tree portfast
##显示与维护
3560#show running-config
3560#show ip dhcp snooping
3560#show ip dhcp snooping binding
什么是IPSG?
IP 源防护(IP Source Guard,简称 IPSG)是一种基于 IP/MAC 的端口流量过滤技术,它可以防止局域网内的 IP 地址欺骗攻击。
IPSG 能够确保第 2 层网络中终端设备的 IP 地址不会被劫持,而且还能确保非授权设备不能通过自己指定 IP 地址的方式来访问
网络或攻击网络导致网络崩溃及瘫痪。
IPSG作用:
1、防止用户手动配置固定IP地址,造成与信任DHCP Server(公司DHCP服务器)分配的IP地址冲突。(需要配合DHCP Snooping功能共同实现)
2、实现静态绑定IP+vlan+端口,同时配合HDCP Snooping功能一起使用可实现动态绑定。
标注:IPSG配置参照以上DHCP Snooping配置不变,只要增加以下配置即可:
2960交换机增加以下配置信息:
##信任端口不必配置
2960(config)#interface range gigabitEthernet 1/0/1-15
2960(config-if-range)#ip verify source port-security
#交换机允许手动设置IP地址绑定命令,一般绑定了就不能自动获取,除非DHCP服务器上存在你的IP与MAC绑定信息,否则无法自动获取IP地址
2960(config)#ip source binding D8:CB:8A:93:24:E5 vlan 20 192.168.20.120 interface gigabitEthernet 1/0/10
##显示与维护
2960#show ip source binding
2960#show ip verify source
Cisco DHCP Snooping + IPSG 功能实现的更多相关文章
- (一)Cisco DHCP Snooping原理(转载)
采用DHCP服务的常见问题架设DHCP服务器可以为客户端自动分配IP地址.掩码.默认网关.DNS服务器等网络参数,简化了网络配置,提高了管理效率.但在DHCP服务的管理上存在一些问题,常见的有: ●D ...
- (五)Cisco dhcp snooping实例3-多交换机环境(DHCP服务器和DHCP客户端位于同VLAN)
试验拓扑 环境:dhcp server和dhcp客户端属于同vlan,但是客户端属于不同的交换机,在L2和L3交换机开启dhcp snooping后得出如下结论 L3交换机的配置 ip dhcp po ...
- (三)Cisco dhcp snooping实例1-单交换机(DHCP服务器和DHCP客户端位于同一VLAN)
环境:cisco dhcp server和客户端都属于vlan27,dhcp server 接在交换机G0/1,客户端接在交换机的G0/2 cisco dhcp server相关配置 ip dhcp ...
- (四)Cisco dhcp snooping实例2-多交换机环境(DHCP服务器和DHCP客户端位于不同VLAN)
试验拓扑 环境:dhcp server和客户端处于不同网段的情况 dhcp server的配置 no ip routing ip dhcp pool vlan27 network 172.28.27. ...
- (二)Cisco dhcp snooping配置解释
#配置dhcp snooping相关命令 Switch(config)#ip dhcp snooping //打开DHCP Snooping功能Switch(config)#ip dhcp snoo ...
- DHCP snooping
DHCP snooping 技术介绍 DHCP监听(DHCP Snooping)是一种DHCP安全特性.Cisco交换机支持在每个VLAN基础上启用DHCP监听特性.通过这种特性,交换机能够拦截第 ...
- DHCP snooping(DHCP监听)
DHCP监听可以防范利用DHCP发起的多种攻击行为,如DHCP中间人攻击,伪造多台设备耗尽地址池 DHCP监听允许可信端口上的所有DHCP消息,但是却过滤非可信端口上的DHCP消息,DHCP监听还会在 ...
- CISCO DHCP全攻略详解
原文链接地址:https://bbs.51cto.com/thread-800321-1.html 最近看到大家经常由于DHCP的问题犯愁, 为了让大家更明白的了解DHCP并且会配置,特此发这个贴 相 ...
- h3c dhcp snooping
1. 组网需求Switch B通过以太网端口Ethernet1/1连接到DHCP服务器,通过以太网端口Ethernet1/2.Ethernet1/3连接到DHCP客户端.要求:l与DHCP服务器相连的 ...
随机推荐
- HDU3915 Game 高斯消元
题目链接 HDU3915 Game 高斯消元 题解 求异或方程组自由元的子集个数 高斯消元求秩,内存溢出好神 代码 #include<bitset> #include<cstdio& ...
- LOJ.117.[模板]有源汇有上下界最小流(Dinic)
题目链接 有源汇有上下界最小流 Sol1. 首先和无源汇网络流一样建图,求SS->TT最大流: 然后连边(T->S,[0,INF]),再求一遍SS->TT最大流,答案为新添加边的流量 ...
- 潭州课堂25班:Ph201805201 并发(进程,线程) 第十一课 (课堂笔记)
线程,进程,是实现并发的方法, 并行: 在同一时刻,同时运行多个任务,CPU 的数量大于等于任务数量, 并发: 在同一时间间隔内, 同时处理多个任务, 并行是并发. 进程:表示一个正在执行的程序, 操 ...
- [POI2011]Inspekcja
[POI2011]Inspekcja 题目大意: 给你一棵\(n(n\le10^6)\)个点的树,\(s\)为起点.每次选择一个点作为目标点\(t_i\),沿最短路走到\(t_i\)再走回\(s\)( ...
- Java表达式转型规则
Java表达式转型规则由低到高转换: 1.所有的byte,short,char型的值将被提升为int型: 2.如果有一个操作数是long型,计算结果是long型: 3.如果有一个操作数是float型, ...
- iptables防火墙企业级模板
目前公司业务已大多迁移至内网使用或者使用云主机,防火墙也渐渐不用了,在博客上记录一下,以免以后突然有用却找不到模板了.此防火墙脚本执行时默认清空旧的防火墙规则.放行本地loop网卡,DNS服务,NTF ...
- Adding Digital control to Dual tracking LM317 / LM337 Bench supply
Adding Digital control to Dual tracking LM317 / LM337 Bench supply I've been working on my own idea ...
- 基于Centos搭建个人 Leanote 云笔记本
系统要求:CentOS 7.2 64 位操作系统 下载启动 MongoDB Leanote 依赖 MongoDB 作为数据存储,下面开始安装 MongoDB: 下载 MongoDB 进入 /home ...
- 基于CentOS体验万象优图鉴黄服务
系统要求:CentOS 7.2 64 位操作系统 初始化配置 使用万象优图图片鉴黄 API 接口,我们需要先完成以下步骤: 获取腾讯云账号 APP ID 配置云 API 公钥/密钥 配置优图 buck ...
- 基于CentOS搭建基于 ZIPKIN 的数据追踪系统
系统要求:CentOS 7.2 64 位操作系统 配置 Java 环境 安装 JDK Zipkin 使用 Java8 -openjdk* -y 安装完成后,查看是否安装成功: java -versio ...