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

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二