H3C S3110的IP Source Grande与DHCP Snooping配合绑定

2024-04-13 05:38

本文主要是介绍H3C S3110的IP Source Grande与DHCP Snooping配合绑定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述

通过在设备接入用户侧的端口上启用IP Source Guard功能,可以对端口收到的报文进行过滤控制,防止非法报文通过端口,从而限制了对网络资源的非法使用(比如非法主机仿冒合法用户IP接入网络),提高了端口的安全性。
IP Source Guard在端口上用于过滤报文的特征项包括:源IP地址、源MAC地址。这些特征项可单独或组合起来与端口进行绑定,形成绑定表项,具体包括:IP、MAC、IP+MAC、IP+VLAN、MAC+VLAN和IP+MAC+VLAN。

二、组网具体应用需求如下:

Host通过DHCP server获取IP地址。
Device上使能DHCP snooping功能,记录Host的DHCP snooping表项。
在端口Ethernet1/0/1上启用IPv4端口绑定功能,利用记录的DHCP snooping表项过滤端口转发的报文,仅允许通过DHCP server动态获取IP地址的客户端可以接入网络。

三、配置步骤

(1)配置DHCP snooping
# 开启DHCP snooping功能。
<Device> system-view
[Device] dhcp-snooping
# 设置与DHCP server相连的端口Ethernet1/0/2为信任端口。其他端口默认为不信任端口
[Device] interface ethernet 1/0/2
[Device-Ethernet1/0/2] dhcp-snooping trust
[Device-Ethernet1/0/2] quit
(2)配置IPv4端口绑定功能
# 配置端口Ethernet1/0/1的IPv4端口绑定功能,绑定源IP地址和MAC地址。
[Device] interface ethernet 1/0/1
[Device-Ethernet1/0/1] ip verify source ip-address mac-address
[Device-Ethernet1/0/1] quit

