20-ND攻击防御命令
本章节下载: 20-ND攻击防御命令 (261.09 KB)
目 录
1.1.1 ipv6 nd check log enable
1.1.2 ipv6 nd mac-check enable
1.2.1 ipv6 nd scan auto enable
1.2.2 ipv6 nd scan auto send-rate
1.3.1 snmp-agent trap enable nd
1.4.1 display ipv6 nd scan keepalive entry
1.4.2 display ipv6 nd scan keepalive statistics
1.4.3 ipv6 nd scan keepalive aging-time
1.4.4 ipv6 nd scan keepalive enable
1.4.5 ipv6 nd scan keepalive send-rate
1.4.6 reset ipv6 nd scan keepalive statistics
1.5.1 ipv6 nd resolving-route enable
ipv6 nd check log enable命令用来开启ND日志信息功能。
undo ipv6 nd check log enable命令用来关闭ND日志信息功能。
【命令】
ipv6 nd check log enable
undo ipv6 nd check log enable
【缺省情况】
ND日志信息功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
设备生成的ND日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“设备管理配置指导”中的“信息中心”。
为了防止设备输出过多的ND日志信息,一般情况下建议不要开启此功能。
【举例】
# 开启ND日志信息功能。
<Sysname> system-view
[Sysname] ipv6 nd check log enable
ipv6 nd mac-check enable命令用来开启ND协议报文源MAC地址一致性检查功能。
undo ipv6 nd mac-check enable命令用来关闭ND协议报文源MAC地址一致性检查功能。
【命令】
ipv6 nd mac-check enable
undo ipv6 nd mac-check enable
【缺省情况】
ND协议报文源MAC地址一致性检查功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
网关设备开启该功能后,会对接收到的ND协议报文进行检查,如果ND报文中的源MAC地址和以太网数据帧首部的源MAC地址不一致,则丢弃该报文。
【举例】
# 开启ND协议报文源MAC地址一致性检查功能。
<Sysname> system-view
[Sysname] ipv6 nd mac-check enable
ipv6 nd scan auto enable命令用来在接口上开启ND表项周期性自动扫描功能,并指定扫描范围。
undo ipv6 nd scan auto enable命令用来在接口上关闭ND表项周期性自动扫描功能。
【命令】
ipv6 nd scan auto enable start-ipv6-address to end-ipv6-address [ source-addr source-ipv6-address ]
undo ipv6 nd scan auto enable
【缺省情况】
接口上的ND表项周期性自动扫描功能处于关闭状态。
【视图】
三层以太网接口视图
三层以太网子接口视图
三层聚合接口视图
三层聚合子接口视图
VSI虚接口视图
VLAN接口视图
【缺省用户角色】
network-admin
【参数】
start-ipv6-address:ND自动扫描区间的起始IPv6地址。起始IPv6地址必须小于等于终止IPv6地址。
to end-ipv6-address:ND自动扫描区间的终止IPv6地址。起始IPv6地址和终止IPv6地址之间的地址个数不能超过65535。
source-addr source-ipv6-address:指定NS消息的源地址。source-ipv6-address可以是任何合法的IPv6地址。若不指定该参数,则表示NS消息的源地址为所在接口的IPv6地址。
【使用指导】
设备上的ND表项可以通过邻居请求消息NS及邻居通告消息NA来动态创建,但是这个动态创建过程需要流量来触发。接口上开启了ND周期自动扫描功能后,会周期性的向指定范围内的所有ND表项中不存在的IPv6地址发送NS请求报文,从而解决了NS消息的发送依赖流量以及接口ND表项无法及时更新的问题。
接口发送NS请求报文时使用的源地址可选择指定,缺省为配置的接口IPv6地址:
· 如果开启本功能时未指定源source-addr参数,则接口将对ND自动扫描区间和接口所在网段的交集进行扫描。如果接口上配置了多个网段的IPv6地址,且这些网段与ND自动扫描区间都有交集,则设备发送的请求消息NS的源IPv6地址为前缀较长的地址;如果前缀长度相同,则选择接口主IPv6地址。
· 如果开启本功能时指定了source-addr参数,则接口将对ND自动扫描区间进行扫描,不判断与接口网段的交集。
如果接口上开启了ND Proxy功能,则接口上指定的NS消息的源地址不会影响设备三层通信的报文转发路径,关于ND Proxy功能的详细介绍,请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
接口上开启了ND周期自动扫描功能后,会按照指定的扫描速率向扫描区间的所有IPv6地址发送NS请求报文,设备发送NS报文的速率可通过ipv6 nd scan auto send-rate命令设置。
为避免影响设备转发性能,建议仅在网络中用户频繁上下线的环境下开启本功能。
【举例】
# 在GigabitEthernet0/0/1接口上对指定地址网段内的邻居进行扫描。
<Sysname> system-view
[Sysname] interface gigabitethernet 0/0/1
[Sysname-GigabitEthernet0/0/1] ipv6 nd scan auto enable 2001::1 to 2001::10
ipv6 nd scan auto send-rate命令用来设置ND表项周期性自动扫描的速率。
undo ipv6 nd scan auto send-rate命令用来恢复缺省情况。
【命令】
ipv6 nd scan auto send-rate { ppm ppm | pps pps }
undo ipv6 nd scan auto send-rate
【缺省情况】
ND表项周期性自动扫描速率为每秒发送48个包。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
ppm ppm:接口发送ND报文的速率,取值范围为10~600,单位为包每分钟,为10的整数倍。当ppm不是10的整数倍时设备会提示配置错误。
pps pps:接口发送ND报文的速率,取值范围为10~1000,单位为包每秒,为10的整数倍。当pps不是10的整数倍时设备会提示配置错误。
【使用指导】
接口下开启ND表项周期性自动扫描功能后,会按照指定的速率发送ND报文,为避免接口发送的ND报文对设备性能造成影响,可通过本命令调整接口发送ND报文的速率。
当配置了较大的发送ND报文的速率时,为避免影响设备性能,设备实际发送ND报文的速率可能会小于该配置值。
【举例】
# 配置ND表项周期自动扫描速率为每秒10个ND请求报文。
<Sysname> system-view
[Sysname] ipv6 nd scan auto send-rate pps 10
【相关命令】
· ipv6 nd scan auto enable
snmp-agent trap enable nd命令用来开启ND模块的告警功能。
undo snmp-agent trap enable nd命令用来关闭ND模块的告警功能。
【命令】
snmp-agent trap enable nd [ entry-limit | local-conflict | nd-miss | user-ip-conflict ] *
undo snmp-agent trap enable nd [ entry-limit | local-conflict | nd-miss | user-ip-conflict ] *
【缺省情况】
ND模块的告警功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
entry-limit:开启邻居表项达到阈值的告警功能。
local-conflict:开启ND模块终端与本机冲突的告警功能。
nd-miss:开启ND Miss消息和ND报文发送限速的告警功能。
user-ip-conflict:开启ND模块终端用户间IPv6地址冲突的告警功能。
【使用指导】
用户可根据业务需求开启指定功能的ND模块的告警:
· 当开启了ND模块邻居表项达到阈值的告警功能后,设备会将当前的邻居表项信息记录在告警信息中,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。
· 当开启了ND模块终端与本机冲突的告警功能后,设备将冲突报文的IPv6地址、MAC地址等信息作为告警信息发送出去,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。
· 当开启了ND模块ND Miss消息限速的告警功能后,设备将报文速率信息作为告警信息发送出去,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。当设备收到目标IP地址不能解析的IP报文时,会向CPU上送ND Miss消息。
· 开启了ND模块终端用户间IPv6地址冲突的告警功能后,设备会将冲突报文的发送端IPv6地址和MAC地址、发生冲突的本地表项的MAC地址等信息作为告警信息发送到设备的SNMP模块。
本命令如果不指定任何参数,则表示打开ND模块的所有告警功能。
可以通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。有关告警信息的详细描述,请参见“网络管理和监控配置指导”中的“SNMP”。
【举例】
# 开启ND模块终端与本机冲突的告警功能。
<Sysname> system-view
[Sysname] snmp-agent trap enable nd local-conflict
display ipv6 nd scan keepalive entry命令用来显示ND的Keepalive表项信息。
【命令】
display ipv6 nd scan keepalive entry [ interface interface-type interface-number ] [ count ]
【视图】
所有视图
【缺省用户角色】
network-admin
network-operator
【参数】
interface interface-type interface-number :显示指定接口Keepalive表项信息。interface-type interface-number表示指定接口的类型和编号。不指定则显示所有接口类型。
count:指定该参数则只显示Keepalive表项数量。
【举例】
<Sysname> display ipv6 nd scan keepalive entry
Interface: GE0/0/1
IPv6 address: 1::23 MAC address: 08-00-27-00-50-38
VLANID: 1 SECVLANID: 1
Port interface: -- VPN instance: --
Scan status: 1 Probe count: 10
Scan time: 08:01:01
表1-1 display ipv6 nd scan keepalive entry命令显示信息描述表
字段 |
描述 |
Interface |
三层接口名称 |
IPv6 address |
表项IPv6地址 |
MAC address |
表项MAC地址 |
VLANID |
Primary VLAN编号 |
SECVLANID |
Secondary VLAN编号 |
Port interface |
ND报文的二层入接口 |
VPN instance |
VPN实例 |
Scan status |
扫描状态,“0”表示离线,“1”表示在线 |
Probe count |
扫描计数 |
Scan time |
Keepalive表项变为离线状态的时间,格式为时:分:秒 |
display ipv6 nd scan keepalive statistics命令用来显示接口向离线状态的Keepalive表项发送的NS报文个数。
【命令】
display ipv6 nd scan keepalive statistics [ slot slot-number ] [ interface interface-type interface-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
interface interface-type interface-number:显示指定接口向离线状态的Keepalive表项发送的NS报文的个数。interface-type为指定的接口类型,interface-number为指定的接口编号。如果未指定本参数,则显示所有接口向离线状态的Keepalive表项发送的NS报文的个数。
slot slot-number:显示指定单板向离线状态的Keepalive表项发送的NS报文的个数。slot-number表示单板所在的槽位号。如果未指定本参数,则显示所有单板向离线状态的Keepalive表项发送的NS报文的个数。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
通过本命令可以分别查看最近5秒、1分钟、5分钟接口向离线状态的Keepalive表项源MAC地址对应的终端发送的NS报文的个数。如果接口向离线状态的Keepalive表项源MAC地址对应的终端发送的NS报文的个数多,则代表处于离线状态的Keepalive表项较多或某些处于离线状态的Keepalive表项长时间没有恢复为在线状态,反之亦然。用户可以通过display ipv6 nd scan keepalive entry命令查看处于离线状态的Keepalive表项的个数,从而对情况进行判断。如果是处于离线状态的Keepalive表项较多,可能是由于设置了过长的表项老化时间,也可能是网络中存在大量异常下线的情况,这时需要网络管理员检查配置及网络情况;如果是某些处于离线状态的Keepalive表项长时间没有恢复为在线状态,可能是由于ND请求报文无法解决异常下线问题,这时需要网络管理员根据离线状态表项定位问题。
【举例】
# 显示Slot1上接口向离线状态的Keepalive表项发送的NS报文的个数。
<Sysname> display ipv6 nd scan keepalive statistics slot 1
Scanning statistics for slot 1:
Total NS packets: 1000 packets
Start time for statistics: 12:20:30
Interface 5 secs 1 min 5 mins
GigabitEthernet0/0/1 123 200 230
GigabitEthernet0/0/2 0 0 0
GigabitEthernet0/0/3 0 0 0
GigabitEthernet0/0/4 0 0 0
GigabitEthernet0/0/5 0 0 0
GigabitEthernet0/0/6 0 0 0
表1-2 display ipv6 nd scan keepalive statistics命令显示信息描述表
字段 |
描述 |
Total NS packets |
向离线状态的Keepalive表项发送的NS报文的总数 |
Start time for statistics |
设备开始对向离线状态的Keepalive表项发送的NS报文的个数进行计数的时间 |
Interface |
接口名 |
5 secs |
接口最近5秒内向离线状态的Keepalive表项发送的NS报文的个数 |
1 min |
接口最近1分钟内向离线状态的Keepalive表项发送的NS报文的个数 |
5 mins |
接口最近5分钟内向离线状态的Keepalive表项发送的NS报文的个数 |
【相关命令】
· reset ipv6 nd scan keepalive statistics
ipv6 nd scan keepalive aging-time命令用来配置ND的Keepalive表项的老化时间。
undo ipv6 nd scan keepalive aging-time命令用来恢复缺省情况
【命令】
ipv6 nd scan keepalive aging-time time
undo ipv6 nd scan keepalive aging-time
【缺省情况】
系统视图下,ND的Keepalive表项的老化时间为60分钟。
接口视图下,ND的Keepalive表项的老化时间采用系统视图下的配置。
【视图】
系统视图
三层以太网接口视图
三层以太网子接口视图
三层聚合接口视图
三层聚合子接口视图
VSI虚接口视图
VLAN接口视图
【缺省用户角色】
network-admin
【参数】
time:ND的Keepalive表项的老化时间,单位为分钟,取值范围为1~1440。
【使用指导】
在接口上通过ipv6 nd scan keepalive enable命令开启ND的Keepalive表项扫描功能后,用户上线时系统会建立对应的状态为在线的Keepalive表项。用户下线时,对应的Keepalive表项状态被置为离线,如果用户重新上线则状态会再次被置为在线。可以配置ND的Keepalive表项的老化时间,处于离线状态的Keepalive表项在老化时间内没有变为在线便会被删除。关于ND的Keepalive表项扫描功能的详细介绍,请参见“安全配置指导”中的“ND攻击防御”。
ND的Keepalive表项的老化时间可以在系统视图和接口视图下同时配置,优先使用接口视图下的配置,如果接口视图下为缺省配置则使用系统视图下的配置。
【举例】
# 配置ND的Keepalive表项的老化时间为10分钟。
<Sysname> system-view
[Sysname] ipv6 nd scan keepalive aging-time 10
# 在GigabitEthernet0/0/1接口上配置ND的Keepalive表项的老化时间为100分钟。
<Sysname> system-view
[Sysname] interface gigabitethernet 0/0/1
[Sysname-GigabitEthernet0/0/1] ipv6 nd scan keepalive aging-time 100
【相关命令】
· ipv6 nd scan keepalive enable
ipv6 nd scan keepalive enable命令用来在接口上开启ND的Keepalive表项扫描功能。
undo ipv6 nd scan keepalive enable命令用来在接口上关闭ND的Keepalive表项扫描功能。
【命令】
ipv6 nd scan keepalive enable
undo ipv6 nd scan keepalive enable
【缺省情况】
接口上的ND的Keepalive表项扫描功能处于关闭状态。
【视图】
三层以太网接口视图
三层以太网子接口视图
三层聚合接口视图
三层聚合子接口视图
VSI虚接口视图
VLAN接口视图
【缺省用户角色】
network-admin
【使用指导】
在规模较大的组网环境中(比如园区网络),使用ND周期性扫描功能后,如果指定的扫描范围过大,会导致需要较长的时间才能扫描到异常下线的主机。开启本功能后系统可以通过Keepalive表项快速定位异常下线的主机,并在老化时间内对异常下线主机的状态进行监测。
用户上线后,系统会生成ND表项和IP Source Guard绑定表项。开启本功能后,系统会根据这些表项建立状态为在线的Keepalive表项。用户下线后其ND表项会被删除,对应的Keepalive表项的状态被置为离线。设备每隔一段时间会向处于离线状态的Keepalive表项对应的IPv6地址发送NS报文,直到Keepalive表项的状态恢复成在线。对于某处于离线状态的Keepalive表项,设备发送NS报文的间隔时间由已经向此Keepalive表项对应的IPv6地址发送的NS报文的个数决定:个数小于等于50时间隔时间为30秒,个数大于50且小于等于100时间隔时间为45秒,个数大于100时间隔时间为60秒。管理员可以通过display ipv6 nd scan keepalive entry命令查看Keepalive表项。关于IP Source Guard的详细介绍,请参见“安全配置指导”中的“IP Source Guard”。
可以通过ipv6 nd scan keepalive aging-time命令配置Keepalive表项的老化时间,处于离线状态的Keepalive表项在老化时间内没有恢复为在线便会被删除。
【举例】
# 在GigabitEthernet0/0/1接口上开启ND扫描探测命令开关。
<Sysname> system-view
[Sysname] interface gigabitethernet 0/0/1
[Sysname-GigabitEthernet0/0/1] ipv6 nd scan keepalive enable
【相关命令】
· display ipv6 nd scan keepalive entry
· ipv6 nd scan keepalive send-rate
ipv6 nd scan keepalive send-rate命令用来设置ND的Keepalive表项扫描速率。
undo ipv6 nd scan keepalive send-rate命令用来恢复缺省情况
【命令】
ipv6 nd scan keepalive send-rate pps
undo ipv6 nd scan keepalive send-rate
【缺省情况】
ND的Keepalive表项扫描速率为每秒发送48个NS报文。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
pps:接口发送ND报文的速率,取值范围为10~1000,单位为包每秒,为10的整数倍。当pps不是10的整数倍时设备会提示配置错误。
【使用指导】
接口下开启Keepalive表项扫描功能后,如果Keepalive表项的状态被置为离线,接口会按照指定的速率向离线表项对应的IPv6地址发送NS报文。为避免接口发送的NS报文对设备性能造成影响,可通过本命令调整接口发送NS报文的速率。
如果一个Keepalive表项的状态被置为离线,且此Keepalive表项没有在等待发送NS报文的间隔时间结束,则此Keepalive表项是一个待扫描Keepalive表项。接口每秒会分别向不同的待扫描Keepalive表项对应的IPv6地址发送一个NS报文。ND的Keepalive表项扫描速率为每秒扫描的待扫描Keepalive表项的最大个数。如果待扫描Keepalive表项的个数小于扫描速率的值,则设备会在一秒内扫描所有的待扫描Keepalive表项;如果待扫描Keepalive表项的个数大于扫描速率的值,则设备在一秒内扫描的待扫描Keepalive表项的个数为扫描速率的值,且在下一秒继续扫描。
当发送NS报文的速率配置为较大值时,为避免影响设备性能,设备实际发送NS报文的速率可能会小于该配置值。
【举例】
# 配置ND的Keepalive表项扫描速率为每秒10个NS报文。
<Sysname> system-view
[Sysname] ipv6 nd scan keepalive send-rate 10
【相关命令】
· ipv6 nd scan keepalive enable
reset ipv6 nd scan keepalive statistics命令用来清除接口向离线状态的Keepalive表项发送的NS报文的计数信息。
【命令】
reset ipv6 nd scan keepalive statistics [ slot slot-number ]
【视图】
用户视图
【缺省用户角色】
network-admin
【参数】
slot slot-number:表示清除指定单板向离线状态的Keepalive表项发送的NS报文的计数信息。slot-number表示单板的槽位号。如果未指定本参数,则清除所有单板上向离线状态的Keepalive表项发送的NS报文的计数信息。对于本产品,slot-number只能为固定取值,无论是否指定本参数,均表示整台设备。
【使用指导】
通过本命令可以重新统计接口向离线状态的Keepalive表项发送的NS报文的计数信息,并且重置设备开始对向离线状态的Keepalive表项发送的NS报文的个数进行计数的时间。即执行display ipv6 nd scan keepalive statistics命令显示的是执行本命令后接口向离线状态的Keepalive表项发送的NS报文的个数,且开始计数的时间为执行本命令后设备第一次向离线状态的Keepalive表项发送的NS报文的时间。
【举例】
# 清除接口向离线状态的Keepalive表项发送的NS报文的计数信息。
<Sysname> reset ipv6 nd scan keepalive statistics
【相关命令】
· display ipv6 nd scan keepalive statistics
ipv6 nd resolving-route enable命令用来开启ND黑洞路由功能。
undo ipv6 nd resolving-route enable命令用来关闭ND黑洞路由功能。
【命令】
ipv6 nd resolving-route enable
undo ipv6 nd resolving-route enable
【缺省情况】
缺省情况下,ND黑洞路由功能为开启。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
当网络中的主机向设备发送大量目标IPv6地址不能解析的IPv6数据报文时,设备会频繁发送NS请求报文并反复解析目标IPv6地址,从而导致设备CPU负担加重。建议用户开启ND黑洞路由功能以解决此问题。
开启本功能后,一旦接收到目标IPv6地址不能解析的IPv6数据报文,设备立即产生一个黑洞路由,并同时向该IPv6地址发送NS请求报文,如果在黑洞路由老化时间内ND解析成功,则设备马上删除此黑洞路由并开始转发去往该地址的报文,否则设备直接丢弃该报文。在删除黑洞路由之前,后续去往该地址的IPv6数据报文都将被直接丢弃。
建议在网关设备上开启本功能。
【举例】
# 开启ND黑洞路由功能。
<Sysname> system-view
[Sysname] ipv6 nd resolving-route enable
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!