华为配置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

相关文章

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

Java springBoot初步使用websocket的代码示例

《JavaspringBoot初步使用websocket的代码示例》:本文主要介绍JavaspringBoot初步使用websocket的相关资料,WebSocket是一种实现实时双向通信的协... 目录一、什么是websocket二、依赖坐标地址1.springBoot父级依赖2.springBoot依赖

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

MySQL中COALESCE函数示例详解

《MySQL中COALESCE函数示例详解》COALESCE是一个功能强大且常用的SQL函数,主要用来处理NULL值和实现灵活的值选择策略,能够使查询逻辑更清晰、简洁,:本文主要介绍MySQL中C... 目录语法示例1. 替换 NULL 值2. 用于字段默认值3. 多列优先级4. 结合聚合函数注意事项总结C

什么是 Java 的 CyclicBarrier(代码示例)

《什么是Java的CyclicBarrier(代码示例)》CyclicBarrier是多线程协同的利器,适合需要多次同步的场景,本文通过代码示例讲解什么是Java的CyclicBarrier,感... 你的回答(口语化,面试场景)面试官:什么是 Java 的 CyclicBarrier?你:好的,我来举个例

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数

JAVA虚拟机中 -D, -X, -XX ,-server参数使用

《JAVA虚拟机中-D,-X,-XX,-server参数使用》本文主要介绍了JAVA虚拟机中-D,-X,-XX,-server参数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录一、-D参数二、-X参数三、-XX参数总结:在Java开发过程中,对Java虚拟机(JVM)的启动参数进