四、验证配置结果(如果Ethernet1/0/1端口Host主机自己手动设置IP地址,是无法正常上网

# 显示端口Ethernet1/0/1上的绑定表项信息。

[Device]display  ip source binding 
Total entries found: 1
 MAC Address     IP Address                      VLAN  Interface     Type
 9829-a60a-7760  192.168.3.55                    3     Eth1/0/1      DHCP-SNP

# 显示DHCP snooping已有的动态表项,查看其是否和端口Ethernet1/0/1获取的动态表项一致。
[Device]display  dhcp-snooping 
 DHCP Snooping is enabled.
 The client binding table for all untrusted ports.
 Type : D--Dynamic , S--Static , R--Recovering
 Type IP Address      MAC Address    Lease        VLAN SVLAN Interface
 ==== =============== ============== ============ ==== ===== =================
 D    192.168.3.55    9829-a60a-7760 172075       3    N/A   Eth1/0/1
---   1 dhcp-snooping item(s) found   ---
从以上显示信息可以看出,端口Ethernet1/0/1在配置IPv4端口绑定功能之后根据获取的DHCP snooping表项产生了端口绑定表项。

上面实现了交换机端口必须是通过DHCP服务器获取到的IP地址的主机才能上网,防止客户端自己手动输入静态IP,导致DHCP服务器异常,也防止非法接入类似傻瓜路由器设备,因为傻瓜路由器一般都会带有HDCP服务,避免客户端获取到傻瓜路由器的IP有无法上网。另外如果需要更进一步实现接入用户的控制,可以在此基础上加入动态MAC地址学习数量并绑定端口

一、操作步骤

[Device]port-security enable #使能端口安全
[Device]interface  Ethernet  1/0/1 
[Device-Ethernet1/0/1]port-security max-mac-count 1 #最多允许1个MAC地址
[Device-Ethernet1/0/1]port-security port-mode autolearn #端口安全模式
[Device-Ethernet1/0/1]port-security intrusion-mode disableport #入侵检测,并执行对应操作

二、验证配置结果

[Device]display  port-security 
 Equipment port-security is enabled
 Intrusion trap is enabled
 AutoLearn aging time is 0 minutes
 Disableport Timeout: 20s
 OUI value:

 Ethernet1/0/1 is link-up
   Port mode is secure
   NeedToKnow mode is disabled
   Intrusion Protection mode is DisablePort
   Max MAC address number is 1
   Stored MAC address number is 1
   Authorization is permitted
   Security MAC address learning mode is sticky
   Security MAC address aging type is absolute

[Device]display  current-configuration  interface  Ethernet  1/0/1
#
interface Ethernet1/0/1
 port access vlan 3
 port-security max-mac-count 1
 port-security port-mode autolearn
 port-security intrusion-mode disableport
 port-security mac-address security sticky 9829-a60a-7760 vlan 3
 ip verify source ip-address mac-address

当前Ethernet  1/0/1只允许一个MAC地址,如果检测到第二个MAC接入,就会触发入侵检测,端口自动down,

1、告警如:

#Feb 15 14:59:04:121 2019 SW36 PORTSEC/4/VIOLATION: Trap1.3.6.1.4.1.25506.2.26.1.3.2<hh3cSecureViolation> 
 An intrusion occurs! 
 IfIndex: 18743296 
 Port: 18743296 
 MAC Addr: 98:29:A6:0A:77:06 
 VLAN ID: 3 
 IfAdminStatus: 2 
%Feb 15 14:59:04:415 2019 SW36 PORTSEC/5/PORTSEC_VIOLATION: -IfName=Ethernet1/0/1-MACAddr=98:29:A6:0A:77:06-VlanId=-3-IfStatus=Down; Intrusion detected.

2、查看Eth1/0/1端口down原因,可以看到是触发了端口安全的入侵检测。Eth1/0/2是正常down状态

[SW36]display  interface  brief down 
The brief information of interface(s) under bridge mode:
Link: ADM - administratively down; Stby - standby
Interface            Link Cause
Eth1/0/1             DOWN  Port Security Disabled
Eth1/0/2             DOWN Not connected

 

这篇关于H3C S3110的IP Source Grande与DHCP Snooping配合绑定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringMVC入参绑定特别注意

1.直接在controller中定义一个变量,但是此种传输方式有一个限制就是参数名和请求中的参数名必须保持一致,否则失效。 @RequestMapping("test2")@ResponseBodypublic DBHackResponse<UserInfoVo> test2(String id , String name){UserInfoVo userInfoVo = new UserInf

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

10 Source-Get-Post-JsonP 网络请求

划重点 使用vue-resource.js库 进行网络请求操作POST : this.$http.post ( … )GET : this.$http.get ( … ) 小鸡炖蘑菇 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-w

react笔记 8-19 事件对象、获取dom元素、双向绑定

1、事件对象event 通过事件的event对象获取它的dom元素 run=(event)=>{event.target.style="background:yellowgreen" //event的父级为他本身event.target.getAttribute("aid") //这样便获取到了它的自定义属性aid}render() {return (<div><h2>{

react笔记 8-17 属性绑定 class绑定 引入图片 循环遍历

1、绑定属性 constructor(){super()this.state={name:"张三",title:'我是一个title'}}render() {return (<div><div>aaaaaaa{this.state.name}<div title={this.state.title}>我是一个title</div></div></div>)} 绑定属性直接使用花括号{}   注

react笔记 8-16 JSX语法 定义数据 数据绑定

1、jsx语法 和vue一样  只能有一个根标签 一行代码写法 return <div>hello world</div> 多行代码返回必须加括号 return (<div><div>hello world</div><div>aaaaaaa</div></div>) 2、定义数据 数据绑定 constructor(){super()this.state={na

linux下查看自己的外网ip

局域网的服务器是通过ADSL路由器连接外网的,但ADSL是从ISP运营商那儿通过动态获得IP的,那么我怎么知道自己的外网地址是多少呢? 今天得到几个办法: curl -s http://whatismyip.org wget http://whatismyip.org 然后再  cat index.html 也可以看到

综合DHCP、ACL、NAT、Telnet和PPPoE进行网络设计练习

描述:企业内网和运营商网络如上图所示。 公网IP段:12.1.1.0/24。 内网IP段:192.168.1.0/24。 公网口PPPOE 拨号采用CHAP认证,用户名:admin 密码:Admin@123 财务PC 配置静态IP:192.168.1.8 R1使用模拟器中的AR201型号,作为交换路由一体机,下图的WAN口为E0/0/8口,可以在该接口下配置IP地址。 可以通过

linux下TCP/IP实现简单聊天程序

可以在同一台电脑上运行,在一个终端上运行服务器端,在一个终端上运行客户端。 服务器端的IP地址要和本地的IP相同,并分配端口号,客户端的默认设置为本地,端口号自动分配。 服务器端: #include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/types.