DHCP

DHCP

DHCP:动态主机配置协议,基于 UDP 的 67 68 端口进行工作

DHCP 报文:

discover:用来发现和寻找 DHCP 服务器(广播)

offer:用于承载服务器为客户提供的 IP 地址(单播)

request:用于请求和续租 IP 地址(广播、单播)

  1. 当客户端正常请求 IP 地址的时候是广播 request
  2. 50% 发送单播的 request 报文,请求对 IP 地址续租
  3. 87.5% 发送广播的 request 报文,请求重新绑定 IP 地址

ACK:服务器用于确认客户端的请求报文(单播)

NAK:服务器用于拒绝客户端的请求报文(单播)

DHCP 配置实现

DHCP 地址分配顺序:

  1. 静态固定分配的
  2. PC 使用 Option 55 指定请求某个 IP 地址
  3. 曾经分配给该客户的IP地址
  4. 选择 idle 状态的地址,即空闲地址,按从大到小的顺序分配
  5. 选择已经回收的地址,和处于冲突状态的地址

DHCP 中继(DHCP Relay)

使用 DHCP 可以跨越二层广播域传递,这样 DHCP server 就可以收到地址分配请求信息

配置:Huawei-Vlanif10 dhcp select relay //开启 DHCP 中继功能

Huawei-Vlanif10 dhcp relay server-ip + 指定DHCP服务器的IP地址 //指定 DHCP 服务器的IP地址

DHCP 中继会将 DHCP Request 广播请求以单播的方式转发给 DHCP Server

在 DHCP Server 上添加下一跳的静态地址

当出现多个 DHCP Server 时,可以在 DHCP 中继上配置多个下一跳,配置完成后需要在全局模式下开启负载功能:ip relay address cycle ,每发送一条就会切换下一跳

配置实现

图片中的 DHCP 中继使用的地址组,可以添加多个 DHCP-Server,配置完成之后,只需要在接口下启用这个组就可以

DHCP 中出现的攻击

1、DHCP 饿死攻击

攻击者模仿 DHCP 请求者频繁发送 DHCP 请求,以此来将 DHCP Server 中的 IP 地址消耗殆尽,导致 DHCP Server 无妨正常分配地址

2、模仿 DHCP Server 攻击

攻击者模仿 DHCP Server 向请求者发送错误的 IP 地址和 网关,导致客户端无法正常上网

3、中间者攻击

类似于 ARP 欺骗,DHCP 请求者请求 DHCP Server 的途中,中间者会将请求者和回复者的 MAC 地址转换为自己的 MAC

DHCP Snooping(DHCP 防护)

在交换机上配置,分为全局下开启和接口下开启

如何防止饿死攻击:

开启了 DHCP Snooping 的交换机,收到 DHCP Requeest 之后,将会对比这个 DHCP 报文中的 CHADDR 和数据链路层中的源 MAC 地址是否相同,如果不同,则判定为非法报文,交换机直接丢弃

配置

Huawei dhcp enable //开启 DHCP 功能

Huawei dhcp snooping enable //只支持了dhcp snooping 功能,但没有启用

Huawei-g0/0/1 dhcp snooping check dhcp-chaddr enable //该接口下开启二层源 MAC 和 CHADDR 一致性检查

Huawei-g0/0/1 dhcp snooping max-user-number 5 //修改此接口下的最大绑定数目 5

Huawei-g0/0/1 dhcp snooping sticky-mac //根据 DHCP Snooping 表项形成静态 MAC 地址表,同时关闭接口的 MAC 地址学习功能,同时将收到的报文丢弃
Huawei-g0/0/1 mac-address learning disable action discard/forward //关闭此接口的MAC 地址学习,如果不学习,将此接口的信息丢弃/转发

如何防止模仿 DHCP Server 攻击:

当在交换机上开启了 DHCP Snooping 功能之后,交换机的接口分为两类:信任接口和非信任接口

非信任接口:收到 DHCP Request 消息,只会转发给信任接口,如果没有信任接口,报文将会被丢弃

收到 DHCP Relay 消息,将会直接丢弃

信任接口:收到 DHCP Request 消息,只会转发给除了本接口以外的所有信任接口,如果没有其他信任接口,报文将会被丢弃

收到 DHCP Relay 消息,将会转发给相应的客户端

默认只要开启了 DHCP Snooping 功能的接口都是非信任接口

接口下:dhcp snooping trusted //配置接口为信任接口

如何防止 DHCP 中间者攻击:

开启 DHCP Snooping 的交换机,收到 ARP 报文之后,将会读取 ARP 报文中的源 MAC 地址和源 IP 地址,和 Snooping 绑定表做匹配检查

如果匹配检查不一致,那么将会判断此 ARP 报文不是合法报文,将丢弃此 ARP 报文

系统视图下执行配置命令:arp dhcp-snooping-detect enable //开启 ARP 报文和 Snooping 绑定表匹配检查功能

IPSG(静态源表项保护):

作用:主要用于防止源 IP 地址欺骗攻击

实现原理:通过在交换机上配置绑定表(IP MAC VLAN IP 端口)来针对收到的 IP 报文进行匹配检查(基于 IP 封装的数据报文),如果报文不符合绑定表,则报文被丢弃

两种绑定表项:

  1. 静态绑定表:需要人为手动配置的绑定表项
  2. 冬天绑定表:基于 DHCP Snooping 功能产生的 snooping 表项来进行实现保护

配置:

Huawei user-bind static ip-address 192.168.1.1 mac-address + IP对应的MAC +interface +IP对应的接口 + IP对应的vlan //创建静态表项

端口或者 VLAN 下:ip source check user-bind enable //开启 DHCP Snooping 与 IPSG 的联动功能,即基于 Snooping 实现的 IPSG 功能

相关推荐
一池秋_几秒前
ubuntu(linux)完美复刻windows11字体,解决linux字体费眼晴
linux·运维·ubuntu
随风一样自由2 分钟前
【WSL+Linux】国内网络连接微软官方服务器(或GitHub)不稳定,导致下载内核或Linux发行版时超时断开如何解决?
linux·服务器·wsl
源图客4 分钟前
Claude Code基础使用
服务器·前端·数据库
川石课堂软件测试16 分钟前
性能测试|Nginx中间件监控与调优
linux·python·nginx·中间件·单元测试·压力测试·harmonyos
次旅行的库17 分钟前
解决ValueError: too many values to unpack (expected 2)
linux·人工智能·深度学习·机器学习·推荐算法
清晨曦月18 分钟前
【从零构建分布式在线评测系统】二、Judge0服务器上的心跳程序
运维·服务器·分布式
yqcoder1 小时前
什么是 Math 对象
网络·网络协议·udp
Starry-sky(jing)1 小时前
Win11 装 ESP32 Arduino 库卡 3 小时?我把官方 3.3.10 全平台 522MB 搬到了蓝奏云,解压即用
运维·windows·esp32·arduino·离线安装
小此方2 小时前
Re:Linux系统篇(四十二)通信篇·七:SystemV标准三部曲其之三:信号量与并发编程初步认识
linux·运维·驱动开发
画中有画9 小时前
使用yolov8实现自动化脚本
运维·yolo·自动化