华为配置DHCP Snooping防止DHCP Server仿冒者攻击示例

2024-03-08 14:20

本文主要是介绍华为配置DHCP Snooping防止DHCP Server仿冒者攻击示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

配置DHCP Snooping防止DHCP Server仿冒者攻击示例

组网图形

图1 配置DHCP Snooping防止DHCP Server仿冒者攻击组网图
 

  • DHCP Snooping简介
  • 配置注意事项
  • 组网需求
  • 配置思路
  • 操作步骤
  • 配置文件

DHCP Snooping简介

在一次DHCP客户端动态获取IP地址的过程中,DHCP Snooping会对客户端和服务器之间的DHCP报文进行分析和过滤。通过合理的配置实现对非法服务器的过滤,防止用户端获取到非法DHCP服务器提供的地址而无法上网。

当您的网络中存在DHCP服务器欺骗的时候就可以考虑采用这个功能,比如:

  • 网络中有个别终端用的是Windows Server 2003或者2008系统,默认开启了DHCP分配IP的服务。
  • 一些接入层的端口连接有开启了DHCP分配IP服务的无线路由器。

我们推荐在用户接入层交换机上面部署DHCP Snooping功能,越靠近PC端口控制的越准确。而每个交换机的端口推荐只连接一台PC,否则如果交换机某端口下串接一个Hub,在Hub上连接了若干PC的话,那么如果凑巧该Hub下发生DHCP欺骗,由于欺骗报文都在Hub端口间直接转发了,没有受到接入层交换机的DHCP Snooping功能的控制,这样的欺骗就无法防止了。

配置注意事项

V100R006C05版本中,S2700-SI不支持DHCP Snooping功能,其他版本所有产品均适用该示例。

组网需求

如图1所示,SwitchA是接入交换机,下挂的PC采用DHCP获取IP地址。SwitchB是核心交换机,部署了DHCP服务器功能。为了防止有用户将非法的DHCP服务器接入网络,如自带的无线小路由器等,导致正常用户获取到错误的地址而上不了网或者导致正常用户获取到冲突的地址,需要部署DHCP Snooping功能。

配置思路

采用如下思路配置DHCP Snooping:

  1. 在核心交换机SwitchB上部署DHCP服务器功能。
  2. 在接入交换机SwitchA上全局使能DHCP Snooping,然后在连接PC的接口使能DHCP Snooping,同时将上联核心交换机的接口配置为信任接口(信任接口正常接收DHCP服务器响应的DHCP报文。另外,接入交换机只会将PC的DHCP请求报文通过信任接口发送给核心交换机)。

操作步骤
配置DHCP服务器功能。# 在SwitchB上配置DHCP服务器功能。<HUAWEI> system-view
[HUAWEI] sysname SwitchB
[SwitchB] vlan batch 10
[SwitchB] interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1] port link-type trunk
[SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SwitchB-GigabitEthernet0/0/1] quit
[SwitchB] dhcp enable
[SwitchB] interface vlanif 10
[SwitchB-Vlanif10] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vlanif10] dhcp select interface  //使能基于接口地址池分配IP地址功能
[SwitchB-Vlanif10] quit
配置DHCP Snooping功能。# 在SwitchA上配置DHCP Snooping功能。<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type trunk
[SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type access
[SwitchA-GigabitEthernet0/0/2] port default vlan 10
[SwitchA-GigabitEthernet0/0/2] quit
[SwitchA] interface gigabitethernet 0/0/3
[SwitchA-GigabitEthernet0/0/3] port link-type access
[SwitchA-GigabitEthernet0/0/3] port default vlan 10
[SwitchA-GigabitEthernet0/0/3] quit
[SwitchA] dhcp enable
[SwitchA] dhcp snooping enable ipv4  //使能全局DHCP Snooping功能并配置设备仅处理DHCPv4报文,节约设备的CPU利用率
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] dhcp snooping enable  //使能用户侧接口的DHCP Snooping功能
[SwitchA-GigabitEthernet0/0/2] quit
[SwitchA] interface gigabitethernet 0/0/3
[SwitchA-GigabitEthernet0/0/3] dhcp snooping enable
[SwitchA-GigabitEthernet0/0/3] quit
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] dhcp snooping trusted  //配置为信任接口,使得接入交换机只处理从该接口收到的DHCP服务器响应报文
[SwitchA-GigabitEthernet0/0/1] quit
验证配置结果# 在SwitchA上执行命令display dhcp snooping configuration,查看DHCP Snooping的配置信息。
[SwitchA] display dhcp snooping configuration
#
dhcp snooping enable ipv4
#
interface GigabitEthernet0/0/1dhcp snooping trusted
#
interface GigabitEthernet0/0/2dhcp snooping enable
#
interface GigabitEthernet0/0/3dhcp snooping enable
#
# 在SwitchB上执行命令display ip pool interface vlanif10 used,查看地址池中已经使用的IP地址信息。[SwitchB] display ip pool interface vlanif10 usedPool-name      : Vlanif10Pool-No        : 1Lease          : 1 Days 0 Hours 0 MinutesDomain-name    : -DNS-server0    : -NBNS-server0   : -Netbios-type   : -Position       : Interface       Status           : UnlockedGateway-0      : 10.1.1.1Network        : 10.1.1.0Mask           : 255.255.255.0VPN instance   : -------------------------------------------------------------------------------Start           End     Total  Used  Idle(Expired)  Conflict  Disable-----------------------------------------------------------------------------10.1.1.1      10.1.1.254   253     1        252(0)         0        0-----------------------------------------------------------------------------Network section :-----------------------------------------------------------------------------Index              IP               MAC      Lease   Status-----------------------------------------------------------------------------253      10.1.1.254    xxxx-xxxx-xxxx         46   Used-----------------------------------------------------------------------------  
# 在SwitchA上执行命令display dhcp snooping user-bind all,查看DHCP Snooping绑定表信息。[SwitchA] display dhcp snooping user-bind all
DHCP Dynamic Bind-table:
Flags:O - outer vlan ,I - inner vlan ,P - Vlan-mapping
IP Address       MAC Address     VSI/VLAN(O/I/P) Interface      Lease
--------------------------------------------------------------------------------
10.1.1.254       xxxx-xxxx-xxxx  10  /--  /--    GE0/0/2        2014.09.21-09:33
--------------------------------------------------------------------------------
Print count:           1          Total count:           1           
  1. 后续所有PC通过DHCP获取的IP地址只会由SwitchB进行分配。

配置文件
SwitchA的配置文件#
sysname SwitchA
#
vlan batch 10
#
dhcp enable
#
dhcp snooping enable ipv4
#
interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 10dhcp snooping trusted
#
interface GigabitEthernet0/0/2port link-type accessport default vlan 10dhcp snooping enable
#
interface GigabitEthernet0/0/3port link-type accessport default vlan 10dhcp snooping enable
#
return
SwitchB的配置文件#
sysname SwitchB
#
vlan batch 10
#
dhcp enable
#
interface Vlanif10ip address 10.1.1.1 255.255.255.0dhcp select interface
#
interface GigabitEthernet0/0/1port link-type trunkport trunk allow-pass vlan 10
#
return

这篇关于华为配置DHCP Snooping防止DHCP Server仿冒者攻击示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/787369

相关文章

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

pandas中位数填充空值的实现示例

《pandas中位数填充空值的实现示例》中位数填充是一种简单而有效的方法,用于填充数据集中缺失的值,本文就来介绍一下pandas中位数填充空值的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是中位数填充?为什么选择中位数填充?示例数据结果分析完整代码总结在数据分析和机器学习过程中,处理缺失数

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时