Junos OS: Distributed Denial-of-Service Protection Feature Guide
Junos OS: Distributed Denial-of-Service Protection Feature Guide
Junos OS: Distributed Denial-of-Service Protection Feature Guide
Release
13.2
Published: 2013-07-25
This product includes memory allocation software developed by Mark Moraes, copyright © 1988, 1989, 1993, University of Toronto.
This product includes FreeBSD software developed by the University of California, Berkeley, and its contributors. All of the documentation
and software included in the 4.4BSD and 4.4BSD-Lite Releases is copyrighted by the Regents of the University of California. Copyright ©
1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994. The Regents of the University of California. All rights reserved.
GateD software copyright © 1995, the Regents of the University. All rights reserved. Gate Daemon was originated and developed through
release 3.0 by Cornell University and its collaborators. Gated is based on Kirton’s EGP, UC Berkeley’s routing daemon (routed), and DCN’s
HELLO routing protocol. Development of Gated has been supported in part by the National Science Foundation. Portions of the GateD
software copyright © 1988, Regents of the University of California. All rights reserved. Portions of the GateD software copyright © 1991, D.
L. S. Associates.
This product includes software developed by Maker Communications, Inc., copyright © 1996, 1997, Maker Communications, Inc.
Juniper Networks, Junos, Steel-Belted Radius, NetScreen, and ScreenOS are registered trademarks of Juniper Networks, Inc. in the United
States and other countries. The Juniper Networks Logo, the Junos logo, and JunosE are trademarks of Juniper Networks, Inc. All other
trademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners.
Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify,
transfer, or otherwise revise this publication without notice.
Products made or sold by Juniper Networks or components thereof might be covered by one or more of the following patents that are
owned by or licensed to Juniper Networks: U.S. Patent Nos. 5,473,599, 5,905,725, 5,909,440, 6,192,051, 6,333,650, 6,359,479, 6,406,312,
6,429,706, 6,459,579, 6,493,347, 6,538,518, 6,538,899, 6,552,918, 6,567,902, 6,578,186, and 6,590,785.
®
Junos OS Distributed Denial-of-Service Protection Feature Guide
13.2
Copyright © 2013, Juniper Networks, Inc.
All rights reserved.
The information in this document is current as of the date on the title page.
Juniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related limitations through the
year 2038. However, the NTP application is known to have some difficulty in the year 2036.
The Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use with) Juniper Networks
software. Use of such software is subject to the terms and conditions of the End User License Agreement (“EULA”) posted at
http://www.juniper.net/support/eula.html. By downloading, installing or using such software, you agree to the terms and conditions of
that EULA.
Part 1 Overview
Chapter 1 Distributed Denial-of-Service Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Distributed Denial-of-Service (DDoS) Protection Overview . . . . . . . . . . . . . . . . . . 3
Policer Types and Packet Priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Example of Policer Priority Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Policer Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Example of Policer Bandwidth Limit Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Chapter 2 Flow Detection in Subscriber Access Networks . . . . . . . . . . . . . . . . . . . . . . . . 9
DDoS Protection Flow Detection Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Flow Detection and Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Flow Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Part 2 Configuration
Chapter 3 Configuration Overview for DDoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Configuring Protection Against DDoS Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Chapter 4 Configuration Tasks for DDoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Configuring DDoS Protection Policers for Individual Packet Types . . . . . . . . . . . . . 17
Disabling DDoS Protection Policers and Logging Globally . . . . . . . . . . . . . . . . . . . 21
Chapter 5 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Example: Configuring DDoS Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Chapter 6 Configuration Overview for Flow Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Configuring Flow Detection for DDoS Protection . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Part 3 Administration
Chapter 9 Verifying and Monitoring Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Verifying and Managing DDoS Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Verifying and Managing Flow Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Chapter 10 Monitoring Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
clear ddos-protection protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
show ddos-protection protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
show ddos-protection protocols culprit-flows . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
show ddos-protection protocols flow-detection . . . . . . . . . . . . . . . . . . . . . . . . . 104
show ddos-protection protocols parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
show ddos-protection protocols statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
show ddos-protection protocols violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
show ddos-protection statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
show ddos-protection version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Part 4 Troubleshooting
Chapter 11 Acquiring Troubleshooting Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Tracing DDoS Protection Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Configuring the DDoS Protection Trace Log Filename . . . . . . . . . . . . . . . . . . . . . 134
Configuring the Number and Size of DDoS Protection Log Files . . . . . . . . . . . . . 134
Configuring Access to the DDoS Protection Log File . . . . . . . . . . . . . . . . . . . . . . . 135
Configuring a Regular Expression for DDoS Protection Messages to Be
Logged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Configuring the DDoS Protection Tracing Flags . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Configuring the Severity Level to Filter Which DDoS Protection Messages Are
Logged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Collecting Subscriber Access Logs Before Contacting Juniper Technical
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Chapter 12 Troubleshooting Configuration Statements . . . . . . . . . . . . . . . . . . . . . . . . . 139
traceoptions (DDoS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Part 5 Index
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Part 1 Overview
Chapter 2 Flow Detection in Subscriber Access Networks . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 3: Triggering Event for Flow Detection Reports . . . . . . . . . . . . . . . . . . . . . . . . 11
Table 4: Triggering Event for Bandwidth Violation Reports . . . . . . . . . . . . . . . . . . . 11
Part 3 Administration
Chapter 10 Monitoring Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 5: show ddos-protection protocols Output Fields . . . . . . . . . . . . . . . . . . . . 92
Table 6: show ddos-protection protocols culprit-flows Output Fields . . . . . . . . . 101
Table 7: show ddos-protection protocols flow-detection Output Fields . . . . . . . 104
Table 8: show ddos-protection protocols parameters Output Fields . . . . . . . . . 109
Table 9: show ddos-protection protocols statistics Output Fields . . . . . . . . . . . . 116
Table 10: show ddos-protection protocols violations Output Fields . . . . . . . . . . 126
Table 11: show ddos-protection statistics Output Fields . . . . . . . . . . . . . . . . . . . . 128
Table 12: show ddos-protection version Output Fields . . . . . . . . . . . . . . . . . . . . . 129
If the information in the latest release notes differs from the information in the
documentation, follow the product Release Notes.
Juniper Networks Books publishes books by Juniper Networks engineers and subject
matter experts. These books go beyond the technical documentation to explore the
nuances of network architecture, deployment, and administration. The current list can
be viewed at http://www.juniper.net/books.
Supported Platforms
For the features described in this document, the following platforms are supported:
• MX Series
• T4000
If you want to use the examples in this manual, you can use the load merge or the load
merge relative command. These commands cause the software to merge the incoming
configuration into the current candidate configuration. The example does not become
active until you commit the candidate configuration.
If the example configuration contains the top level of the hierarchy (or multiple
hierarchies), the example is a full example. In this case, use the load merge command.
If the example configuration does not start at the top level of the hierarchy, the example
is a snippet. In this case, use the load merge relative command. These procedures are
described in the following sections.
1. From the HTML or PDF version of the manual, copy a configuration example into a
text file, save the file with a name, and copy the file to a directory on your routing
platform.
For example, copy the following configuration to a file and name the file ex-script.conf.
Copy the ex-script.conf file to the /var/tmp directory on your routing platform.
system {
scripts {
commit {
file ex-script.xsl;
}
}
}
interfaces {
fxp0 {
disable;
unit 0 {
family inet {
address 10.0.0.1/24;
}
}
}
}
2. Merge the contents of the file into your routing platform configuration by issuing the
load merge configuration mode command:
[edit]
user@host# load merge /var/tmp/ex-script.conf
load complete
Merging a Snippet
To merge a snippet, follow these steps:
1. From the HTML or PDF version of the manual, copy a configuration snippet into a text
file, save the file with a name, and copy the file to a directory on your routing platform.
For example, copy the following snippet to a file and name the file
ex-script-snippet.conf. Copy the ex-script-snippet.conf file to the /var/tmp directory
on your routing platform.
commit {
file ex-script-snippet.xsl; }
2. Move to the hierarchy level that is relevant for this snippet by issuing the following
configuration mode command:
[edit]
user@host# edit system scripts
[edit system scripts]
3. Merge the contents of the file into your routing platform configuration by issuing the
load merge relative configuration mode command:
For more information about the load command, see the CLI User Guide.
Documentation Conventions
Caution Indicates a situation that might result in loss of data or hardware damage.
Laser warning Alerts you to the risk of personal injury from a laser.
Table 2 on page xiii defines the text and syntax conventions used in this guide.
Bold text like this Represents text that you type. To enter configuration mode, type
theconfigure command:
user@host> configure
Fixed-width text like this Represents output that appears on the user@host> show chassis alarms
terminal screen.
No alarms currently active
Italic text like this • Introduces or emphasizes important • A policy term is a named structure
new terms. that defines match conditions and
• Identifies book names. actions.
• Junos OS System Basics Configuration
• Identifies RFC and Internet draft titles.
Guide
• RFC 1997, BGP Communities Attribute
Italic text like this Represents variables (options for which Configure the machine’s domain name:
you substitute a value) in commands or
configuration statements. [edit]
root@# set system domain-name
domain-name
Text like this Represents names of configuration • To configure a stub area, include the
statements, commands, files, and stub statement at the[edit protocols
directories; configuration hierarchy levels; ospf area area-id] hierarchy level.
or labels on routing platform • The console port is labeled CONSOLE.
components.
< > (angle brackets) Enclose optional keywords or variables. stub <default-metric metric>;
# (pound sign) Indicates a comment specified on the rsvp { # Required for dynamic MPLS only
same line as the configuration statement
to which it applies.
[ ] (square brackets) Enclose a variable for which you can community name members [
substitute one or more values. community-ids ]
GUI Conventions
Bold text like this Represents graphical user interface (GUI) • In the Logical Interfaces box, select
items you click or select. All Interfaces.
• To cancel the configuration, click
Cancel.
> (bold right angle bracket) Separates levels in a hierarchy of menu In the configuration editor hierarchy,
selections. select Protocols>Ospf.
Documentation Feedback
Technical product support is available through the Juniper Networks Technical Assistance
Center (JTAC). If you are a customer with an active J-Care or JNASC support contract,
or are covered under warranty, and need post-sales technical support, you can access
our tools and resources online or open a case with JTAC.
• JTAC hours of operation—The JTAC centers have resources available 24 hours a day,
7 days a week, 365 days a year.
• Find solutions and answer questions using our Knowledge Base: http://kb.juniper.net/
To verify service entitlement by product serial number, use our Serial Number Entitlement
(SNE) Tool: https://tools.juniper.net/SerialNumberEntitlementSearch/
Overview
• Distributed Denial-of-Service Protection on page 3
• Flow Detection in Subscriber Access Networks on page 9
A denial-of-service attack is any attempt to deny valid users access to network or server
resources by using up all the resources of the network element or server. Distributed
denial-of-service attacks involve an attack from multiple sources, enabling a much greater
amount of traffic to attack the network. The attacks typically use network protocol
control packets to trigger a large number of exceptions to the router’s control plane. This
results in an excessive processing load that disrupts normal network operations.
Junos OS DDoS protection enables the router to continue functioning while under an
attack. It identifies and suppresses malicious control packets while enabling legitimate
control traffic to be processed. A single point of DDoS protection management enables
network administrators to customize profiles for their network control traffic. Protection
and monitoring persists across graceful Routing Engine switchover (GRES) and unified
in-service-software-upgrade (ISSU) switchovers. Protection is not diminished as the
number of subscribers increases.
To protect against DDoS attacks, you can configure policers for host-bound exception
traffic. The policers specify rate limits for individual types of protocol control packets or
for all control packet types for a protocol. You can monitor policer actions for packet
types and protocol groups at the level of the router, Routing Engine, and line cards. You
can also control logging of policer events.
The policers at the MPC or FPC5 are the first line of protection. Control traffic is dropped
when it exceeds any configured policer values or, for unconfigured policers, the default
policer values. Each violation generates a notification to alert operators about a possible
attack. The violation is counted, the time that the violation starts is noted, and the time
of the last observed violation is noted. When the traffic rate drops below the bandwidth
violation threshold, a recovery timer determines when the traffic flow is consider to have
returned to normal. If no further violation occurs before the timer expires, the violation
state is cleared and a notification is generated.
Policer states and statistics from each line card are relayed to the Routing Engine and
aggregated. The policer states are maintained during a switchover. Although line card
statistics and violation counts are preserved during a switchover, Routing Engine policer
statistics are not.
• An aggregate policer is applied to the complete set of packet types that belong to a
protocol group. For example, you can configure an aggregate policer that applies to
all PPPoE control packet types or to all DHCPv4 control packet types. You can specify
bandwidth and burst limits, scale the bandwidth and burst limits, and set a traffic
priority for aggregate policers. An aggregate policer is available for all protocol groups.
Aggregate policers are supported by all protocol groups.
A control packet is policed first by its individual policer (if supported) and then by its
aggregate policer. A packet dropped by the individual policer never reaches the aggregate
policer. A packet that passes the individual policer can subsequently be dropped by the
aggregate policer.
Each packet type within a protocol group has a default, configurable priority: low, medium,
or high. Each control packet competes with other packets for the bandwidth within the
limit imposed by its aggregate policer based on the priority configured for each packet
type in the protocol group.
The aggregate policer imposes a total bandwidth limit for the protocol group. PADT
packets passed by their individual policer have access to that bandwidth before PADI
packets passed by their individual policer, because the PADT packets have a higher
priority. If so many PADT packets are passed that they use all the available bandwidth,
then all the PADI packets are dropped, because there is no bandwidth remaining at the
aggregate policer.
Policer Hierarchy
DDoS policers are organized to match the hierarchical flow of protocol control traffic.
Control traffic arriving from all ports of a line card converges on the card’s Packet
Forwarding Engine. Control traffic from all line cards on the router converges on the
Routing Engine. Similarly, the DDoS policers are placed hierarchically along the control
paths so that excess packets are dropped as early as possible on the path. This design
preserves system resources by removing excess, malicious traffic so that the Routing
Engine receives only the amount of traffic that it can process. To implement this design,
five DDoS policers are present: One at the chipset, two at the line card, and two at the
Routing Engine. Figure 1 on page 5 shows the policer process for PPPoE traffic.
Figure 2 on page 6 shows the policer process for DHCPv4 traffic. (The same process
applies to DHCPv6 traffic.)
1 2 4
g017531
PADR from other Trio chipsets From other line cards
on this line card in this chassis
2 4
DISCOVER DISCOVER
1 REQUEST 3 REQUEST 5
From all ports DHCPv4 DHCPv4 DHCPv4
feeding this aggregate aggregate aggregate
chipset
RELEASE RELEASE
DHCPv4 traffic
g017532
from other Trio chipsets From other line cards
on this line card in this chassis
Control packets arrive at the chipset on the MPC or FPC5 for processing and forwarding.
The first policer (1) is either an individual policer (Figure 1 on page 5) or an aggregate
policer (Figure 2 on page 6).
• The first policer is an individual policer for protocol groups that support individual
policers, with two exceptions. For DHCPv4 and DHCPv6 traffic, the first policer is an
aggregate policer.
• The first policer is an aggregate policer for protocol groups that support only aggregate
policers.
Traffic that passes the first policer is monitored by one or both of the line card policers.
If the card has more than one chipset, traffic from all chipsets converges on the line card
policers.
• When the traffic belongs to a protocol group that supports individual policers, it passes
through the line card individual policer (2) and then the line card aggregate policer (3).
Traffic that passes the individual policer can be dropped by the aggregate policer.
Although DHCPv4 and DHCPv6 traffic was monitored by an aggregate policer at the
chipset, at the line card it is handled like other protocols that support individual policers.
• When the traffic belongs to a protocol group that supports only aggregate policers,
only the line card aggregate policer monitors the traffic.
Traffic that passes the line card policers is monitored by one or both of the Routing Engine
policers. Traffic from all MPCs or FPC5s converges on the Routing Engine policers.
• When the traffic belongs to a protocol group that supports individual policers, it passes
through the Routing Engine individual policer (4) and then the Routing Engine aggregate
policer (5). Traffic that passes the individual policer can be dropped by the aggregate
policer. As it was at the line card level, DHCPv4 and DHCPv6 traffic at the Routing
Engine is handled like other protocols that support individual policers.
• When the traffic belongs to a protocol group that supports only aggregate policers,
only the aggregate policer monitors the traffic.
The result of this design is that traffic for protocol groups that support only aggregate
policers is evaluated by three policers. Among other groups, this includes ANCP, dynamic
VLAN, FTP, and IGMP traffic. Traffic for protocol groups that support both aggregate and
individual policers is evaluated by all five policers. Among other groups, this includes
DHCPv4, MLP, PPP, PPPoE, and virtual chassis traffic.
Figure 1 on page 5 shows how DDoS protection polices PPPoE control packets:
1. PADR packets, for example, are evaluated at the first policer on the chipset to
determine whether they are within the bandwidth limits. PADR packets that exceed
the limit are dropped.
2. All PADR packets that pass the policer on all chipsets on the MPC or FPC5 are next
evaluated by the line card individual policer. PADR packets that exceed the limit are
dropped.
3. All PADR packets that pass the line card individual policer proceed to the line card
aggregate policer. PADR packets that exceed the limit are dropped.
4. All PADR packets that are passed by the line card aggregate policers on all MPCs or
FPC5s on the router proceed to the Routing Engine individual policer. PADR packets
that exceed the limit are dropped.
5. Finally, all PADR packets that are passed by the Routing Engine individual policer
proceed to the Routing Engine aggregate policer. PADR packets that exceed the limit
are dropped. PADR packets that are not dropped here are passed along as safe, normal
traffic.
By default, all three individual policers (chipset, line card, and Routing Engine) have the
same bandwidth limit for a given packet type. This design enables all the control traffic
from a chipset and line card to reach the Routing engine, as long as there is no competing
traffic of the same type from other chipsets or line cards. When competing traffic is
present, excess packets are dropped at the convergence points. That is, they are dropped
at the line card for all competing chipsets and at the Routing Engine for all competing
line cards.
You can apply a scaling factor for both the bandwidth limit and the burst limit at the line
card. This enables you to fine-tune the traffic limits for each slot. For example, suppose
the individual policer sets the PADI packet bandwidth to 1000 pps and the burst size to
50,000 packets. You can reduce the traffic limit for PADI packets on any line card by
specifying the slot number and scaling factor. A bandwidth scaling factor of 20 for slot
5 reduces the traffic in this example to 20 percent of 1000 pps, or 200 pps for the line
card in that slot. Similarly, a burst scaling factor of 50 for that slot reduces the burst size
by 50 percent to 25,000 packets. By default, scaling factors are set to 100 so traffic can
pass through at 100 percent of the rate limit.
Flow detection is an enhancement to DDoS protection that supplements the DDoS policer
hierarchies; it is part of a complete DDOS protection solution. Flow detection uses a
limited amount of hardware resources to monitor the arrival rate of host-bound flows
of control traffic. Flow detection is much more scalable than a solution based on filter
policers. Filter policers track all flows, which consumes a considerable amount of
resources. In contrast, flow detection only tracks flows it identifies as suspicious, using
far fewer resources to do so.
The flow detection application has two interrelated components, detection and tracking.
Detection is the process where flows suspected of being improper are identified and
subsequently controlled. Tracking is the process where flows are tracked to determine
whether they are truly hostile and when these flows recover to within acceptable limits.
Control flows are aggregated at three levels. The subscriber level is the finest grained of
the three and consists of flows for individual subscriber sessions. The logical interface
level aggregates multiple subscriber flows, so it is coarser grained and does not provide
discrimination into individual subscriber flows. The physical interface level aggregates
multiple logical interface flows, so it provides the coarsest view of traffic flows.
You can turn flow detection off or on at any of these levels. You can also configure whether
it is automatically triggered by the violation of a DDoS protection policer or is always
on—meaning that it always monitors flows, even when no policer is being violated. Flow
detection begins at the finest-grained level that has detection configured to on or
automatic.
When a flow arrives, flow detection checks whether the flow is already listed in a table
of suspicious flows. A suspicious flow is one that exceeds the bandwidth allowed by
default or configuration. If the flow is not in the table and the aggregation level flow
detection mode is on, then flow detection lists the flow in the table. If the flow is not in
the table and the flow detection mode is automatic, flow detection checks whether this
flow is suspicious.
If the flow is suspicious, then it goes in the flow table. If the flow is not suspicious, then
it is processed the same way at the next coarser aggregation level that has flow detection
set to on. If none of the higher levels have detection on, then the flow continues to the
DDoS protection packet policer for action, where it can be passed or dropped.
When the initial check finds the flow in the table, then the flow is dropped, policed, or
kept, depending on the control mode setting for that aggregation level. All packets in
dropped flows are dropped. In policed flows, packets are dropped until the flow is within
the acceptable bandwidth for the aggregation level. Kept flows are passed along to the
next aggregation level for processing.
Flow Tracking
The flow detection application tracks flows that have been listed in the suspicious flow
table. It periodically checks each entry in the table to determine whether the listed flow
is still suspicious (violating the bandwidth). If a suspicious flow has continuously violated
the bandwidth since it was inserted in the table for a period greater than the configurable
flow detection period, then it is considered to be a culprit flow rather than merely
suspicious. However, if the bandwidth has been violated for less than the detection period,
the violation is treated as a false positive. Flow detection considers the flow to be safe
and stops tracking it (deletes it from the table).
You can enable a timeout feature that suppresses culprit flows for a configurable timeout
period, during which the flow is kept in the flow table. (Suppression is the default behavior,
but the flow detection action can be changed by the flow level control configuration.) If
the check of listed flows finds one for which the timeout is enabled and the timeout
period has expired, then the flow has timed out and it is removed from the flow table.
If the timeout has not yet expired or if the timeout feature is not enabled, then the
application performs a recovery check. If the time since the flow last violated the
bandwidth is longer than the configurable recovery period, the flow has recovered and
is removed from the flow table. If the time since last violation is less than the recovery
period, the flow is kept in the flow table.
Notifications
By default, flow detection automatically generates system logs for a variety of events
that occur during flow detection. The logs are referred to as reports in the flow detection
CLI. All protocol groups and packet types are covered by default, but you can disable
automatic logging for individual packet types. You can also configure the rate at which
reports are sent, but this applies globally to all packet types.
• Flow reports—These reports are generated by events associated with the identification
and tracking of culprit flows. Each report includes identifying information for the flow
that experienced the event. This information is used to accurately maintain the flow
table; flows are deleted or retained in the table based on the information in the report.
Table 3 on page 11 describes the event that triggers each flow report.
DDOS_SCFD_FLOW_TIMEOUT The timeout period expires for a culprit flow. Flow detection stops suppressing (or
monitoring) the flow.
DDOS_SCFD_FLOW_CLEARED A culprit flow is cleared manually with a clear command or automatically as the
result of suspicious flow monitoring shifting to a different aggregation level.
DDOS_SCFD_FLOW_AGGREGATED Control flows are aggregated to a coarser level. This event happens when the flow
table nears capacity or when the flow cannot be found at a particular flow level
and the next coarser level has to be searched.
DDOS_SCFD_FLOW_DEAGGREGATED Control flows are deaggregated to a finer level. This event happens when the flow
table is not very full or when flow control is effective and the total arrival rate for
the flow at the policer for the packet type is below its bandwidth for a fixed, internal
period.
DDOS_PROTOCOL_VIOLATION_SET The incoming traffic for a violated control protocol returned to normal.
DDOS_PROTOCOL_VIOLATION_CLEAR The incoming traffic for a control protocol exceeded the configured
bandwidth.
A report is sent only when triggered by an event; that is, there are no null or empty reports.
Because the reports are made periodically, the only events of interest are ones that occur
during the interval since the last report.
Configuration
• Configuration Overview for DDoS on page 15
• Configuration Tasks for DDoS on page 17
• Example on page 23
• Configuration Overview for Flow Detection on page 33
• Configuration Tasks for Flow Detection on page 35
• Configuration Statements on page 45
DDoS protection is enabled by default for all supported protocol groups and packet
types. Default values are present for bandwidth, bandwidth scale, burst, burst scale,
priority, and recover time. You can change the DDoS configuration for individual packet
types within a protocol group or for the aggregate policer for the protocol group. DDoS
logging is enabled by default, but you can disable it globally for all DDoS events or for
individual packet types within a protocol group. You can also fine-tune monitoring of
DDoS events by configuring tracing operations.
You can disable DDoS protection at the Routing Engine and for all line cards either globally
or for individual packet types within a protocol group.
See “Disabling DDoS Protection Policers and Logging Globally” on page 21.
See “Configuring DDoS Protection Policers for Individual Packet Types” on page 17.
DDoS policers are applied to control packet traffic. You configure the maximum allowed
traffic rate, maximum burst size, traffic priority, and how much time must pass since the
last violation before the traffic flow is considered to have recovered from the attack. You
can also scale the bandwidth and burst values for individual line cards so that the policers
at this level trigger at lower thresholds than the overall protocol or packet thresholds.
You can configure an aggregate policer for any protocol group. The aggregate policer
applies to the combination of all types of control packet traffic for that group. When you
configure an aggregate policer for certain protocol groups, you can optionally bypass
that policer for one or more particular packet types in that group. For those same groups,
you can configure policers for individual packet types instead of configuring an aggregate
policer.
DDoS protection is enabled by default. Although all policers have default parameter
values, these values might not accurately reflect the control traffic pattern of your network.
You can disable a packet type’s policer at either the Routing Engine, at a specified line
card, or for all line cards. You can also disable logging of all DDoS events for individual
packet types within a protocol group.
2. Specify the packet type or the combination of all packet types in the group.
or
3. (Optional) Configure the maximum traffic rate the policer allows for the packet type.
For example, to set a bandwidth of 600 packets per second for DHCPv4 release
packets:
4. (Optional) Configure the maximum number of packets of the packet type that the
policer allows in a burst of traffic.
6. (Optional) Configure how much time must pass since the last violation before the
traffic flow is considered to have recovered from the attack.
For example, to specify that 600 seconds must have passed since the last violation
of the DHCPv4 release packet policer:
7. (Optional) Bypass the aggregate policer configuration. This is relevant only when an
aggregate policer is configured for the protocol group.
For example, to bypass the aggregate policer for DHCPv4 renew packets:
8. (Optional) Disable line card policers for the packet type on all line cards.
NOTE: When you disable line card policers globally at the [edit system
ddos-protection global] hierarchy level, the global setting overrides the
per-packet type setting shown in this step. If you subsequently remove
the global configuration, then the per-packet type configuration takes
effect.
For example, to disable the line card policer for DHCPv4 bootp packets:
9. (Optional) Disable DDoS event logging for only this packet type.
NOTE: Events disabled for the packet are associated with policer
violations; logging of flow detection culprit flow events is not affected by
this statement.
NOTE: When you disable DDoS event logging globally at the [edit system
ddos-protection global] hierarchy level, the global setting overrides the
per-packet type setting shown in this step. If you subsequently remove
the global configuration, then the per-packet type configuration takes
effect.
For example, to disable DDoS event logging line card policer for DHCPv4 discover
packets:
10. (Optional) Disable the Routing Engine policer for only this packet type.
NOTE: When you disable the Routing Engine policer globally at the [edit
system ddos-protection global] hierarchy level, the global setting overrides
the per-packet type setting shown in this step. If you subsequently remove
the global configuration, then the per-packet type configuration takes
effect.
For example, to disable the Routing Engine policer for DHCPv4 discover packets:
11. (Optional) Configure packet-level settings for the packet type on a single line card.
For example, to access DHCPv4 discover packet settings on the line card in slot 3:
12. (Optional) Scale the policer bandwidth for the packet type on the line card.
13. (Optional) Scale the policer burst size for the packet type on the line card.
14. (Optional) Disable the line card policer for the packet type on a particular line card.
For example, to disable the line card policer for DHCPv4 discover packets on the line
card in slot 3:
• For a list of supported protocol groups and packet types, see protocols on page 65.
DDoS policers are enabled by default for all supported protocol groups and packet types.
Policers are established at the level of the individual line card and the Routing Engine.
You can disable the line card policers globally for all MPCs or FPC5s. You can also disable
the Routing Engine policer. When you disable either of these policers, the policers at that
level for all protocol groups and packet types are disabled.
DDoS logging is also enabled by default. You can disable all DDoS event logging (including
flow detection event logging) for all protocol groups and packet types across the router.
NOTE: The global configuration for disabling policers and logging overrides
any local configuration for packet types.
Example
This example shows how to configure DDoS protection that enables the router to quickly
identify an attack and prevent a flood of malicious control packets from exhausting
system resources.
• Requirements on page 23
• Overview on page 23
• Configuration on page 24
• Verification on page 26
Requirements
DDoS protection requires the following hardware and software:
• MX Series 3D Universal Edge Routers that have only MPCs installed or T4000 Core
Routers that have only FPC5s installed.
NOTE: If the router has other cards in addition to MPCs or FPC5s, the CLI
accepts the configuration but the other cards are not protected and
therefore the router is not protected.
No special configuration beyond device initialization is required before you can configure
this feature.
Overview
Distributed denial-of-service attacks use multiple sources to flood a network or router
with protocol control packets. This malicious traffic triggers a large number of exceptions
in the network and attempts exhaust the system resources to deny valid users access
to the network or server.
This example describes how to configure rate-limiting policers that identify excess control
traffic and drop the packets before the router is adversely affected. Sample tasks include
configuring policers for particular control packet types within a protocol group, configuring
an aggregate policer for a protocol group and bypassing that policer for a particular
control packet type, and specifying trace options for DDoS operations.
Configuration
CLI Quick To quickly configure DDoS protection for protocol groups and particular control packet
Configuration types, copy the following commands, paste them in a text file, remove any line breaks,
and then copy and paste the commands into the CLI.
[edit]
edit system
set ddos-protection protocols dhcpv4 aggregate bandwidth 669
set ddos-protection protocols dhcpv4 aggregate burst 6000
set ddos-protection protocols dhcpv4 discover bandwidth 100
set ddos-protection protocols dhcpv4 discover recover-time 200
set ddos-protection protocols dhcpv4 discover burst 300
set ddos-protection protocols dhcpv4 offer priority medium
set ddos-protection protocols dhcpv4 offer bypass-aggregate
set ddos-protection protocols dhcpv4 offer fpc 1 bandwidth-scale 80
set ddos-protection protocols dhcpv4 offer fpc 1 burst-scale 75
set ddos-protection protocols pppoe aggregate bandwidth 800
set ddos-protection traceoptions file ddos-trace size 10m
set ddos-protection traceoptions flag all
top
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
2. Configure the maximum traffic rate for the DHCPv4 aggregate policer; that is, for
the combination of all DHCPv4 packets.
3. Configure the maximum burst rate for the DHCPv4 aggregate policer.
4. Configure the maximum traffic rate for the DHCPv4 policer for discover packets.
5. Decrease the recover time for violations of the DHCPv4 discover policer.
6. Configure the maximum burst rate for the DHCPv4 discover policer.
8. Prevent offer packets from being included in the aggregate bandwidth; that is, offer
packets do not contribute towards the combined DHCPv4 traffic to determine
whether the aggregate bandwidth is exceeded. However, the offer packets are still
included in traffic rate statistics.
9. Reduce the bandwidth and burst size allowed before violation is declared for the
DHCPv4 offer policer on the MPC or FPC5 in slot 1.
10. Configure the maximum traffic rate for the PPPoE aggregate policer, that is, for the
combination of all PPPoE packets.
Results From configuration mode, confirm your configuration by entering the show ddos-protection
command. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit system]
user@host# show ddos-protection
traceoptions {
file ddos-trace size 10m;
flag all;
}
protocols {
pppoe {
aggregate {
bandwidth 800;
}
}
dhcpv4 {
aggregate {
bandwidth 669;
burst 6000;
}
discover {
bandwidth 100;
burst 300;
recover-time 200;
}
offer {
priority medium;
fpc 1 {
bandwidth-scale 80;
burst-scale 75;
}
bypass-aggregate;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
To confirm that the DDoS protection configuration is working properly, perform these
tasks:
Purpose Verify that the DHCPv4 aggregate and protocol policer values have changed from the
default. With DHCPv4 and PPPoE traffic flowing, verify that the policers are working
correctly. You can enter commands to display the individual policers you are interested
in, as shown here, or you can enter the show ddos-protection protocols dhcpv4 command
to display this information for all DHCPv4 packet types.
Action From operational mode, enter the show ddos-protection protocols dhcpv4 aggregate
command.
From operational mode, enter the show ddos-protection protocols dhcpv4 discover
command.
From operational mode, enter the show ddos-protection protocols dhcpv4 offer command.
Meaning The output of these commands lists the policer configuration and traffic statistics for
the DHCPv4 aggregate, discover, and offer policers respectively.
The Aggregate policer configuration section in the first output example and Individual
policer configuration sections in the second and third output examples list the configured
values for bandwidth, burst, priority, recover time, and bypass-aggregate.
The System-wide information section shows the total of all DHCPv4 traffic statistics and
violations for the policer recorded across all line cards and at the Routing Engine. The
Routing engine information section shows the traffic statistics and violations for the
policer recorded at the Routing Engine. The FPC slot 1 information section shows the
traffic statistics and violations for the policer recorded only at the line card in slot 1.
The output for the aggregate policer in this example shows the following information:
• The System-wide information section shows that 71,064 DHCPv4 packets of all types
were received across all line cards and the Routing Engine. The section shows a single
violation with a time stamp and that the aggregate policer at a line card dropped 23,115
of these packets.
• The FPC slot 1 information section shows that this line card received all 71,064 DHCPv4
packets, but its aggregate policer experienced a violation and dropped the 23,115
packets shown in the other section. The line card individual policers dropped an
additional 11,819 packets.
• The Routing Engine information section shows that the remaining 36,130 packets all
reached the Routing Engine and that its aggregate policer dropped no additional
packets.
The difference between the number of DHCPv4 packets received and dropped at the
line card [71,064 - (23,115 + 11,819)] matches the number received at the Routing Engine.
That might not always be the case, because packets can be received and dropped at
more than one line card. In this example, only the line card in slot 1received any DHCPv4
packets.
The output for the DHCPv4 discover packet policer in this example shows the following
information:
• The System-wide information section shows that 47,949 DHCPv4 discover packets
were received across all line cards and the Routing Engine. The section shows a single
violation with a time stamp and that the aggregate policer at a line card dropped 11,819
of these packets.
• The FPC slot 1 information section shows that this line card received all 47,949 DHCPv4
discover packets, but its individual policer experienced a violation and dropped the
11,819 packets shown in the other section.
• The Routing Engine information section shows that only 36,130 DHCPv4 discover
packets reached the Routing Engine and that it dropped no additional packets.
The difference between the number of DHCPv4 discover packets received and dropped
at the line card (47,949 - 11,819) matches the number received at the Routing Engine.
That might not always be the case, because packets can be received and dropped at
more than one line card. In this example, only the line card in slot 1received any DHCPv4
discover packets.
The output for the DHCPv4 offer packet policer in this example shows the following
information:
Purpose Verify that the PPPoE policer values have changed from the default.
Action From operational mode, enter the show ddos-protection protocols pppoe parameters
brief command.
From operational mode, enter the show ddos-protection protocols pppoe padi command,
and enter the command for padr as well.
Meaning The output from the show ddos-protection protocols pppoe parameters brief command
lists the current configuration for each of the individual PPPoE packet policers and the
PPPoE aggregate policer. A change from a default value is indicated by an asterisk next
to the modified value. The only change made to PPPoE policers in the configuration steps
was to the aggregate policer bandwidth; this change is confirmed in the output. Besides
the configuration values, the command output also reports whether a policer has been
disabled, whether it bypasses the aggregate policer (meaning that the traffic for that
packet type is not included for evaluation by the aggregate policer), and whether the
policer has been modified for one or more line cards.
The output of the show ddos-protection protocols pppoe padi command in this example
shows the following information:
• The System-wide information section shows that 704,832,908 PPPoE PADI packets
were received across all line cards and the Routing Engine. The section shows a single
violation on a line card that is still in progress, and that the aggregate policer at the line
card dropped 660,788,548 of the PADI packets.
• The FPC slot 3 information section shows that this line card received all 704,832,908
PADI packets. Its individual policer dropped 660,788,548 of those packets and its
aggregate policer dropped the other 4,094,030 packets. The violation is ongoing and
has lasted more than a day.
• The Routing Engine information section shows that only 39,950,330 PADI packets
reached the Routing Engine and that it dropped no additional packets.
The difference between the number of PADI packets received and dropped at the line
card [704,832,908 - (660,788,548 + 4,094030)] matches the number received at
the Routing Engine. That might not always be the case, because packets can be received
and dropped at more than one line card. In this example, only the line card in slot 3
received any PADI packets.
The output of the show ddos-protection protocols pppoe padr command in this example
shows the following information:
• The System-wide information section shows that 494,663,595 PPPoE PADR packets
were received across all line cards and the Routing Engine. The section shows a single
violation on a line card that is still in progress, and that the policer at the line card
dropped 484,375,900 of the PADR packets.
• The FPC slot 1 information section shows that this line card received all 494,663,595
PADR packets. Its individual policer dropped 484,375,900 of those packets. The
violation is ongoing and has lasted more than five hours.
• The Routing Engine information section shows that only 10,287,695 PADR packets
reached the Routing Engine and that it dropped no additional packets.
The difference between the number of PADR packets received and dropped at the line
card (494,663,595 - 484,375,900) matches the number received at the Routing Engine.
That might not always be the case, because packets can be received and dropped at
more than one line card. In this example, only the line card in slot 1 received any PADR
packets.
Flow detection monitors the flows of control traffic for violation of the bandwidth allowed
for each flow and manages traffic identified as a culprit flow. Suppression of the traffic
is the default management option. Flow detection is typically implemented as part of
an overall DDoS protection strategy, but it is also useful for troubleshooting and
understanding traffic flow in new configurations. Flow detection is disabled by default.
Before you begin, ensure you have configured DDoS protection appropriately for you
network. See “Configuring Protection Against DDoS Attacks” on page 15 for detailed
information about DDoS protection.
1. Enable flow detection globally for all protocol groups and packet types.
See “Enabling Flow Detection for All Protocol Groups and Packet Types” on page 37.
2. (Optional) Set the rate at which culprit flow events are reported for all line cards,
protocol groups, and packet types.
See “Configuring the Culprit Flow Reporting Rate for All Protocol Groups and Packet
Types” on page 37.
3. Set the rate at which bandwidth violations are reported for all line cards, protocol
groups, and packet types.
See “Configuring the Violation Reporting Rate for All Protocol Groups and Packet
Types” on page 37.
4. (Optional) Configure how long a suspicious flow must be in violation of flow bandwidth
before being declared a culprit flow.
See “Configuring the Detection Period for Suspicious Flows” on page 38.
5. (Optional) Configure how long a culprit flow must drop to within its allowed bandwidth
before being declared normal.
See “Configuring the Recovery Period for a Culprit Flow” on page 38.
6. (Optional) Enable and configure how long a culprit flow is suppressed or monitored.
See “Configuring the Timeout Period for a Culprit Flow” on page 39.
See “Configuring Flow Detection for Individual Protocol Groups or Packets” on page 40.
8. (Optional) Configure when flow detection operates at each flow aggregation level
(subscriber, logical interface, and physical interface).
See “Configuring How Flow Detection Operates at Each Flow Aggregation Level” on
page 40.
9. Configure the maximum bandwidth for packet flows at each flow aggregation level
(subscriber, logical interface, and physical interface).
See “Configuring the Maximum Flow Bandwidth at Each Flow Aggregation Level” on
page 42.
10. (Optional) Configure how traffic is controlled at each flow aggregation level
(subscriber, logical interface, and physical interface) for flows that violate their
bandwidth.
See “Configuring How Traffic in a Culprit Flow Is Controlled at Each Flow Aggregation
Level” on page 42.
See “Disabling Automatic Logging of Culprit Flow Events for a Packet Type” on page 43.
Flow detection monitors the flows of control traffic for violation of the bandwidth allowed
for each flow and manages traffic identified as a culprit flow. Suppression of the traffic
is the default management option. Flow detection is typically implemented as part of
an overall DDoS protection strategy, but it is also useful for troubleshooting and
understanding traffic flow in new configurations. Flow detection is disabled by default.
Before you begin, ensure you have configured DDoS protection appropriately for you
network. See “Configuring Protection Against DDoS Attacks” on page 15 for detailed
information about DDoS protection.
1. Enable flow detection globally for all protocol groups and packet types.
See “Enabling Flow Detection for All Protocol Groups and Packet Types” on page 37.
2. (Optional) Set the rate at which culprit flow events are reported for all line cards,
protocol groups, and packet types.
See “Configuring the Culprit Flow Reporting Rate for All Protocol Groups and Packet
Types” on page 37.
3. Set the rate at which bandwidth violations are reported for all line cards, protocol
groups, and packet types.
See “Configuring the Violation Reporting Rate for All Protocol Groups and Packet
Types” on page 37.
4. (Optional) Configure how long a suspicious flow must be in violation of flow bandwidth
before being declared a culprit flow.
See “Configuring the Detection Period for Suspicious Flows” on page 38.
5. (Optional) Configure how long a culprit flow must drop to within its allowed bandwidth
before being declared normal.
See “Configuring the Recovery Period for a Culprit Flow” on page 38.
6. (Optional) Enable and configure how long a culprit flow is suppressed or monitored.
See “Configuring the Timeout Period for a Culprit Flow” on page 39.
See “Configuring Flow Detection for Individual Protocol Groups or Packets” on page 40.
8. (Optional) Configure when flow detection operates at each flow aggregation level
(subscriber, logical interface, and physical interface).
See “Configuring How Flow Detection Operates at Each Flow Aggregation Level” on
page 40.
9. Configure the maximum bandwidth for packet flows at each flow aggregation level
(subscriber, logical interface, and physical interface).
See “Configuring the Maximum Flow Bandwidth at Each Flow Aggregation Level” on
page 42.
10. (Optional) Configure how traffic is controlled at each flow aggregation level
(subscriber, logical interface, and physical interface) for flows that violate their
bandwidth.
See “Configuring How Traffic in a Culprit Flow Is Controlled at Each Flow Aggregation
Level” on page 42.
See “Disabling Automatic Logging of Culprit Flow Events for a Packet Type” on page 43.
Enabling Flow Detection for All Protocol Groups and Packet Types
By default, flow detection is disabled for all protocol groups and packet types. You must
enable flow detection globally by including the flow-detection statement. If you
subsequently disable flow detection for individual packet types, you cannot use this
global statement to override all such individual configurations; you must re-enable
detection at the packet configuration level.
Configuring the Culprit Flow Reporting Rate for All Protocol Groups and Packet Types
When flow detection confirms that a suspicious flow it is tracking on a line card is indeed
a culprit flow, it sends a report to the Routing Engine. Flow detection also reports each
culprit flow that subsequently recovers to within the allowed bandwidth or is cleared.
You can include the flow-report-rate statement to limit how many flows per second on
each line card can be reported. Culprit flow events are reported for all protocol groups
and packet types by default. When too many flows are reported, congestion can occur
on the host path to the Routing Engine flow.
Configuring the Violation Reporting Rate for All Protocol Groups and Packet Types
By default, flow detection reports to the Routing Engine all violations of bandwidth at
the FPC for all protocol groups and packet types. You can include the violation-report-rate
statement to limit how many violations per second flow detection reports from the line
cards, thus reducing the load on the router. We recommend that you configure a report
rate that is suitable for your network rather than rely on the default value.
BEST PRACTICE: We recommend that you use the default value for the
detection period.
To specify how long a flow must be in violation before flow detection declares it to be a
culprit flow:
For example, include the following statement to require the DHCPv4 discover packet
flow to be in violation of its allowed bandwidth for 30 seconds before it is considered
to be a culprit flow:
After DDoS protection flow detection has identified a suspicious flow as a culprit flow,
it has to determine when that flow no longer represents a threat to the router. When the
traffic flow rate drops back to within the allowed bandwidth, the rate must remain within
the bandwidth for a recovery period. Only then does flow detection consider the flow to
be normal and stop the traffic handling action enacted against the culprit flow. You can
include the flow-recover-time statement to configure the duration of this recovery period
or you can rely on the default period of 60 seconds.
To specify how long a flow must be within its allowed bandwidth after a violation before
flow detection declares it to be a normal flow:
For example, include the following statement to require the DHCPv4 discover packet
flow to be in recovery for five minutes (300 seconds):
When DDoS protection flow detection identifies a suspicious flow as a culprit flow, by
default it suppresses traffic for that flow for as long as the traffic flow exceeds the
bandwidth limit. Suppression stops and the flow is removed from the flow table when
the time since the last violation by the flow is greater than the recovery period.
Alternatively, you can include the timeout-active-flows statement to enable flow detection
to suppress a culprit flow for a configurable timeout period. When the timeout period
expires, suppression stops and the flow is removed from the flow table. You can either
include the flow-timeout-time statement to configure the duration of the timeout period
or rely on the default timeout of 300 seconds.
For example, include the following statements to suppress the DHCPv4 discover packet
flow for 10 minutes (600 seconds):
By default, flow detection is disabled for all protocol groups and packet types. After you
have turned on flow detection globally, you can include the flow-detection-mode
statement to configure flow detection to operate differently for individual packet types.
By default, flow detection operates in automatic mode for all packet types, meaning that
it monitors control traffic for suspicious flows only after a DDoS policer has been violated.
You can also configure flow detection either to never monitor flows or to always monitor
flows.
NOTE: The flow detection mode at the packet level must be either automatic
or on for flow detection to operate at individual flow aggregation levels.
When flow detection is turned on, traffic flows are monitored by default for all protocol
groups and packet types. When a policer violation occurs, each suspicious flow is
examined to determine whether it is the culprit flow that caused the violation. You can
include the flow-level-detection statement to configure how flow detection works at
each flow aggregation level for a packet type: subscriber, logical interface, or physical
interface.
NOTE: The flow detection mode at the packet level must be either automatic
or on for flow detection to operate at individual flow aggregation levels.
• on—Traffic flows at this flow aggregation level are monitored for suspicious flows even
when no DDoS protection policer is currently being violated, if flow detection at the
packet level is configured to on. Monitoring continues at this level regardless of whether
a suspect flow is identified at this level. However, If the packet level mode is automatic,
then the policer must be in violation for traffic flows to be checked at this level.
Flows are examined first at the finest-grained (lowest bandwidth) flow aggregation level,
subscriber. If the suspect flow is not found at the subscriber level, then flows are checked
at the logical interface level. Finally, if the suspect is not found there, then flows are
checked at the physical interface level; barring some misconfiguration, the culprit flow
must be found at this level.
For example, include the following statements to configure flow detection to check for
suspicious flows at the subscriber level only when the policer is being violated, to never
check at the logical interface level, and to always check at the physical interface level:
To configure the maximum bandwidth for traffic flows each flow aggregation level:
2. (Optional) Configure the bandwidth for flows at the logical interface level.
3. (Optional) Configure the bandwidth for flows at the physical interface level.
For example, to configure the flow bandwidth to 1000 pps at the subscriber level, 5000
pps at the logical interface level, and 30,000 at the physical interface level:
Configuring How Traffic in a Culprit Flow Is Controlled at Each Flow Aggregation Level
When flow detection is enabled, all traffic in a culprit flow is dropped by default for all
protocol groups and packet types and at all flow aggregation levels. You can include the
flow-level-control statement to configure flow detection to control traffic differently for
individual packet types. You have to specify the control behavior at a particular flow
aggregation level: subscriber, logical interface, or physical interface.
You can configure flow detection flow control to employ one of the following modes for
a packet type:
• Drop all traffic—Configure flow control to drop all traffic when you think the flow that
is violating a bandwidth limit is malicious. This behavior is the default at all flow
aggregation levels.
• Police traffic—Configure flow control to police a flow that is violating bandwidth, forcing
the rate below the bandwidth limit. Flow control acts as a simple policer in this case.
• Keep all traffic—Configure flow control to keep all traffic whether the flow is in violation
or below the bandwidth limit. This mode is helpful when you need to debug traffic flow
for your network.
Flow control mode enables great flexibility in how you manage control traffic in your
network. For example, if you only want to ensure that control flows for a packet type at
all aggregation levels are within their limits, you can configure flow control to police the
traffic at each level. Or if you want to detect culprit flows and suppress them at one level
but only restrain traffic to the allowed bandwidth at another level, you can configure one
level to drop all traffic and the other to police traffic.
For example, to configure flow detection to keep all traffic for a physical interface under
the configured bandwidth, but detect and suppress culprit flows at the subscriber level:
In this example, you do not care about the logical interface, so flow detection is turned
off for that level. Because flow detection is disabled, the state of flow control for that
level does not matter.
By default, flow detection automatically logs policer violation events associated with
suspicious flows (violation reports) and culprit flow events (flow reports) for all protocol
groups and packet types. You can include the no-flow-logging statement to prevent
automatic logging of culprit flow events for individual packet types. Automatic logging
of suspicious flow violation events is disabled with the disable-logging statement at the
[edit system ddos-protection global hierarchy level.
• Disable logging.
To disable automatic suspicious flow violation event logging for a packet type:
• Disable logging.
For example, include the following statement to disable automatic logging for DHCPv4
DISCOVER packet flows:
Configuration Statements
system {
ddos-protection {
global {
disable-fpc;
disable-logging;
disable-routing-engine;
flow-detection;
flow-report-rate;
violation-report-rate;
}
protocols protocol-group (aggregate | packet-type) {
bandwidth packets-per-second;
burst size;
bypass-aggregate;
disable-fpc;
disable-logging;
disable-routing-engine;
flow-detection-mode (automatic | off | on);
flow-detect-time seconds;
flow-level-bandwidth {
logical-interface flow-bandwidth;
physical-interface flow-bandwidth;
subscriber flow-bandwidth;
}
flow-level-control {
logical-interface flow-control-mode;
physical-interface flow-control-mode;
subscriber flow-control-mode;
}
flow-level-detection {
logical-interface flow-operation-mode;
physical-interface flow-operation-mode;
subscriber flow-operation-mode;
}
flow-recover-time seconds;
flow-timeout-time seconds;
fpc slot-number {
bandwidth-scale percentage;
burst-scale percentage;
disable-fpc;
}
no-flow-logging
priority level;
recover-time seconds;timeout-active-flows;
}
re-services {
captive-portal {
bandwidth packets-per-second;
burst size;
}
}
traceoptions{
file filename <files number> <match regular-expression > <size maximum-file-size>
<world-readable | no-world-readable>;
flag flag;
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
}
}
bandwidth (DDoS)
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Configure
the DDoS bandwidth rate limit; the maximum traffic rate (packets per second) allowed
for the packet type. When the value is exceeded, a violation is declared.
Options packets-per-second—Number of packets per second that are allowed for the packet type.
Range: 1 through 100,000 packets per second
Related • Configuring DDoS Protection Policers for Individual Packet Types on page 17
Documentation
bandwidth-scale (DDoS)
Hierarchy Level [edit system ddos-protection protocols protocol-group (aggregate | packet-type) fpc
slot-number]
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Configure
the percentage by which the DDoS bandwidth rate limit is scaled down for the packet
type on the card in the specified slot.
Options percentage—Percentage multiplied by the bandwidth rate limit to reduce the number of
packets per second allowed for the packet type.
Range: 1 through 100 percent
Default: 100
burst (DDoS)
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Configure
the DDoS burst limit; the maximum number of packets of the packet type that is allowed
in a burst of traffic. When this value is exceeded, a violation is declared.
Options size—Number of packets that are allowed in a burst for the packet type.
Range: 1 through 100,000 packets
Default: The default burst value varies by packet type. You can view the default values
for all packet types on an unconfigured router by entering the show ddos-protection
protocols parameters brief command from operational mode.
Related • Configuring DDoS Protection Policers for Individual Packet Types on page 17
Documentation
burst-scale (DDoS)
Hierarchy Level [edit system ddos-protection protocols protocol-group (aggregate | packet-type) fpc
slot-number]
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Configure
the percentage by which the DDoS burst limit is scaled down for the packet type on the
specified card.
Options percentage—Percentage multiplied by the burst limit to reduce the number of packets
allowed in a burst for the packet type.
Range: 1 through 100 percent
Default: 100
Related • Configuring DDoS Protection Policers for Individual Packet Types on page 17
Documentation
bypass-aggregate (DDoS)
Syntax bypass-aggregate;
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Prevent this
packet type from being considered by the DDoS aggregate policer. Traffic for the packet
type is still included in traffic statistics.
Related • Configuring DDoS Protection Policers for Individual Packet Types on page 17
Documentation
ddos-protection (DDoS)
Syntax ddos-protection
global {
disable-fpc;
disable-logging;
disable-routing-engine;
flow-detection;
flow-report-rate;
violation-report-rate;
}
protocols protocol-group (aggregate | packet-type) {
bandwidth packets-per-second;
burst size;
bypass-aggregate;
disable-fpc;
disable-logging;
disable-routing-engine;
flow-detection-mode (automatic | off | on);
flow-detect-time seconds;
flow-level-bandwidth {
logical-interface flow-bandwidth;
physical-interface flow-bandwidth;
subscriber flow-bandwidth;
}
flow-level-control {
logical-interface flow-control-mode;
physical-interface flow-control-mode;
subscriber flow-control-mode;
}
flow-level-detection {
logical-interface flow-operation-mode;
physical-interface flow-operation-mode;
subscriber flow-operation-mode;
}
flow-recover-time seconds;
flow-timeout-time seconds;
fpc slot-number {
bandwidth-scale percentage;
burst-scale percentage;
disable-fpc;
}
no-flow-logging
priority level;
recover-time seconds;
timeout-active-flows;
}
re-services {
captive-portal {
bandwidth packets-per-second;
burst size;
}
}
traceoptions{
disable-fpc (DDoS)
Syntax disable-fpc;
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Disable
DDoS policers for debugging purposes on the card in the specified slot for a particular
packet type within a protocol group, on all cards for a particular packet type within a
protocol group, or globally on all cards and for all packet types in all protocols. This
statement does not affect the state of the Routing Engine policers.
disable-logging (DDoS)
Syntax disable-logging;
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Disable
router-wide logging of all DDoS violation and flow detection events globally. Disable only
logging of events other than flow detection culprit flow events for a particular packet
type within a protocol group. Typically used for debugging purposes.
• Disabling Automatic Logging of Culprit Flow Events for a Packet Type on page 43
disable-routing-engine (DDoS)
Syntax disable-routing-engine;
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Disable
DDoS Routing Engine policers for debugging purposes for a particular packet type within
a protocol group or globally for all packet types in all protocols. This statement does not
affect the state of the line card policers.
Syntax flow-detection;
Description (MX Series routers with MPCs only) Enable flow detection globally for all protocol groups
and packet types.
Related • Enabling Flow Detection for All Protocol Groups and Packet Types on page 37
Documentation
• Configuring Flow Detection for DDoS Protection on page 33
Syntax flow-detection {
flow-detect-time detect-period;
no-flow-logging;
timeout-active-flows enable-period;
flow-level-bandwidth {
logical-interface flow-bandwidth;
physical-interface flow-bandwidth;
subscriber flow-bandwidth;
}
flow-level-control {
logical-interface flow-control-mode;
physical-interface flow-control-mode;
subscriber flow-control-mode;
}
flow-level-detection {
logical-interface operation-mode;
physical-interface operation-mode;
subscriber operation-mode;
}
flow-detection-mode (automatic |off | on);
flow-recover-time recover-period;
flow-timeout-time timeout-period;
}
Description (MX Series routers with MPCs only) Configure DDoS protection suspicious control flow
detection for a packet type.
Description (MX Series routers with MPCs only) Configure the mode of operation for flow detection
for the packet type. The operation mode is effective only when flow detection is enabled.
Default The default mode for all protocol groups and packet types is automatic.
on—Always monitor and detect flows, even when the policer is not being violated.
Related • Configuring Flow Detection for Individual Protocol Groups or Packets on page 40
Documentation
• Configuring Flow Detection for DDoS Protection on page 33
Description (MX Series routers with MPCs only) Configure how much time must pass before a
suspicious flow that has exceeded the bandwidth allowed for the packet type is confirmed
to be a culprit flow.
BEST PRACTICE: We recommend that you use the default value for the
detection period.
Syntax flow-level-bandwidth {
logical-interface flow-bandwidth;
physical-interface flow-bandwidth;
subscriber flow-bandwidth;
}
Description (MX Series routers with MPCs only) Configure allowed flow bandwidth for the packet
type at each flow aggregation level.
Related • Configuring the Maximum Flow Bandwidth at Each Flow Aggregation Level on page 42
Documentation
• Configuring Flow Detection for DDoS Protection on page 33
Syntax flow-level-control {
logical-interface flow-control-mode;
physical-interface flow-control-mode;
subscriber flow-control-mode;
}
Description (MX Series routers with MPCs only) Specify how traffic in the detected flow is handled
for the packet type at each flow aggregation level.
Related • Configuring How Traffic in a Culprit Flow Is Controlled at Each Flow Aggregation Level
Documentation on page 42
Syntax flow-level-detection {
logical-interface flow-operation-mode;
physical-interface flow-operation-mode;
subscriber flow-operation-mode;
}
Description (MX Series routers with MPCs only) Configure the mode of operation for flow detection
for the packet type at each flow aggregation level.
NOTE: Flow detection operates for individual flow aggregation levels only
when the flow detection mode at the packet level is configured to either
automatic or on.
Related • Configuring How Flow Detection Operates at Each Flow Aggregation Level on page 40
Documentation
• Configuring Flow Detection for DDoS Protection on page 33
Description (MX Series routers with MPCs only) Configure how much time must pass before a culprit
flow for the packet type is considered to have returned to normal. The period starts when
the flow drops below the threshold that triggered the last violation.
Description (MX Series routers with MPCs only) Set the rate at which culprit flow events are reported
by system log messages, for all protocol groups and packet types on all line cards.
Related • Configuring the Culprit Flow Reporting Rate for All Protocol Groups and Packet Types
Documentation on page 37
Description (MX Series routers with MPCs only) Configure the period of time that a culprit flow is
suppressed for the packet type. The timeout period is effective only when timing out has
been enabled with the timeout-active-flows statement.
fpc (DDoS)
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Modify the
DDoS policer for the packet type on the specified card.
Related • Configuring DDoS Protection Policers for Individual Packet Types on page 17
Documentation
global (DDoS)
Syntax global {
disable-fpc;
disable-logging;
disable-routing-engine;
flow-detection;
flow-report-rate;
violation-report-rate;
}
Description Modify DDoS policers, event logging, and flow detection globally for all protocols.
Description (MX Series routers with MPCs only) Configure flow bandwidth, flow control mode, or
flow detection mode for flow detection at the logical interface flow aggregation level
for the packet type.
Options flow-bandwidth—Bandwidth for the flow at the logical interface level. Available only at
the [edit system ddos-protection protocols protocol-group packet-type
flow-level-bandwidth] hierarchy level.
Default: 200 packets per second
Range: 1 through 30,000 packets per second
flow-control-mode—Mode for how traffic in the detected flow is controlled at the logical
interface level. Available only at the [edit system ddos-protection protocols
protocol-group packet-type flow-level-control] hierarchy level.
flow-detection-mode—Mode for how flow detection operates at the logical interface level
when a policer has been violated. Available only at the [edit system ddos-protection
protocols protocol-group packet-type flow-level-detection] hierarchy level.
• automatic—Search flows at the logical interface level only when a DDoS policer is
being violated and only when the flow causing the policer violation is not discovered
at the finer flow aggregation level, subscriber. When the suspicious flow is not found
at this level, then the search moves to a coarser level of flow aggregation (physical
interface). Flows at the logical interface level are subsequently not searched again
until the policer is no longer violated at the coarser level, and a subsequent violation
occurs that cannot be found at the subscriber level.
• off—Disable flow detection at the logical interface level so that flows are never searched
at this level.
• on—Search flows at the logical interface level, even when no DDoS protection policer
is currently being violated. Monitoring continues at this level regardless of whether a
suspect flow is identified at this level.
Related • Configuring the Maximum Flow Bandwidth at Each Flow Aggregation Level on page 42
Documentation
• Configuring How Traffic in a Culprit Flow Is Controlled at Each Flow Aggregation Level
on page 42
• Configuring How Flow Detection Operates at Each Flow Aggregation Level on page 40
Syntax no-flow-logging;
Description (MX Series routers with MPCs only) Disable automatic logging of flow detection culprit
flow events (flow reports) for the packet type.
NOTE: You can disable ogging of suspicious flow events (violation reports)
with the disable-logging statement at the [edit system ddos-protection global
hierarchy level.
Related • Disabling Automatic Logging of Culprit Flow Events for a Packet Type on page 43
Documentation
• Configuring Flow Detection for DDoS Protection on page 33
Description (MX Series routers with MPCs only) Configure flow bandwidth, flow control mode, or
flow detection mode at the physical interface flow aggregation level for the packet type.
Options flow-bandwidth—Bandwidth for the flow at the physical interface level. Available only
at the [edit system ddos-protection protocols protocol-group packet-type
flow-level-bandwidth] hierarchy level.
Default: 20,000 packets per second
Range: 1 through 50,000 packets per second
flow-control-mode—Mode for how traffic in the detected flow is controlled at the physical
interface level. Available only at the [edit system ddos-protection protocols
protocol-group packet-type flow-level-control] hierarchy level.
• automatic—Search flows at the physical interface level only when a DDoS policer is
being violated and only when the policer violation is not discovered at the finer
aggregation levels, logical interface or subscriber. Flows at the physical interface level
are subsequently not searched again until a subsequent violation occurs that cannot
be found at the subscriber or logical interface levels.
• off—Disable flow detection at the physical interface level so that flows are never
searched at this level.
• on—Search flows at the physical interface level, even when no DDoS protection policer
is currently being violated. Monitoring continues at this level regardless of whether a
suspect flow is identified at this level.
Related • Configuring the Maximum Flow Bandwidth at Each Flow Aggregation Level on page 42
Documentation
• Configuring How Traffic in a Culprit Flow Is Controlled at Each Flow Aggregation Level
on page 42
• Configuring How Flow Detection Operates at Each Flow Aggregation Level on page 40
priority (DDoS)
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Configure
the priority for the packet type within the parent protocol group. In the event of
downstream traffic congestion, high priority packets are provided bandwidth before
medium priority packets. In turn, medium priority packets are provided bandwidth before
low priority packets. Packets are dropped when there is insufficient available bandwidth.
Related • Configuring DDoS Protection Policers for Individual Packet Types on page 17
Documentation
protocols (DDoS)
Description Configure DDoS policers for all packet types within a protocol group or for a particular
packet type within a protocol group.
Options aggregate—Configure the policer to monitor all control packets within the protocol group.
You can configure an aggregate policer for any protocol group.
packet-type—(Optional) Name of the control packet type to be policed. You can configure
a specific policer for only the following packet types and protocol groups:
• dhcpv4—The following packet types are available for DHCPv4 traffic:
• ack—DHCPACK packets.
• bootp—DHCPBOOTP packets.
• decline—DHCPDECLINE packets.
• discover—DHCPDISCOVER packets.
• force-renew—DHCPFORCERENEW packets.
• inform—DHCPINFORM packets.
• lease-active—DHCPLEASEACTIVE packets.
• lease-query—DHCPLEASEQUERYpackets.
• lease-unassigned—DHCPLEASEUNASSIGNED packets.
• lease-unknown—DHCPLEASEUNKNOWN packets.
• nak—DHCPNAK packets.
• offer—DHCPOFFER packets.
• release—DHCPRELEASE packets.
• renew—DHCPRENEW packets.
• request—DHCPREQUEST packets.
• advertise—ADVERTISE packets.
• confirm—CONFIRM packets.
• decline—DECLINE packets.
• information-request—INFORMATION-REQUEST packets.
• leasequery—LEASEQUERY packets.
• leasequery-data—LEASEQUERY-DATA packets.
• leasequery-done—LEASEQUERY-DONE packets.
• leasequery-reply—LEASEQUERY-REPLY packets.
• rebind—REBIND packets.
• reconfigure—RECONFIGURE packets.
• relay-forward—RELAY-FORWARD packets.
• relay-reply—RELAY-REPLY packets.
• release—RELEASE packets.
• renew—RENEW packets.
• reply—REPLY packets.
• request—REQUEST packets.
• solicit—SOLICIT packets.
• frame-relay—The following packet types are available for Frame Relay traffic:
• first-fragment—First IP fragment.
• trail-fragment—Last IP fragment.
• packets—MLP packets.
• isis—IS-IS packets.
• padi—PADI packets.
• padm—PADM packets.
• padn—PADN packets.
• pado—PADO packets.
• padr—PADR packets.
• pads—PADS packets.
• padt—PADT packets.
• virtual-chassis—The following packet types are available for virtual chassis packets:
protocol-group—Name of the protocol group for which traffic is policed. You can configure
a policer for any of the following protocol groups:
• amtv4—IPv4 AMT traffic.
• ancp—ANCP traffic.
• ancpv6—ANCPv6 traffic.
• arp—ARP traffic.
• atm—ATM traffic.
• bfd—BFD traffic.
• bfdv6—BFDv6 traffic.
• bgp—BGP traffic.
• bgpv6—BGPv6 traffic.
• control—Control traffic.
• dhcpv4—DHCPv4 traffic.
• dhcpv6—DHCPv6 traffic.
• dns—DNS traffic.
• dtcp—DTCP traffic.
• egpv6—EGPv6 traffic.
• eoam—EOAM traffic.
• esmc—ESMC traffic.
• ftp—FTP traffic.
• ftpv6—FTPv6 traffic.
• gre—GRE traffic.
• icmp—ICMP traffic.
• igmp—IGMP traffic
• igmpv6—IGMPv6 traffic.
• isis—IS-IS traffic.
• jfm—JFM traffic.
• keepalive—Keepalive traffic.
• l2tp—L2TP traffic.
• lacp—LACP traffic.
• ldp—LDP traffic.
• ldpv6—LDPv6 traffic.
• lldp—LLDP traffic.
• lmp—LMP traffic.
• lmpv6—LMPv6 traffic.
• mlp—MLP traffic.
• msdp—MSDP traffic.
• msdpv6—MSDPv6 traffic.
• mvrp—MVRP traffic.
• ntp—NTP traffic.
• oam-lfm—OAM-LFM traffic.
• ospf—OSPF traffic.
• ospfv3v6—OSPFv3/IPv6 traffic.
• pim—PIM traffic.
• pmvrp—PMVRP traffic.
• pos—POS traffic.
• ppp—PPP traffic.
• pppoe—PPPoE traffic.
• ptp—PTP traffic.
• pvstp—PVSTP traffic.
• radius—RADIUS traffic.
• rip—RIP traffic.
• ripv6—RIPv6 traffic.
• rsvp—RSVP traffic.
• rsvpv6—RSVPv6 traffic.
• services–Service traffic.
• snmp—SNMP traffic.
• snmpv6—SNMPv6 traffic.
• ssh—SSH traffic.
• sshv6—SSHv6 traffic.
• stp—STP traffic.
• tacacs—TACACS traffic.
• telnet—TELNET traffic.
• telnetv6—TELNETv6 traffic.
• ttl—TTL traffic.
• unclassified—Unclassified traffic.
• vrrp—VRRP traffic.
• vrrpv6—VRRPv6 traffic.
Related • Configuring DDoS Protection Policers for Individual Packet Types on page 17
Documentation
recover-time (DDoS)
Description (MX Series routers with only MPCs or T4000 Core Routers with only FPC5s) Configure
how much time must pass since the last detected DDoS violation before the traffic is
considered to have recovered from the attack and returned to normal.
Related • Configuring DDoS Protection Policers for Individual Packet Types on page 17
Documentation
Description (MX Series routers with MPCs only) Configure flow bandwidth, flow control mode, or
flow detection mode at the subscriber flow aggregation level for the packet type.
Options flow-bandwidth—Specify the bandwidth for the flow at the subscriber level. Available
only at the [edit system ddos-protection protocols protocol-group packet-type
flow-level-bandwidth] hierarchy level.
Default: 100 packets per second
Range: 1 through 10,000 packets per second
• automatic—Search flows at the subscriber level only when a DDoS policer is being
violated and only until it is established that the flow causing the violation is not at this
level. When the suspicious flow is not at this level, then the search moves to a coarser
level of flow aggregation (logical interface). Flows at the subscriber level are
subsequently not searched again until the policer is no longer violated at the coarser
level.
• off—Disable flow detection at the subscriber level so that flows are never searched at
this level.
• on—Search flows at the subscriber level, even when no DDoS protection policer is
currently being violated. Monitoring continues at this level regardless of whether a
suspect flow is identified at this level.
Related • Configuring the Maximum Flow Bandwidth at Each Flow Aggregation Level on page 42
Documentation
• Configuring How Traffic in a Culprit Flow Is Controlled at Each Flow Aggregation Level
on page 42
• Configuring How Flow Detection Operates at Each Flow Aggregation Level on page 40
Syntax timeout-active-flows;
Description (MX Series routers with MPCs only) Enable culprit flows for the packet type to time out
according to the timeout period. The culprit flow is suppressed for the duration of the
timeout period. When the period expires, the flow times out and is released from
suppression.
traceoptions (DDoS)
Syntax traceoptions {
file filename <files number> <match regular-expression > <size maximum-file-size>
<world-readable | no-world-readable>;
flag flag;
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
Options file filename—Name of the file to receive the output of the tracing operation. Enclose the
filename within quotation marks. All files are placed in the directory /var/log.
files number—(Optional) Maximum number of trace files to create before overwriting the
oldest one. If you specify a maximum number of files, you also must specify a
maximum file size with the size option.
Range: 2 through 1000
Default: 3 files
flag flag—Tracing operation to perform. To specify more than one tracing operation,
include multiple flag statements. You can include the following flags:
• events—Trace jddosd event processing; currently only exit events are traced.
• gres—Trace messages exchanged with the kernel and jddosd process that could affect.
• protocol—Trace DDoS protocol state processing. Only the violation state is currently
traced.
level—Level of tracing to perform. You can specify any of the following levels:
match regular-expression—(Optional) Refine the output to include lines that contain the
regular expression.
size maximum-file-size—(Optional) Maximum size of each trace file. By default, the number
entered is treated as bytes. Alternatively, you can include a suffix to the number to
indicate kilobytes (KB), megabytes (MB), or gigabytes (GB). If you specify a maximum
file size, you also must specify a maximum number of trace files with the files option.
Syntax: sizek to specify KB, sizem to specify MB, or sizeg to specify GB
Range: 10,240 through 1,073,741,824
Description (MX Series routers with MPCs only) Limit the rate at which bandwidth violations (violation
reports) are reported from an FPC to the Routing Engine, for all protocol groups and
packet types on all line cards.
Related • Configuring the Violation Reporting Rate for All Protocol Groups and Packet Types on
Documentation page 37
Administration
• Verifying and Monitoring Configurations on page 81
• Monitoring Commands on page 83
Action • To display the DDoS policer configuration, violation state, and statistics for all packet
types in all protocol groups:
If you issue the command before you make any configuration changes, the default
policer values are displayed.
• To display the DDoS policer configuration, violation state, and statistics for a particular
packet type in a particular protocol group:
• To display only the number of DDoS policer violations for all protocol groups:
• To display a table of the DDoS configuration for all packet types in all protocol groups:
• To display a complete list of packet statistics and DDoS violation statistics for all
packet types in all protocol groups:
• To clear DDoS statistics for all packet types in all protocol groups:
• To clear DDoS statistics for all packet types in a particular protocol group:
• To clear DDoS statistics for a particular packet type in a particular protocol group:
• To clear DDoS violation states for all packet types in all protocol groups:
• To clear DDoS violation states for all packet types in a particular protocol group:
• To clear DDoS violation states for a particular packet type in a particular protocol
group:
• To display information about culprit flows identified by flow detection, including number
of flows detected and tracked, source address of the flow, arriving interface, and rates:
• To clear culprit flows for all packet types in all protocol groups:
• To clear culprit flows for all packet types in a particular protocol group:
Monitoring Commands
Description Clear current DDoS protection statistics, violation states, or culprit flows for all packet
types in all protocol groups, for all packet types in a particular protocol group, or for a
particular packet type in a particular protocol group.
culprit-flows—Clear culprit flows for a packet type, for a protocol group, or for all protocol
groups.
states—Clear DDoS protection violation states for a packet type, for a protocol group, or
for all protocol groups.
statistics—Clear DDoS protection statistics such as packet counts and rates for a packet
type, for a protocol group, or for all protocol groups.
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
Description Display DDoS protection configuration and statistics for protocol groups or individual
packet types.
Options none—Display information for all packet types in all protocol groups.
• ack—DHCPACK packets.
• bootp—DHCPBOOTP packets.
• decline—DHCPDECLINE packets.
• discover—DHCDISCOVER packets.
• force-renew—DHCPFORCERENEW packets.
• inform—DHCPINFORM packets.
• lease-active—DHCPLEASEACTIVE packets.
• lease-query—DHCPLEASEQUERYpackets.
• lease-unassigned—DHCPLEASEUNASSIGNED packets.
• lease-unknown—DHCPLEASEUNKNOWN packets.
• nak—DHCPNAK packets.
• offer—DHCOFFER packets.
• release—DHCPACK packets.
• renew—DHCPRENEW packets.
• request—DHCPREQUEST packets.
• advertise—ADVERTISE packets.
• confirm—CONFIRM packets.
• decline—DECLINE packets.
• information-request—INFORMATION-REQUEST packets.
• leasequery—LEASEQUERY packets.
• leasequery-data—LEASEQUERY-DATA packets.
• leasequery-done—LEASEQUERY-DONE packets.
• leasequery-reply—LEASEQUERY-REPLY packets.
• rebind—REBIND packets.
• reconfigure—RECONFIGURE packets.
• relay-forward—RELAY-FORWARD packets.
• relay-reply—RELAY-REPLY packets.
• release—RELEASE packets.
• renew—RENEW packets.
• reply—REPLY packets.
• request—REQUEST packets.
• solicit—SOLICIT packets.
• frame-relay—The following packet types are available for Frame Relay traffic:
• first-fragment—First IP fragment.
• trail-fragment—Last IP fragment.
• packets—MLP packets.
• isis—IS-IS packets.
• padi—PADI packets.
• padm—PADM packets.
• padn—PADN packets.
• pado—PADO packets.
• padr—PADR packets.
• pads—PADS packets.
• padt—PADT packets.
• host—Host packets.
• tap—TAP packets.
• virtual-chassis—The following packet types are available for virtual chassis packets:
• ancp—ANCP traffic.
• ancpv6—ANCPv6 traffic.
• arp—ARP traffic.
• atm—ATM traffic.
• bfd—BFD traffic.
• bfdv6—BFDv6 traffic.
• bgp—BGP traffic.
• bgpv6—BGPv6 traffic.
• control—Control traffic.
• dhcpv4—DHCPv4 traffic.
• dhcpv6—DHCPv6 traffic.
• dns—DNS traffic.
• dtcp—DTCP traffic.
• egpv6—EGPv6 traffic.
• eoam—EOAM traffic.
• esmc—ESMC traffic.
• ftp—FTP traffic.
• ftpv6—FTPv6 traffic.
• gre—GRE traffic.
• icmp—ICMP traffic.
• igmp—IGMP traffic
• igmpv6—IGMPv6 traffic.
• isis—IS-IS traffic.
• jfm—JFM traffic.
• keepalive—Keepalive traffic.
• l2tp—L2TP traffic.
• lacp—LACP traffic.
• ldp—LDP traffic.
• ldpv6—LDPv6 traffic.
• lldp—LLDP traffic.
• lmp—LMP traffic.
• lmpv6—LMPv6 traffic.
• mlp—MLP traffic.
• msdp—MSDP traffic.
• msdpv6—MSDPv6 traffic.
• mvrp—MVRP traffic.
• ndpv6—NDPv6 traffic.
• ntp—NTP traffic.
• oam-lfm—OAM-LFM traffic.
• ospf—OSPF traffic.
• ospfv3v6—OSPFv3/IPv6 traffic.
• pim—PIM traffic.
• pimv6—PIMv6 traffic.
• pmvrp—PMVRP traffic.
• pos—POS traffic.
• ppp—PPP traffic.
• pppoe—PPPoE traffic.
• ptp—PTP traffic.
• pvstp—PVSTP traffic.
• radius—RADIUS traffic.
• rip—RIP traffic.
• ripv6—RIPv6 traffic.
• rsvp—RSVP traffic.
• rsvpv6—RSVPv6 traffic.
• services–Service traffic.
• snmp—SNMP traffic.
• snmpv6—SNMPv6 traffic.
• ssh—SSH traffic.
• sshv6—SSHv6 traffic.
• stp—STP traffic.
• tacacs—TACACS traffic.
• telnet—TELNET traffic.
• telnetv6—TELNETv6 traffic.
• ttl—TTL traffic.
• vrrp—VRRP traffic.
• vrrpv6—VRRPv6 traffic.
Output Fields Table 5 on page 92 lists the output fields for the show ddos-protection protocols command.
Output fields are listed in the approximate order in which they appear.
Modified Number of packets for which policer values have been modified from the
default.
Currently violated Number of flows that are currently violating the flow bandwidth limit.
Currently tracked Number of active flows that are being tracked as culprit flows by flow detection.
flows
Total detected Total number of culprit flows that have been detected, including those that
flows have recovered or timed out.
Bandwidth Bandwidth policer value; number of packets per second that is allowed before
a violation is declared.
Burst Burst policer value; the maximum number of packets that is allowed in a burst
before a violation is declared.
Priority Priority of the packet type for individual packet policers that enables more
important traffic to pass through in the event of traffic congestion: low, medium,
or high. Lower priority packets can be dropped when insufficient bandwidth is
available.
Recover time Time that must pass since the last violation before the traffic flow is considered
to have recovered from the attack. A notification is generated when the timer
expires.
Enabled State of the policer, enabled (Yes), disabled (No), or partially disabled (Partial);
Partial indicates that only some of the policer instances are disabled for the
policer.
Routing Engine The following information collected for the Routing Engine:
information
• Bandwidth—Maximum number of packets per second that is allowed.
• Burst—Maximum number of packets that is allowed in a burst.
• A message indicates the State of the policer, enabled (Yes) or disabled
(No).
• A message indicates whether the policer has been violated; the policer might
be passed at the individual cards, but the combined rate of packets arriving
at the Routing Engine can exceed the configured policer value.
• Violation first detected at—Timestamp of the first violation.
• Violation last seen at—Timestamp of the last observed violation.
• Duration of violation—Length of the violation.
• Number of violations—Number of times the violation has occurred.
• Received—Number of packets received at the Routing Engine from all cards.
• Dropped—Number of packets dropped at the Routing Engine; includes
packets dropped by the aggregate policer and by individual protocol policers.
• Arrival rate—Current traffic rate for packets arriving at the Routing Engine
from all cards.
• Max arrival rate—Highest traffic rate for packets arriving at the Routing
Engine from all cards.
• Dropped by aggregate policer—Number of packets dropped by the aggregate
policer.
• Dropped by individual policers—Number of packets dropped by individual
policer.
FPC slot The following information collected for the card in the indicated slot:
information
• Bandwidth—Bandwidth scaling percentage and the number of packets per
second that is allowed before a violation is declared.
• Burst—Burst scaling percentage and the maximum number of packets that
is allowed in a burst before a violation is declared.
• A message indicates whether the policer has been violated.
• Violation first detected at—Timestamp of the first violation.
• Violation last seen at—Timestamp of the last observed violation.
• Duration of violation—Length of the violation.
• Number of violations—Number of times the violation has occurred.
• Received—Number of packets received on the line card.
• Dropped—Number of packets dropped at the line card; includes packets
dropped by the aggregate policer and by individual protocol policers.
• Arrival rate—Current traffic rate for packets arriving at the line card.
• Max arrival rate—Highest traffic rate for packets arriving at the line card.
• Dropped by this policer—Number of packets dropped by the individual
policer.
• Dropped by aggregate policer—Number of packets dropped by the aggregate
policer.
Dashes indicate that the bypass aggregate configuration is not available; this
is possible only for aggregate policers.
FPC Mod Indicates whether configuration has changed from the default for any line
cards.
• No—The default configuration has not changed from the default for the
packet type.
• Yes—The default configuration has changed from the default for the packet
type
Op mode Mode of operation for suspicious flow detection for the packet type: always-on
(on), (auto), or disabled (off).
Policer BW (pps) Bandwidth policer value; number of packets per second that is allowed before
a violation is declared.
Aggr level Flow operation mode, flow control mode, and flow bandwidth for traffic of
Op:Fc:Bwidth (pps) the packet type at each traffic flow aggregation level: subscriber (sub), logical
interface (ifl), and physical interface (ifd).
Log flow State of automatic logging of suspicious traffic flows for the packet type: on
(Yes) or off (No).
Time out State of culprit flow timeout behavior for the packet type: flow is suppressed
or monitored for a configured timeout period (Yes) or flow is suppressed or
monitored until it is no longer in violation (No).
Sample Output
Description Display culprit flow information for protocol groups or individual packet types.
Options none—Display information for all protocol groups and packet types.
packet-type—(Optional) Display information for the specified packet type in the protocol
group. The available packet types vary by protocol group. See show ddos-protection
protocols for a list of available packet types.
Output Fields Table 6 on page 101 lists the output fields for the show ddos-protection protocols
culprit-flows command. Output fields are listed in the approximate order in which they
appear.
Currently tracked Number of active flows that are being tracked as culprit flows by flow detection. none
flows
Total detected Total number of culprit flows that have been detected, including those that none
flows have recovered or timed out.
Arriving Interface Logical interface on which the traffic flow arrived. none
Source Address Source address of the traffic flow, either a MAC address or an IP address. none
MAC or IP
Additional Flow ID numbers automatically assigned to flow, with embedded slot ID. The none
information flow ID is prefixed by sub, ifl, or ifd, which indicate the subscriber, logical interface,
and physical interface flow aggregation levels.
Sample Output
Description Display flow detection information for all protocol groups or for a particular protocol
group.
• terse—Display the same level of information as the brief option but only for active
protocol groups.
Output Fields Table 7 on page 104 lists the output fields for the show ddos-protection protocols
flow-detection command. Output fields are listed in the approximate order in which they
appear.
Modified Number of packets for which policer values have been modified from the default. All levels
Flow detection Configuration of flow detection at the packet level. detail none
configuration
Detection mode or Mode of operation for flow detection at the packet level: All levels
Op mode
• Automatic or a—Search flows only when a policer is being violated.
• Off or x—Never search flows even when a policer is being violated.
• On or o—Search flows even when no policer is being violated.
Detect time Time in seconds that a suspicious flow that has exceeded the bandwidth allowed detail none
for the packet type must remain in violation to be confirmed as a culprit flow.
Log flows or Log State of automatic logging of suspicious traffic flows for the packet type: on All levels
flow (Yes) or off (No).
Recover time Time in seconds that must pass before a culprit flow for the packet type is detail none
considered to have returned to normal. The period starts when the flow drops
below the threshold that triggered the last violation.
Timeout flows or State of timeout enabling for culprit flows: All levels
Time out
• Yes—Enabled; flows can time out (released from suppression) when a timeout
period expires, regardless of whether flow is still in violation.
• No—Disabled; flows are not allowed to time out.
Timeout time Time in seconds that a culprit flow is suppressed. On expiration, the flow times detail none
out even if it is still violating the bandwidth limit.
Flow aggregation Configuration of flow detection for each flow aggregation level. detail none
level configuration
Detection mode or Mode of operation for flow detection at the flow aggregation level: All levels
Op
• Automatic—Search flows only when a policer is being violated.
• Off—Never search flows even when a policer is being violated.
• On—Search flows even when no policer is being violated.
Control mode or Fc Mode by which traffic in a culprit flow is handled. All levels
Flow rate or Bandwidth allowed at the flow aggregation level. brief terse
BWidth (pps)
Sample Output
...
Description Display DDoS protection configuration information for all protocol groups or for a particular
protocol group.
• terse—Display the same level of information as the brief option but only for active
protocol groups—groups that show traffic in the Received (packets) column.
Output Fields Table 8 on page 109 lists the output fields for the show ddos-protection protocols
parameters command. Output fields are listed in the approximate order in which they
appear.
Bandwidth Bandwidth policer value; number of packets per second that is allowed before All levels
a violation is declared.
In the brief output, an asterisk indicates the value has been modified from the
default.
Burst Burst policer value; the maximum number of packets that is allowed in a burst All levels
before a violation is declared.
In the brief output, an asterisk indicates the value has been modified from the
default.
Priority Priority of the packet type in the event of traffic congestion: low, medium, or All levels
high. Lower priority packets can be dropped when insufficient bandwidth is
available.
In the brief output, an asterisk indicates the value has been modified from the
default.
Recover time Time that must pass since the last violation before the traffic flow is considered All levels
to have recovered from the attack. A notification is generated when the timer
expires.
In the brief output, an asterisk indicates the value has been modified from the
default.
Enabled State of the policer, enabled (Yes) or disabled (No). detail none
FPC slot The following configuration information for the card in the indicated slot: detail none
information
• Bandwidth—Bandwidth scale and the number of packets per second that is
allowed before a violation is declared
• Burst—Burst scale and the maximum number of packets that is allowed in
a burst before a violation is declared
• enabled or disabled—State of the line card policer
Number of policers Number of policers that have been changed from the default configuration. brief terse
modified
An asterisk by a particular value indicates that value has been modified.
Policer Enabled State of the policer, enabled (Yes), disabled (No), or partially disabled (part.); brief terse
part. indicates that only some of the policer instances are disabled for the policer.
Dashes indicate that the bypass aggregate configuration is not available; this
is possible only for aggregate policers.
FPC Mod Indicates whether configuration has changed from the default for any line cards. brief terse
• No—The default configuration has not changed from the default for the
packet type.
• Yes—The default configuration has changed from the default for the packet
type
Sample Output
...
...
...
Enabled: Yes
FPC slot 1 information:
Bandwidth: 100% (669 pps), Burst: 100% (5000 packets), enabled
...
Description Display traffic statistics and DDoS policer violation statistics for all protocol groups or
for a particular protocol group.
• terse—Display the same level of information as the brief option but only for active
protocol groups—groups that show traffic in the Received (packets) column.
Output Fields Table 9 on page 116 lists the output fields for the show ddos-protection protocols statistics
command. Output fields are listed in the approximate order in which they appear.
System-wide The following information collected for the router: detail none
information
• A message indicates whether the policer has been violated.
• No. of FPCs currently receiving excess traffic—Number of cards that are
currently in violation of a policer.
• No. of FPCs that have received excess traffic—Number of cards that have at
some point been in violation of a policer.
• Violation first detected at—Timestamp of the first violation.
• Violation last seen at—Timestamp of the last observed violation.
• Duration of violation—Length of the violation.
• Number of violations—Number of times the violation has occurred.
• Received—Number of packets received at all card slots and the Routing
Engine.
• Dropped—Number of packets dropped regardless of where they were dropped.
• Arrival rate—Current traffic rate for packets arriving from all cards and at the
Routing Engine.
• Max arrival rate—Highest traffic rate for packets arriving from all cards and
at the Routing Engine.
Routing Engine The following information collected for the Routing Engine: detail none
information
• A message indicates whether the policer has been violated; the policer might
be passed at the individual cards, but the combined rate of packets arriving
at the Routing Engine can exceed the configured policer value.
• Violation first detected at—Timestamp of the first violation.
• Violation last seen at—Timestamp of the last observed violation.
• Duration of violation—Length of the violation.
• Number of violations—Number of times the violation has occurred.
• Received—Number of packets received at the Routing Engine from all cards.
• Dropped—Number of packets dropped at the Routing Engine; includes packets
dropped by the aggregate policer and by individual protocol policers.
• Arrival rate—Current traffic rate for packets arriving at the Routing Engine
from all cards.
• Max arrival rate—Highest traffic rate for packets arriving at the Routing Engine
from all cards.
• Dropped by aggregate policer—Number of packets dropped by the aggregate
policer.
• Dropped by individual policers—Number of packets dropped by individual
policer.
FPC slot The following information collected for the card in the indicated slot: detail none
information
• A message indicates whether the policer has been violated
• Violation first detected at—Timestamp of the first violation
• Violation last seen at—Timestamp of the last observed violation
• Duration of violation—Length of the violation
• Number of violations—Number of times the violation has occurred
• Received—Number of packets received on the line card
• Dropped—Number of packets dropped at the line card; includes packets
dropped by the aggregate policer and by individual protocol policers
• Arrival rate—Current traffic rate for packets arriving at the line card
• Max arrival rate—Highest traffic rate for packets arriving at the line card
• Dropped by this policer—Number of packets dropped by the individual policer
• Dropped by aggregate policer—Number of packets dropped by the aggregate
policer
Received (packets) Number of packets of this packet type or protocol group received at all cards brief terse
and the Routing Engine.
Dropped (packets) Number of packets dropped for this packet type or protocol group, regardless brief terse
of where the packets were dropped.
Rate (pps) Highest observed traffic rate for this packet type or protocol group. brief terse
Sample Output
...
...
icmp aggregate 0 0 0 0 ok
igmp aggregate 0 0 0 0 ok
ospf aggregate 0 0 0 0 ok
rsvp aggregate 0 0 0 0 ok
pim aggregate 0 0 0 0 ok
rip aggregate 0 0 0 0 ok
ptp aggregate 0 0 0 0 ok
bfd aggregate 0 0 0 0 ok
lmp aggregate 0 0 0 0 ok
ldp aggregate 0 0 0 0 ok
msdp aggregate 0 0 0 0 ok
bgp aggregate 0 0 0 0 ok
vrrp aggregate 0 0 0 0 ok
telnet aggregate 0 0 0 0 ok
...
Description Display information about DDoS policer violations for all protocol groups or for a particular
protocol group.
Output Fields Table 10 on page 126 lists the output fields for the show ddos-protection protocols violations
command. Output fields are listed in the approximate order in which they appear.
Number of packet Number of individual policers and aggregate policers that are currently being
types that are being violated
violated
Arrival rate (pps) Current traffic rate for packets arriving from all cards and at the Routing Engine
Peak rate (pps) Highest traffic rate for packets arriving from all cards and at the Routing Engine
Detected on Slot number of the card on which the violation was detected
Sample Output
Output Fields Table 11 on page 128 lists the output fields for the show ddos-protection statistics command.
Output fields are listed in the approximate order in which they appear.
Packet types have Number of packet types that have experienced a bandwidth violation since
seen violations statistics were cleared.
Sample Output
Description Display the DDoS protection version and the total numbers of protocol groups and packet
types that this version can be configured in this version.
Output Fields Table 12 on page 129 lists the output fields for the show ddos-protection version command.
Output fields are listed in the approximate order in which they appear.
Total tracked Number of protocol packet types configured with DDoS protection.
packet types
Sample Output
Troubleshooting
• Acquiring Troubleshooting Information on page 133
• Troubleshooting Configuration Statements on page 139
The Junos OS trace feature tracks DDoS protection operations and records events in a
log file. The error descriptions captured in the log file provide detailed information to help
you solve problems.
By default, nothing is traced. When you enable the tracing operation, the default tracing
behavior is as follows:
1. Important events are logged in a file located in the /var/log directory. By default, the
router uses the filename ddosd. You can specify a different filename, but you cannot
change the directory in which trace files are located.
2. When the trace log file filename reaches 128 kilobytes (KB), it is compressed and
renamed filename.0.gz. Subsequent events are logged in a new file called filename,
until it reaches capacity again. At this point, filename.0.gz is renamed filename.1.gz
and filename is compressed and renamed filename.0.gz. This process repeats until
the number of archived files reaches the maximum file number. Then the oldest trace
file—the one with the highest number—is overwritten.
You can optionally specify the number of trace files to be from 2 through 1000. You
can also configure the maximum file size to be from 10 KB through 1 gigabyte (GB).
(For more information about how log files are created, see the Junos OS System Log
Messages Reference.)
By default, only the user who configures the tracing operation can access log files. You
can optionally configure read-only access for all users.
See “Configuring the DDoS Protection Trace Log Filename” on page 134.
See “Configuring the Number and Size of DDoS Protection Log Files” on page 134.
See “Configuring Access to the DDoS Protection Log File” on page 135.
6. (Optional) Configure a severity level for messages to specify which event messages
are logged.
See “Configuring the Severity Level to Filter Which DDoS Protection Messages Are
Logged” on page 136.
By default, the name of the file that records trace output for DDoS protection is ddosd.
You can specify a different name with the file option.
• Specify the name of the file used for the trace output.
You can optionally specify the number of compressed, archived trace log files to be from
2 through 1000. You can also configure the maximum file size to be from 10 KB through
1 gigabyte (GB); the default size is 128 kilobytes (KB).
The archived files are differentiated by a suffix in the format .number.gz. The newest
archived file is .0.gz and the oldest archived file is .(maximum number)-1.gz. When the
current trace log file reaches the maximum size, it is compressed and renamed, and any
existing archived files are renamed. This process repeats until the maximum number of
archived files is reached, at which point the oldest file is overwritten.
For example, you can set the maximum file size to 2 MB, and the maximum number of
files to 20. When the file that receives the output of the tracing operation, filename,
reaches 2 MB, filename is compressed and renamed filename.0.gz, and a new file called
filename is created. When the new filename reaches 2 MB, filename.0.gz is renamed
filename.1.gz and filename is compressed and renamed filename.0.gz. This process repeats
until there are 20 trace files. Then the oldest file, filename.19.gz, is simply overwritten
when the next oldest file, filename.18.gz is compressed and renamed to filename.19.gz.
• Specify the name, number, and size of the file used for the trace output.
By default, only the user who configures the tracing operation can access the log files.
You can enable all users to read the log file and you can explicitly set the default behavior
of the log file.
To explicitly set the default behavior, only the user who configured tracing can read the
log file:
By default, the trace operation output includes all messages relevant to the logged
events.
By default, only important events are logged. You can specify which events and operations
are logged by specifying one or more tracing flags.
Configuring the Severity Level to Filter Which DDoS Protection Messages Are Logged
The messages associated with a logged event are categorized according to severity level.
You can use the severity level to determine which messages are logged for the event
type. The severity level that you configure depends on the issue that you are trying to
resolve. In some cases you might be interested in seeing all messages relevant to the
logged event, so you specify all or verbose. Either choice generates a large amount of
output. You can specify a more restrictive severity level, such as notice or info to filter the
messages . By default, the trace operation output includes only messages with a severity
level of error.
relevant log information, you must also collect standard troubleshooting information
and send it to Juniper Technical Support in your request for assistance.
3. Copy the statements from the text file and paste them into the CLI on your router to
configure logging.
NOTE: The maximum file size for DHCP local server and DHCP relay log files
is 1 GB. The maximum number of log files for DHCP local server and DHCP
relay is 1000.
Related • Compressing Troubleshooting Logs from /var/logs to Send to Juniper Technical Support
Documentation
Troubleshooting Configuration
Statements
traceoptions (DDoS)
Syntax traceoptions {
file filename <files number> <match regular-expression > <size maximum-file-size>
<world-readable | no-world-readable>;
flag flag;
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
Options file filename—Name of the file to receive the output of the tracing operation. Enclose the
filename within quotation marks. All files are placed in the directory /var/log.
files number—(Optional) Maximum number of trace files to create before overwriting the
oldest one. If you specify a maximum number of files, you also must specify a
maximum file size with the size option.
Range: 2 through 1000
Default: 3 files
flag flag—Tracing operation to perform. To specify more than one tracing operation,
include multiple flag statements. You can include the following flags:
• events—Trace jddosd event processing; currently only exit events are traced.
• gres—Trace messages exchanged with the kernel and jddosd process that could affect.
• protocol—Trace DDoS protocol state processing. Only the violation state is currently
traced.
level—Level of tracing to perform. You can specify any of the following levels:
match regular-expression—(Optional) Refine the output to include lines that contain the
regular expression.
size maximum-file-size—(Optional) Maximum size of each trace file. By default, the number
entered is treated as bytes. Alternatively, you can include a suffix to the number to
indicate kilobytes (KB), megabytes (MB), or gigabytes (GB). If you specify a maximum
file size, you also must specify a maximum number of trace files with the files option.
Syntax: sizek to specify KB, sizem to specify MB, or sizeg to specify GB
Range: 10,240 through 1,073,741,824
Index
• Index on page 145
N T
no-flow-logging statement technical support
DDoS protection flow detection..............................62 collecting logs for.........................................................136
contacting JTAC...............................................................xv
P trace operations
parentheses, in syntax descriptions................................xiv collecting logs for Juniper technical
physical-interface statement support.........................................................................136
DDoS protection flow detection..............................63 traceoptions statement
priority statement DDoS protection....................................................76, 140
DDoS protection............................................................64 tracing operations
protocols statement DDoS protection...........................................................133
DDoS protection.............................................................65 troubleshooting subscriber access
collecting logs for Juniper Technical
R Support........................................................................136
recover-time statement
DDoS protection.............................................................73 V
violation-report-rate statement
S DDoS protection flow detection...............................78
show ddos-protection protocols
command....................................................................85, 104
show ddos-protection protocols culprit-flows
command.............................................................................101
show ddos-protection protocols parameters
command............................................................................108
show ddos-protection protocols statistics
command.............................................................................115
show ddos-protection protocols violations
command............................................................................126
show ddos-protection statistics command...............128
show ddos-protection version command...................129
subscriber statement
DDoS protection flow detection...............................74
support, technical See technical support
suspicious control flow detection See flow detection
suspicious flows
detection period for culprit flows............................38
disabling automatic logging for packet
types...............................................................................43
enabling detection globally........................................37
flow bandwidth...............................................................42