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 ,每发送一条就会切换下一跳 ### 配置实现 ![](https://i-blog.csdnimg.cn/direct/92c80f1d78cf4ab3a82562a2988c9eaf.png) 图片中的 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 功能

相关推荐
IMPYLH1 小时前
Linux 的 touch 命令
linux·运维·服务器·bash
uestcwhc2 小时前
服务器定时发送邮件设置
运维·服务器
lzh200409192 小时前
深入学习Linux进程间通信:共享内存
linux·c++
雷工笔记2 小时前
MES 系统设备管理模块详细设计方案
大数据·运维·网络
ErizJ2 小时前
Linux|学习笔记
linux·笔记·学习
wangchunting2 小时前
VMware17 使用Rocky Linux 9.7系统
linux·运维·服务器
相醉为友2 小时前
040 Linux/裸机/RTOS 项目开发的跨平台兼容性——C语言静态接口抽象底层原理分析
linux·c语言·mcu
xhbh6662 小时前
端口转发是什么?如何设置端口转发?
网络·流量转发·端口流量转发
Mapleay2 小时前
ALSA 专业术语 和 dai_link 分析
linux