设置和使用流量检测
流量检测可监控控制流量是否违反每个流量允许的带宽,并管理识别为罪魁祸首流量的流量。抑制流量是默认管理选项。流量检测通常作为整体控制平面 DDoS 保护策略的一部分实施,但对于排除故障和了解新配置中的流量也很有用。默认情况量检测处于禁用状态。
增强型订阅者管理支持流量检测,可实现控制平面 DDoS 防护。
开始之前,请确保已针对您的网络配置适当的控制平面 DDoS 保护。有关 DDoS 保护的详细信息,请参阅 配置控制平面 DDoS 保护 。
配置可疑流量的检测周期
DDoS 保护流量检测根据粗略的测试,只要流量超过其允许的带宽,就会将监控的流量视为可疑流量,该测试将明显良好的流量排除在考虑之外。要仔细检查可疑流量,要求流量在一段时间内保持违反带宽的状态,然后流量检测才会将其视为必须采取措施的罪魁祸首流量。您可以包含该 flow-detect-time 语句来配置此检测周期的持续时间,也可以依赖默认的 3 秒周期。
增强型订阅者管理支持流检测以保护 DDoS。
我们建议您使用检测周期的默认值。
要指定流量检测在流量检测声明该流量为罪魁祸首流量之前必须违反多长时间:
设置检测周期。
[edit system ddos-protection protocols protocol-group packet-type] user@host# set flow-detect-time seconds
例如,包含以下语句,以要求 DHCPv4 发现数据包流在 30 秒内违反其允许的带宽,然后才能将其视为罪魁祸首流:
[edit system ddos-protection protocols dhcpv4 discover] user@host# set flow-detect-time 30
配置罪魁祸首流的恢复期
在 DDoS 防御流检测将可疑流量识别为罪魁祸首流量后,必须确定该流量何时不再对路由器构成威胁。当流量流速回落到允许的带宽范围内时,该速率必须在恢复期内保持在带宽范围内。只有这样,流量检测才会将流量视为正常,并停止针对罪魁祸首流量实施的流量处理作。您可以包含该 flow-recover-time 语句来配置此恢复期的持续时间,也可以依赖默认的 60 秒。
要指定在流量检测声明为正常流量之前,在发生冲突后流量必须在其允许的带宽内停留多长时间:
设置恢复期。
[edit system ddos-protection protocols protocol-group packet-type] user@host# set flow-recover-time seconds
例如,包含以下语句以要求 DHCPv4 发现数据包流恢复 5 分钟(300 秒):
[edit system ddos-protection protocols dhcpv4 discover] user@host# set flow-recover-time 300
配置罪魁祸首流的超时期限
当 DDoS 保护流检测将可疑流识别为罪魁祸首流时,默认情况下,只要流量超过带宽限制,它就会抑制该流的流量。当自流上次违规以来的时间大于恢复期时,抑制将停止,并从流表中删除流。
或者,您可以包含以下 timeout-active-flows 语句以启用流量检测,以便在可配置的超时时间段内抑制问题流量。超时期限到期时,抑制将停止,并且流将从流表中删除。您可以包含该 flow-timeout-time 语句来配置超时期限的持续时间,也可以依赖于 300 秒的默认超时。
要启用流量检测以在超时期间抑制罪魁祸首流量,请执行以下作:
例如,加入以下语句以抑制 DHCPv4 发现数据包流 10 分钟(600 秒):
[edit system ddos-protection protocols dhcpv4 discover] user@host# set timeout-active-flows user@host# setflow-timeout-time 600
配置流量检测在每个流量聚合级别的工作方式
开启流量检测后,默认情况下会监控所有协议组和数据包类型的流量。当发生监管器违规时,系统会检查每个可疑流量,以确定是否是导致违规的罪魁祸首流量。您可以包含该 flow-level-detection 语句来配置流量检测在数据包类型(用户、逻辑接口或物理接口)的每个流量聚合级别上的工作原理。
数据包级别的流量检测模式必须是 或 on 才能automatic使流量检测在各个流量聚合级别上运行。
与协议组和数据包级别的流量检测一样,流量聚合级别的流量检测支持三种模式:
自动 — 当违反控制平面 DDoS 保护监管器时,仅监控此流量聚合级别的流量是否存在可疑行为,直到流量检测确定可疑流量不在此聚合级别,而必须处于较粗略的聚合级别。随后不会再次搜索此级别的流量,直到较粗略级别不再违反监管器。
off — 从不在此流量聚合级别监控流量。
on — 即使当前没有违反 DDoS 保护监管器,如果将数据包级别的流量检测配置为
on,也会监控此流量聚合级别的流量是否存在可疑流量。无论是否在此级别上识别出可疑流量,监控都会在此级别继续进行。但是,如果数据包级别模式为automatic,则监管器必须违反规定,才能在此级别检查流量。
首先在最细粒度(带宽最低)的流量聚合级别(订阅者)检查流量。如果在用户级别未找到可疑流量,则在逻辑接口级别检查流量。最后,如果在那里未找到可疑人员,则在物理接口级别检查流量;除非配置不当,否则必须在此层级找到罪魁祸首流。
要配置流量检测在每个流量聚合级别的工作方式:
例如,加入以下语句以将流检测配置为仅在违反监管器时才在用户级别检查可疑流量,从不在逻辑接口级别进行检查,并始终在物理接口级别进行检查:
[edit system ddos-protection protocols dhcpv4 discover] user@host# edit flow-level-detection user@host# set subscriber automatic user@host# set logical-interface off user@host# set physical-interface on
配置在每个流聚合级别如何控制罪魁祸首流中的流量
启用流量检测后,默认情况下,对于所有协议组和数据包类型以及所有流量聚合级别,问题流中的所有流量都将被丢弃。您可以包含该 flow-level-control 语句来配置流检测,以针对各个数据包类型以不同的方式控制流量。您必须在特定流量聚合级别指定控制行为:用户接口、逻辑接口或物理接口。
您可以将流检测流控制配置为对数据包类型采用以下模式之一:
丢弃所有流量 — 将流量控制配置为在您认为违反带宽限制的流量为恶意流量时丢弃所有流量。此行为是所有流量聚合级别的默认行为。
监管流量 - 配置流量控制以监管违反带宽的流量,从而强制速率低于带宽限制。在这种情况控制充当简单的监管器。
保留所有流量 - 配置流量控制以保留所有流量,无论流量是否违反或低于带宽限制。当您需要调试网络的流量时,此模式会很有帮助。
流控制模式可以非常灵活地管理网络中的控制流量。例如,如果您只想确保所有聚合级别上某个数据包类型的控制流都在其限制范围内,则可以配置流量控制来监管每个级别的流量。或者,如果您希望在一个级别检测问题流量并将其抑制,但仅在另一个级别将流量限制在允许的带宽内,则可以配置一个级别丢弃所有流量,将另一个级别配置为监管流量。
要配置流量检测如何控制罪魁祸首流中的流量,请执行以下作:
例如,要将流量检测配置为将物理接口的所有流量保持在配置的带宽以下,但在用户级别检测并抑制问题流量,请执行以下作:
[edit system ddos-protection protocols dhcpv4 discover] user@host# edit flow-level-control user@host# set subscriber drop user@host# set physical-interface police user@host# edit flow-level-detection user@host# set logical-interface off
在此示例中,您不关心逻辑接口,因此该级别的流量检测将关闭。由于流量检测处于禁用状态,因此该级别的流量控制状态并不重要。
为所有协议组和数据包类型启用流检测
默认情况下,所有协议组和数据包类型的流量检测均处于禁用状态。您必须通过包含 flow-detection 语句来全局启用流检测。如果随后禁用单个数据包类型的流检测,则不能使用此全局语句覆盖所有此类单独配置;您必须在数据包配置级别重新启用检测。
要全局启用流量检测:
设置流量检测。
[edit system ddos-protection global] user@host# set flow-detection
您无法为以下组和数据包类型启用全局流量检测,因为它们没有典型的以太网、IP 或 IPv6 标头:
协议组:
fab-probe、、frame-relay、mlpinline-kajfmpfe-aliveisispos和 。services数据包类型:
unclassified在协议组中ip-options。
为所有协议组和数据包类型配置罪魁祸首流量报告速率
当流量检测确认它在线卡上跟踪的可疑流量确实是罪魁祸首流量时,它会向路由引擎发送报告。流量检测还会报告随后恢复到允许带宽内或被清除的每个问题流量。您可以包含以下 flow-report-rate 语句来限制每个线卡上每秒可以报告的流量数。默认情况下,系统会报告所有协议组和数据包类型的问题流事件。当报告的流量过多时,到路由引擎流量的主机路径上可能会发生拥塞。
要全局配置罪魁祸首流的最大报告速率:
设置报告率。
[edit system ddos-protection global] user@host# set flow-report-rate rate
为所有协议组和数据包类型配置违规报告速率
默认情况检测会向路由引擎报告所有协议组和数据包类型的 FPC 上所有带宽违规行为。您可以包含该 violation-report-rate 语句来限制每秒来自线卡的流量检测报告的违规次数,从而减少路由器上的负载。我们建议您配置适合您网络的报告速率,而不是依赖默认值。
要全局配置最大带宽违规报告率:
设置报告率。
[edit system ddos-protection global] user@host# set violation-report-rate rate
禁用某个数据包类型的罪魁祸首流事件自动日志记录
默认情况量检测会自动记录与所有协议组和数据包类型的可疑流量(违规报告)和罪魁祸首流量事件(流报告)关联的监管器违规事件。您可以包含该no-flow-logging语句,以防止自动记录各个数据包类型的罪魁祸首流事件。在层次结构级别使用[edit system ddos-protection global语句禁用disable-logging自动记录可疑流量违规事件。
要禁用某个数据包类型的自动罪魁祸首流事件日志记录:
禁用日志记录。
[edit system ddos-protection protocols protocol-group packet-type] user@host# set no-flow-logging
要禁用某个数据包类型的自动可疑流违规事件日志记录:
禁用日志记录。
[edit system ddos-protection protocols protocol-group packet-type] user@host# set disable-logging
例如,加入以下语句以禁用 DHCPv4 DISCOVER 数据包流的自动日志记录:
[edit system ddos-protection protocols dhcpv4 discover] user@host# set no-flow-logging
在每个流量聚合级别配置最大流量带宽
您可以包含该 flow-level-bandwidth 语句,以便为各个数据包类型的流量配置最大可接受带宽。您必须指定特定流量聚合级别的带宽行为:用户、逻辑接口或物理接口。我们建议您调整网络的带宽值,而不是依赖默认值。
要为流量配置最大带宽,请执行以下作:
例如,要将流量带宽在用户级别配置为 1000 pps,在逻辑接口级别配置为 5000 pps,在物理接口级别将流量带宽配置为 30,000:
[edit system ddos-protection protocols dhcpv4 discover] user@host# edit flow-level-bandwidth user@host# set subscriber 1000 user@host# set logical-interface 5000 user@host# set physical-interface 30000
验证和管理流量检测
目的
查看或清除有关作为控制平面 DDoS 保护配置一部分的流检测的信息。
增强型订阅者管理支持流量检测,可实现控制平面 DDoS 防护。
行动
要显示流量检测的配置信息:
user@host> show ddos-protection protocols flow-detection
要显示流量检测识别出的罪魁祸首流量的相关信息,包括检测到和跟踪的流量数量、流量的源地址、到达接口和速率:
user@host> show ddos-protection protocols culprit-flows
要清除所有协议组中所有数据包类型的问题流:
user@host> clear ddos-protection protocols culprit-flows
要清除特定协议组中所有数据包类型的问题流:
user@host> clear ddos-protection protocols protocol-group culprit-flows