前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >DHCP协议

DHCP协议

作者头像
奶油话梅糖
发布2025-03-03 15:02:11
发布2025-03-03 15:02:11
7200
代码可运行
举报
运行总次数:0
代码可运行

DHCP协议

一、DHCP介绍

DHCP Snooping

1、DHCP Snooping概念:

防止非法DHCP服务器(设置信任接口和非信任接口)

  • DHCP Snooping,中文名称为DHCP窥探,可以提供以下两方面的功能:
  • 启用DHCP Snooping功能的接入交换机,将端口置为Untrust口,此类型的端口将过滤网络中非法DHCP服务器发出的报文,从而防止非法DHCP服务器提供错误的IP地址和网关;
  • 通过对Client和服务器之间的DHCP交互报文进行窥探实现对用户IP地址使用情况的记录和监控,生成DHCP Snooping Binding表项,所有这些表项作为合法用户的信息表,提供给设备的其他安全模块使用,实现进一步的接入安全功能。
2、非法DHCP服务器对网络的影响:
  • 组网背景:核心交换机作为园区网用户的网关设备,启用DHCP功能,实现园区网接入用户自动获取IP地址的需求,同时某接入交换机旁挂了一台非法的DHCP服务器。
    • 终端发出DHCPDiscover广播包,同时被核心交换机(合法的DHCP服务器)和非法的DHCP服务器收到;
    • 核心交换机和非法DHCP服务器都会回应一个Offer报文;
    • 终端PC1有可能首先收到了非法DHCP服务器回应的Offer报文,PC1就会给非法的DHCP服务器发送Request报文去请求IP地址;
    • 非法DHCP服务器回应ACK报文,并提供了错误的IP地址、DNS和网关等信息,导致终端PC1无法上网。
  • DHCP Snooping是能够解决该问题的一种技术。
3、DHCP snooping技术原理
  • 核心交换机作为园区网用户的网关设备,启用DHCP功能,实现园区网接入用户自动获取IP地址的需求,同时某接入交换机旁挂了一台非法的DHCP服务器。
  • 核心交换机正常开启DHCP功能并做正确的DHCP配置;接入交换机开启DHCP Snooping功能,默认情况所有接口都是Untrust口;
  • 接入交换机连接DHCP服务器的端口设置为DHCP Snooping Trus口;
  • 从Untrust接口收到的DHCP offer和ACK报文都将被丢弃。
代码语言:javascript
代码运行次数:0
复制
Ruijie(config)#ip dhcp snooping------>开启DHCP snooping功能
Ruijie(config)#interface gigabitEthernet 0/24
Ruijie(config-GigabitEthernet 0/24)#ip dhcp snooping trust
4、DHCP snooping绑定表的维护
  • 核心交换机作为园区网用户的网关设备,启用DHCP功能,实现园区网接入用户自动获取IP地址的需求,同时某接入交换机旁挂了一台非法的DHCP服务器。
  • DHCP Snooping表项的删除方式:
    • 记录的租约时间到期(续租成功不会删除)
    • 窥探到客户端发送的合法DHCP-RELEASE/DHCP-DECLINE报文
    • 接收到来自TRUST口的NAK报文时(意味着offer中的地址不可用)
    • 用户使用clear命令主动删除Binding记录时
代码语言:javascript
代码运行次数:0
复制
Ruijie# clear ip dhcp snooping binding  [A.B.C.D | H.H.H | interface | vlan| <cr>]
5、DHCP饿死攻击:

攻击者模拟正常用户不断申请地址,使地址申请一空,正常用户再次接入则无法获取地址。

攻击者通过不断修改应用层的申请mac,从而模拟正常用户。

数据链路层mac----发包主机的mac地址

应用层DHCP申请mac---DHCP申请mac

DHCP Snooping开启源mac校验会检查数据链路层的mac和应用层的mac。如果一致则为合法用户可以放行,不一致则丢弃。

6、DHCP snooping其他特性
  • DHCP snooping只能窥探非中继的DHCP报文,如果网络中有存在中继的情况,需在配置了DHCP snooping的设备全局模式下做如下配置(giaddr字段在DHCP报文中表示的discover报文经过的第一个中继设备的IP地址):
代码语言:javascript
代码运行次数:0
复制
Ruijie(config)#ip dhcp snooping check-giaddr
  • DHCP Snooping生效的端口可以是有线的交换口、2层AP口或者2层封装子接口
  • VRF场景中,不支持DHCP Snooping和DHCP Relay同时部署;
  • 开启DHCP Snooping宽松转发功能后,如果DHCP Snooping绑定表项满容量,新用户DHCP报文能继续转发获取到地址,但是DHCP Snooping不会记录新用户的绑定表项。如不开启,则在表项满容量之后无法获取到IP地址。开启命令如下:
代码语言:javascript
代码运行次数:0
复制
Ruijie(config)#ip dhcp snooping loose-forward

IP Source Guard

1、IP Source Guard概述

防止IP欺骗

检查基线:DHCP snooping、手工静态

检查:IP-only、IP-mac

  • 局域网IP冲突给网络的运维带来很大困扰,如右图所示网络会存在以下风险:
    • PC1放弃DHCP,而使用手工配置IP地址的方式上网,如果配置为172.16.1.254或者172.16.1.200,都将会导致网络异常;
    • PC2进行伪造源IP地址的扫描,将导致内网用户大规模的IP地址冲突,无法正常上网。
  • 面对风险,IP Source Guard技术应运而生。IP Source Guard功能通过检测报文中的源IP或源IP+源MAC,只放行合法报文。
  • 关键:检查基线+过滤规则
2、IP Source Guard源数据-DHCP Snooping表项
  • DHCP Snooping表项,记录了mac地址、IP地址、VLAN号和接口信息
  • DHCP Snooping表项提供了完美的用于数据包过滤的源数据信息,即检查基线。端口下配置数据包过滤规则:
代码语言:javascript
代码运行次数:0
复制
Ruijie(config)#interface rangegigabitEthernet0/10-11
Ruijie(config-if-range)#ip verify source [ exclude-vlan| port-security |<cr>]
注释:
exclude-vlan,指定例外VLAN,该VLAN接受的报文不受IP Source Guard控制port-security,配置即意味着基于IP+MAC进行检查
<cr>,直接回车意味着检查规则是ip-only,只对IP进行检查
  • 私设的IP地址的终端,由于其相关信息不符合DHCP Snooping绑定表,数据包被丢弃。实现了防止IP地址私设的功能需求。
3、IP Source Guard源数据-静态添加

全局手工配置静态绑定条目的方式,添加IP Source Guard源数据

代码语言:javascript
代码运行次数:0
复制
Ruijie(config)#ip source binding 0000.0000.0001 vlan 10 172.16.1.1 interfaceGi0/10----接口+IP添加
Ruijie(config)#ip source binding 0000.0000.0001 vlan 10 172.16.1.1 ip-mac----IP+Mac添加
Ruijie(config)#ip source binding 0000.0000.0001 vlan 10 172.16.1.1 ip-only----仅IP添加
  • 接口下开启ipverify source(IP-Only或IP+Mac方式)
  • 配置建议:全局绑定的方式和端口过滤的规则保持一致,即全局ip+mac添加源数据,则端口下要基于ip+mac过滤(如不一致,最终生效的规则以全局配置为准)
  • 全局和端口下不同组合的生效情况:

全局interface+IP

全局ip+mac

全局ip-only

接口仅IP

ip

ip+mac

ip

接口IP+Mac

ip

ip+mac

ip

4、IP Source Guard查看
  • showipsource binding查看IP Source Guard源数据信息
  • showipverify source查看配置了IP Source Guard的端口以及对应的检测类型
5、IP Source Guard使用注意事项
  • 打开IP Source Guard功能可能会影响IP报文的转发,一般情况下,该功能需要结合DHCP Snooping功能使用,IP Source Guard和DHCP Snooping功能配置的先后顺序不做限制;
  • 无法在DHCP Snooping信任端口上配置IP Source Guard功能;
  • 无法在全局IP+MAC的例外口配置IP Source Guard功能;纯二层技术
  • 有线环境下,只能在交换口、2层AP口、2层封装子接口下配置开启。

DHCP整体配置:

代码语言:javascript
代码运行次数:0
复制
DHCP 命令:
service   DHCP       / /开启DHCP服务【DHCP服务器和中继都需要】

ip  DHCP pool  ***   //创建一个DHCP的池名字为***
network  ip地址 掩码  //设置可分配ip地址范围
 lease  天  时  分钟     //设置租约时间*天*时*分钟
 default-router  网关ip    //设置默认网关
 dns-server  *,*,*,*  //设置DNS服务器

ip dhcp  excluded-address  ip地址  //设置DHCP不能分配的地址或地址范围

ip  help-address  DHCP服务器ip //设置帮助到达DHCP服务器【只在中继上配置】

VPC:
ip   dhcp   //通过DHCP获取地址
ip   10.10.10.10   24  10.10.10.1  //设置VPCip地址为10.10.10.10,掩码:24 ,网关:10.10.10.1 

路由器当做PC时:
interface   g0/0  //进入接口
ip  address dhcp   //接口使用DHCP获取地址


DHCP  SNOOPING 
作用:防止非法DHCP服务器,
开启DHCP snooping  所有接口非信任,开启一般只开一个接口信任口
DHCP snooping表项:【可以和ip source guard  一起使用,防止有用户手工配置IP 地址,不防止可能会产生IP 地址冲突】
DHCP snooping只看非中继的包,
ip dhcp snooping check-giaddr //可以 查看非中继的DHCP 包
[模拟器无法配置宽松转发]
ip dhcp snooping loose-forward //开启DHCP Snooping宽松转发功能

IP  source  guard
【防止手工配置地址,只能DHCP获取地址才允许通过】
IP  source  guard 应用配置:
ip verify source [ exclude-vlan | port-security | <cr> ]  #加port-security表示检查ip+mac,不加表示只检查ip
 exclude-vlan  //排除某个vlan,不在进行管理
 port-security   //配置IP+MAC
<cr>  //只配置表项里的IP

配置静态表项:
ip source binding 0000.0000.0001 vlan 1 172.16.1.1 ip-only/ip-mac/interface g0/1   //只匹配ip/匹配IP+MAC,/匹配接口+IP

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DHCP协议
    • 一、DHCP介绍
    • DHCP Snooping
      • 1、DHCP Snooping概念:
      • 2、非法DHCP服务器对网络的影响:
      • 3、DHCP snooping技术原理
      • 4、DHCP snooping绑定表的维护
      • 5、DHCP饿死攻击:
      • 6、DHCP snooping其他特性
    • IP Source Guard
      • 1、IP Source Guard概述
      • 2、IP Source Guard源数据-DHCP Snooping表项
      • 3、IP Source Guard源数据-静态添加
      • 4、IP Source Guard查看
      • 5、IP Source Guard使用注意事项
    • DHCP整体配置:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档