Security VPN Ipsec@@@ PDF
Security VPN Ipsec@@@ PDF
Security VPN Ipsec@@@ PDF
Published
2020-07-03
ii
Juniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc. in
the United States and other countries. All other trademarks, service marks, registered marks, 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.
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 https://support.juniper.net/support/eula/. By downloading, installing or using such software, you
agree to the terms and conditions of that EULA.
iii
Table of Contents
About the Documentation | xx
1 Overview
IPsec VPN Overview | 28
Security Associations | 29
Main Mode | 46
Aggressive Mode | 47
Proxy IDs | 48
Replay Protection | 49
IPsec VPN Configurations Not Supported with SRX5K-SPC3 Services Processing Card | 55
IPsec VPN Feature Processes Supported with SRX5K-SPC3 Services Processing Card | 56
Overview | 74
IKE Identity | 74
NAT | 75
IKE ID Types | 76
Example: Configuring IPsec Authentication for an OSPF Interface on an SRX Series Device | 80
Overview | 167
Limitations | 168
Overview | 184
Configuration | 184
Caveats | 185
Example: Configuring the SRX Series for Pico Cell Provisioning with IKEv2 Configuration
Payload | 208
Authentication | 276
Example: Configuring Basic AutoVPN with iBGP for IPv6 Traffic | 314
Example: Forwarding Traffic Through an AutoVPN Tunnel with Traffic Selectors | 482
Example: Ensuring VPN Tunnel Availability with AutoVPN and Traffic Selectors | 503
Example: Improving Network Resource Utilization with Auto Discovery VPN Dynamic
Tunnels | 538
Enabling OSPF to Update Routes Quickly After ADVPN Shortcut Tunnels Are Established | 624
Overview | 655
Rekey | 656
Commands | 656
Example: Configuring a Route-Based VPN with Only the Responder Behind a NAT Device | 689
Example: Configuring a Policy-Based VPN with Both an Initiator and a Responder Behind a
NAT Device | 725
viii
Fail-Close | 917
Migrating a Standalone Group VPNv2 Server to a Group VPNv2 Server Cluster | 976
Understanding IPsec VPNs with NCP Exclusive Remote Access Client | 1060
Licensing | 1061
AutoVPN | 1061
Caveats | 1064
Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access Client | 1065
Benefits of SSL Remote Access VPNs with NCP Exclusive Remote Access Client | 1065
Licensing | 1066
Operation | 1066
Caveats | 1067
Example: Configuring the SRX Series Device for NCP Exclusive Remote Access Clients | 1068
Example: Configuring Behavior Aggregate Classifier in PMI for vSRX instances | 1164
Example: Configuring and Applying a Firewall Filter for a Multifield Classifier in PMI | 1170
Example: Configuring and Applying Rewrite Rules on a Security Device in PMI | 1176
Example: Validating Digital Certificate by Configuring Policy OIDs on an SRX Series Device | 1203
Example: Configuring an IPv6 address as the Source Address for a CA Profile | 1212
xiii
Example: Manually Generating a CSR for the Local Certificate and Sending It to the CA
Server | 1223
Understanding Online Certificate Status Protocol and Certificate Revocation Lists | 1232
Comparison of Online Certificate Status Protocol and Certificate Revocation List | 1234
13 Configuration Statements
aaa | 1297
advpn | 1299
xiv
certificate | 1307
dead-peer-detection | 1313
decryption-failures | 1316
distribution-profile | 1321
dynamic-vpn | 1325
encryption-failures | 1329
file | 1330
group-vpn | 1342
ike-phase1-failures | 1355
ike-phase2-failures | 1356
ipsec-policy | 1364
local-identity | 1367
multi-sa | 1375
pki | 1379
power-mode-ipsec | 1388
remote-identity | 1405
replay-attacks | 1407
security-association | 1410
tcp-encap | 1421
traffic-selector | 1439
verify-path | 1440
vpn-monitor | 1447
xauth-attributes | 1449
xauth-client-username | 1450
14 Operational Commands
clear security dynamic-vpn all | 1455
IN THIS SECTION
Use this guide to configure, monitor, and manage the IPsec VPN feature in Junos OS on SRX Series devices
to enable secure communications across a public WAN such as the Internet.
®
To obtain the most current version of all Juniper Networks technical documentation, see the product
documentation page on the Juniper Networks website at https://www.juniper.net/documentation/.
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 https://www.juniper.net/books.
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.
xxi
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
xxii
Merging a Snippet
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 CLI Explorer.
Documentation Conventions
Laser warning Alerts you to the risk of personal injury from a laser.
Table 2 on page xxiii defines the text and syntax conventions used in this guide.
Bold text like this Represents text that you type. To enter configuration mode, type
the configure command:
user@host> configure
Fixed-width text like this Represents output that appears on user@host> show chassis alarms
the 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 guide names. actions.
Italic text like this Represents variables (options for Configure the machine’s domain
which you substitute a value) in name:
commands or configuration
[edit]
statements.
root@# set system domain-name
domain-name
Text like this Represents names of configuration • To configure a stub area, include
statements, commands, files, and the stub statement at the [edit
directories; configuration hierarchy protocols ospf area area-id]
levels; or labels on routing platform hierarchy level.
components. • The console port is labeled
CONSOLE.
< > (angle brackets) Encloses optional keywords or stub <default-metric metric>;
variables.
# (pound sign) Indicates a comment specified on the rsvp { # Required for dynamic MPLS
same line as the configuration only
statement to which it applies.
[ ] (square brackets) Encloses a variable for which you can community name members [
substitute one or more values. community-ids ]
GUI Conventions
xxv
Bold text like this Represents graphical user interface • In the Logical Interfaces box, select
(GUI) items you click or select. All Interfaces.
• To cancel the configuration, click
Cancel.
> (bold right angle bracket) Separates levels in a hierarchy of In the configuration editor hierarchy,
menu selections. select Protocols>Ospf.
Documentation Feedback
We encourage you to provide feedback so that we can improve our documentation. You can use either
of the following methods:
• Online feedback system—Click TechLibrary Feedback, on the lower right of any page on the Juniper
Networks TechLibrary site, and do one of the following:
• Click the thumbs-up icon if the information on the page was helpful to you.
• Click the thumbs-down icon if the information on the page was not helpful to you or if you have
suggestions for improvement, and use the pop-up form to provide feedback.
Technical product support is available through the Juniper Networks Technical Assistance Center (JTAC).
If you are a customer with an active Juniper Care or Partner Support Services support contract, or are
xxvi
covered under warranty, and need post-sales technical support, you can access our tools and resources
online or open a case with JTAC.
• JTAC policies—For a complete understanding of our JTAC procedures and policies, review the JTAC User
Guide located at https://www.juniper.net/us/en/local/pdf/resource-guides/7100059-en.pdf.
• JTAC hours of operation—The JTAC centers have resources available 24 hours a day, 7 days a week,
365 days a year.
For quick and easy problem resolution, Juniper Networks has designed an online self-service portal called
the Customer Support Center (CSC) that provides you with the following features:
• Find solutions and answer questions using our Knowledge Base: https://kb.juniper.net/
To verify service entitlement by product serial number, use our Serial Number Entitlement (SNE) Tool:
https://entitlementsearch.juniper.net/entitlementsearch/
You can create a service request with JTAC on the Web or by telephone.
• Visit https://myjuniper.juniper.net.
Overview
IN THIS SECTION
A VPN is a private network that uses a public network to connect two or more remote sites. Instead of
using dedicated connections between networks, VPNs use virtual connections routed (tunneled) through
public networks. IPsec VPN is a protocol, consists of set of standards used to establish a VPN connection.
IN THIS SECTION
Security Associations | 29
A VPN provides a means by which remote computers communicate securely across a public WAN such
as the Internet.
A VPN connection can link two LANs (site-to-site VPN) or a remote dial-up user and a LAN. The traffic
that flows between these two points passes through shared resources such as routers, switches, and other
network equipment that make up the public WAN. To secure VPN communication while passing through
the WAN, the two participants create an IP Security (IPsec) tunnel.
The term tunnel does not denote tunnel mode (see “Packet Processing in Tunnel Mode” on page 38).
Instead, it refers to the IPsec connection.
IPsec is a suite of related protocols for cryptographically securing communications at the IP Packet Layer.
IPsec also provides methods for the manual and automatic negotiation of security associations (SAs) and
key distribution, all the attributes for which are gathered in a domain of interpretation (DOI). The IPsec
DOI is a document containing definitions for all the security parameters required for the successful
negotiation of a VPN tunnel—essentially, all the attributes required for SA and IKE negotiations. See RFC
2407 and RFC 2408 for more information.
Security Associations
A security association (SA) is a unidirectional agreement between the VPN participants regarding the
methods and parameters to use in securing a communication channel. Full bidirectional communication
requires at least two SAs, one for each direction. Through the SA, an IPsec tunnel can provide the following
security functions:
The security functions you employ depend on your needs. If you need only to authenticate the IP packet
source and content integrity, you can authenticate the packet without applying any encryption. On the
other hand, if you are concerned only with preserving privacy, you can encrypt the packet without applying
any authentication mechanisms. Optionally, you can both encrypt and authenticate the packet. Most
network security designers choose to encrypt, authenticate, and replay-protect their VPN traffic.
An IPsec tunnel consists of a pair of unidirectional SAs—one SA for each direction of the tunnel—that
specify the security parameter index (SPI), destination IP address, and security protocol (Authentication
Header [AH] or Encapsulating Security Payload [ESP] employed. An SA groups together the following
components for securing communications:
• Protocol mode, either transport or tunnel. Junos OS devices always use tunnel mode. (See “Packet
Processing in Tunnel Mode” on page 38.)
30
• Key-management method, either manual key or AutoKey IKE. (See “IPsec Key Management” on page 30.)
• SA lifetime.
For inbound traffic, Junos OS looks up the SA by using the following triplet:
• Destination IP address.
• Security protocol, either AH or ESP. (See “IPsec Security Protocols” on page 33.)
For outbound VPN traffic, the policy invokes the SA associated with the VPN tunnel.
IN THIS SECTION
Manual Key | 30
AutoKey IKE | 31
Diffie-Hellman Exchange | 32
The distribution and management of keys are critical to using VPNs successfully. Junos OS supports IPsec
technology for creating VPN tunnels with three kinds of key creation mechanisms:
• Manual key
You can choose your key creation mechanism—also called authentication method—during Phase 1 and
Phase 2 proposal configuration. See “IPsec Tunnel Negotiation” on page 34.
Manual Key
With manual keys, administrators at both ends of a tunnel configure all the security parameters. This is a
viable technique for small, static networks where the distribution, maintenance, and tracking of keys are
not difficult. However, safely distributing manual-key configurations across great distances poses security
issues. Aside from passing the keys face-to-face, you cannot be completely sure that the keys have not
been compromised while in transit. Also, whenever you want to change the key, you are faced with the
same security issues as when you initially distributed it.
31
AutoKey IKE
When you need to create and manage numerous tunnels, you need a method that does not require you
to configure every element manually. IPsec supports the automated generation and negotiation of keys
and security associations using the Internet Key Exchange (IKE) protocol. Junos OS refers to such automated
tunnel negotiation as AutoKey IKE and supports AutoKey IKE with preshared keys and AutoKey IKE with
certificates.
• AutoKey IKE with preshared keys—Using AutoKey IKE with preshared keys to authenticate the participants
in an IKE session, each side must configure and securely exchange the preshared key in advance. In this
regard, the issue of secure key distribution is the same as that with manual keys. However, once
distributed, an autokey, unlike a manual key, can automatically change its keys at predetermined intervals
using the IKE protocol. Frequently changing keys greatly improves security, and automatically doing so
greatly reduces key-management responsibilities. However, changing keys increases traffic overhead;
therefore, changing keys too often can reduce data transmission efficiency.
A preshared key is a key for both encryption and decryption, which both participants must have before
initiating communication.
• AutoKey IKE with certificates—When using certificates to authenticate the participants during an AutoKey
IKE negotiation, each side generates a public-private key pair and acquires a certificate. As long as the
issuing certificate authority (CA) is trusted by both sides, the participants can retrieve the peer’s public
key and verify the peer's signature. There is no need to keep track of the keys and SAs; IKE does it
automatically.
32
Diffie-Hellman Exchange
A Diffie-Hellman (DH) exchange allows participants to produce a shared secret value. The strength of the
technique is that it allows participants to create the secret value over an unsecured medium without
passing the secret value through the wire. The size of the prime modulus used in each group's calculation
differs as shown in the below table. Diffie Hellman (DH) exchange operations can be performed either in
software or in hardware. When these exchange operations are performed in hardware, we utilize QuickAssist
Technology (QAT) cryptography. The following Table 3 on page 32 lists different Diffie Hellman (DH)
groups and specifies whether the operation performed for that group is in the hardware or in software.
Table 3: Diffie Hellman (DH) groups and their exchange operations performed
Starting in Junos OS Release 19.1R1, SRX Series devices support DH groups 15, 16, and 21.
Because the modulus for each DH group is a different size, the participants must agree to use the same
group.
SEE ALSO
33
IN THIS SECTION
AH Protocol | 33
ESP Protocol | 34
• Authentication Header (AH)—A security protocol for authenticating the source of an IP packet and
verifying the integrity of its content
• Encapsulating Security Payload (ESP)—A security protocol for encrypting the entire IP packet (and
authenticating its content)
You can choose your security protocols—also called authentication and encryption algorithms—during Phase
2 proposal configuration. See “IPsec Tunnel Negotiation” on page 34.
For each VPN tunnel, both AH and ESP tunnel sessions are installed on Services Processing Units (SPUs)
and the control plane. Tunnel sessions are updated with the negotiated protocol after negotiation is
completed. For SRX5400, SRX5600, and SRX5800 devices, tunnel sessions on anchor SPUs are updated
with the negotiated protocol while non-anchor SPUs retain ESP and AH tunnel sessions. ESP and AH
tunnel sessions are displayed in the outputs for the show security flow session and show security flow
cp-session operational mode commands.
AH Protocol
The Authentication Header (AH) protocol provides a means to verify the authenticity and integrity of the
content and origin of a packet. You can authenticate the packet by the checksum calculated through a
Hash Message Authentication Code (HMAC) using a secret key and either MD5 or SHA hash functions.
• Message Digest 5 (MD5)—An algorithm that produces a 128-bit hash (also called a digital signature or
message digest) from a message of arbitrary length and a 16-byte key. The resulting hash is used, like a
fingerprint of the input, to verify content and source authenticity and integrity.
• Secure Hash Algorithm (SHA)—An algorithm that produces a 160-bit hash from a message of arbitrary
length and a 20-byte key. It is generally regarded as more secure than MD5 because of the larger hashes
it produces. Because the computational processing is done in the ASIC, the performance cost is negligible.
34
For more information on MD5 hashing algorithms, see RFC 1321 and RFC 2403. For more information
on SHA hashing algorithms, see RFC 2404. For more information on HMAC, see RFC 2104.
ESP Protocol
The Encapsulating Security Payload (ESP) protocol provides a means to ensure privacy (encryption) and
source authentication and content integrity (authentication). ESP in tunnel mode encapsulates the entire
IP packet (header and payload) and then appends a new IP header to the now-encrypted packet. This new
IP header contains the destination address needed to route the protected data through the network. (See
“Packet Processing in Tunnel Mode” on page 38.)
With ESP, you can both encrypt and authenticate, encrypt only, or authenticate only. For encryption, you
can choose one of the following encryption algorithms:
• Data Encryption Standard (DES)—A cryptographic block algorithm with a 56-bit key.
• Triple DES (3DES)—A more powerful version of DES in which the original DES algorithm is applied in
three rounds, using a 168-bit key. DES provides significant performance savings but is considered
unacceptable for many classified or sensitive material transfers.
• Advanced Encryption Standard (AES)—An encryption standard which offers greater interoperability with
other devices. Junos OS supports AES with 128-bit, 192-bit, and 256-bit keys.
Even though it is possible to select NULL for encryption, it has been demonstrated that IPsec might be
vulnerable to attack under such circumstances. Therefore, we suggest that you choose an encryption
algorithm for maximum security.
To establish an AutoKey IKE IPsec tunnel, two phases of negotiation are required:
• In Phase 1, the participants establish a secure channel in which to negotiate the IPsec security associations
(SAs).
• In Phase 2, the participants negotiate the IPsec SAs for encrypting and authenticating the ensuing
exchanges of user data.
For a manual key IPsec tunnel, because all the SA parameters have been previously defined, there is no
need to negotiate which SAs to use. In essence, the tunnel has already been established. When traffic
matches a policy using that manual key tunnel or when a route involves the tunnel, the Juniper Networks
device simply encrypts and authenticates the data, as you determined, and forwards it to the destination
gateway.
The remote IKE gateway address can be in any virtual routing (VR) instance. VR is determined during IKE
Phase 1 and Phase 2 negotiation. VR does not have to be configured in the IKE proposals. If the IKE
gateway interface is moved from one VR to another, the existing IKE Phase 1 and Phase 2 negotiations
for the IKE gateway are cleared, and new Phase 1 and Phase 2 negotiations are performed.
35
• On SRX Series devices, when you enable VPN, overlapping of IP addresses across virtual routers is
supported with the following limitations:
• An IKE external interface address cannot overlap with any other virtual router.
• An st0 interface address cannot overlap in route-based VPN in point-to-multipoint tunnel such as
NHTB.
• The combinations of local IP addresses and remote gateway IP addresses of IPsec VPN tunnels configured
across VRs have to be unique.
• When the loopback interface is used as the IKE gateway external interface, the physical interface for
IKE negotiation should be in the same VR.
SEE ALSO
The following are some of the IPsec VPN topologies that Junos operating system (OS) supports:
• Site-to-site VPNs—Connects two sites in an organization together and allows secure communications
between the sites.
• Hub-and-spoke VPNs—Connects branch offices to the corporate office in an enterprise network. You
can also use this topology to connect spokes together by sending traffic through the hub.
• Remote access VPNs—Allows users working at home or traveling to connect to the corporate office and
its resources. This topology is sometimes referred to as an end-to-site tunnel.
SEE ALSO
Policy-based VPNs are only supported on SRX5400, SRX5600, and SRX5800 devices. Platform support
depends on the Junos OS release in your installation.
Table 4 on page 36 summarizes the differences between policy-based VPNs and route-based VPNs.
In policy-based VPNs, a tunnel is treated as an object In route-based VPNs, a policy does not specifically reference
that, together with source, destination, application, a VPN tunnel.
and action, constitutes a tunnel policy that permits
VPN traffic.
A tunnel policy specifically references a VPN tunnel A route determines which traffic is sent through the tunnel
by name. based on a destination IP address.
The number of policy-based VPN tunnels that you can The number of route-based VPN tunnels that you create is
create is limited by the number of tunnels that the limited by the number of st0 interfaces (for point-to-point
device supports. VPNs) or the number of tunnels that the device supports,
whichever is lower.
With a policy-based VPN, although you can create Because the route, not the policy, determines which traffic
numerous tunnel policies referencing the same VPN goes through the tunnel, multiple policies can be supported
tunnel, each tunnel policy pair creates an individual with a single SA or VPN.
IPsec SA with the remote peer. Each SA counts as an
individual VPN tunnel.
In a policy-based VPN, the action must be permit and In a route-based VPN, the regulation of traffic is not coupled
must include a tunnel. to the means of its delivery.
The exchange of dynamic routing information is not Route-based VPNs support the exchange of dynamic routing
supported in policy-based VPNs. information through VPN tunnels. You can enable an instance
of a dynamic routing protocol, such as OSPF, on an st0
interface that is bound to a VPN tunnel.
If you need more granularity than a route can provide Route-based VPNs uses routes to specify the traffic sent to
to specify the traffic sent to a tunnel, using a a tunnel; a policy does not specifically reference a VPN tunnel.
policy-based VPN with security policies is the best
choice.
37
With a policy-based VPN tunnel, you can consider a When the security device does a route lookup to find the
tunnel as an element in the construction of a policy. interface through which it must send traffic to reach an
address, it finds a route through a secure tunnel (st0) interface.
SEE ALSO
IN THIS SECTION
An IPsec VPN tunnel consists of tunnel setup and applied security. During tunnel setup, the peers establish
security associations (SAs), which define the parameters for securing traffic between themselves. (See
“IPsec VPN Overview” on page 28.) After the tunnel is established, IPsec protects the traffic sent between
the two tunnel endpoints by applying the security parameters defined by the SAs during tunnel setup.
Within the Junos OS implementation, IPsec is applied in tunnel mode, which supports the Encapsulating
Security Payload (ESP) and Authentication Header (AH) protocols.
IPsec operates in one of two modes—transport or tunnel. When both ends of the tunnel are hosts, you
can use either mode. When at least one of the endpoints of a tunnel is a security gateway, such as a Junos
OS router or firewall, you must use tunnel mode. Juniper Networks devices always operate in tunnel mode
for IPsec tunnels.
In tunnel mode, the entire original IP packet—payload and header—is encapsulated within another IP
payload, and a new header is appended to it, as shown in Figure 1 on page 38. The entire original packet
can be encrypted, authenticated, or both. With the Authentication Header (AH) protocol, the AH and new
headers are also authenticated. With the Encapsulating Security Payload (ESP) protocol, the ESP header
can also be authenticated.
In a site-to-site VPN, the source and destination addresses used in the new header are the IP addresses
of the outgoing interface. See Figure 2 on page 39.
39
In a dial-up VPN, there is no tunnel gateway on the VPN dial-up client end of the tunnel; the tunnel extends
directly to the client itself (see Figure 3 on page 40). In this case, on packets sent from the dial-up client,
both the new header and the encapsulated original header have the same IP address: that of the client’s
computer.
Some VPN clients, such as the dynamic VPN client and Netscreen-Remote, use a virtual inner IP address
(also called a “sticky address”). Netscreen-Remote enables you to define the virtual IP address. The dynamic
VPN client uses the virtual IP address assigned during the XAuth configuration exchange. In such cases,
the virtual inner IP address is the source IP address in the original packet header of traffic originating from
the client, and the IP address that the ISP dynamically assigns the dial-up client is the source IP address
in the outer header.
40
When a cleartext packet arrives on a Juniper Networks device that requires tunneling, and no active
Phase 2 SA exists for that tunnel, Junos OS begins IKE negotiations and drops the packet. The source and
destination addresses in the IP packet header are those of the local and remote IKE gateways, respectively.
In the IP packet payload, there is a UDP segment encapsulating an ISAKMP (IKE) packet. The format for
IKE packets is the same for Phase 1 and Phase 2. See Figure 4 on page 41.
Meanwhile, the source host has sent the dropped packet again. Typically, by the time the second packet
arrives, IKE negotiations are complete, and Junos OS protects the packet and all subsequent packets in
the session—with IPsec before forwarding it.
41
The Next Payload field contains a number indicating one of the following payload types:
• 0010—Key Exchange (KE) Payload contains information necessary for performing a key exchange, such
as a DH public value.
• In Phase 1, IDii indicates the initiator ID, and IDir indicates the responder ID.
• In Phase 2, IDui indicates the user initiator, and IDur indicates the user responder.
The IDs are IKE ID types such as FQDN, U-FQDN, IP address, and ASN.1_DN.
• 0100—Hash (HASH) Payload contains the digest output of a particular hash function.
• 0400—Nonce (Nx) Payload contains some pseudorandom information necessary for the exchange).
• 0800—Notify Payload.
• 2000—Vendor ID (VID) Payload can be included anywhere in Phase 1 negotiations. Junos OS uses it to
mark support for NAT-T.
Each ISAKMP payload begins with the same generic header, as shown in Figure 5 on page 42.
There can be multiple ISAKMP payloads chained together, with each subsequent payload type indicated
by the value in the Next Header field. A value of 0000 indicates the last ISAKMP payload. See
Figure 6 on page 43 for an example.
43
After IKE negotiations complete and the two IKE gateways have established Phase 1 and Phase 2 security
associations (SAs), all subsequent packets are forwarded using the tunnel. If the Phase 2 SA specifies the
Encapsulating Security Protocol (ESP) in tunnel mode, the packet looks like the one shown in
Figure 7 on page 44. The device adds two additional headers to the original packet that the initiating host
sends.
For information about ESP, see “ESP Protocol” on page 34. For information about tunnel mode, see “Packet
Processing in Tunnel Mode” on page 38.
As shown in Figure 7 on page 44, the packet that the initiating host constructs includes the payload, the
TCP header, and the inner IP header (IP1).
44
The router IP header (IP2), which Junos OS adds, contains the IP address of the remote gateway as the
destination IP address and the IP address of the local router as the source IP address. Junos OS also adds
an ESP header between the outer and inner IP headers. The ESP header contains information that allows
the remote peer to properly process the packet when it receives it. This is shown in Figure 8 on page 44.
The Next Header field indicates the type of data in the payload field. In tunnel mode, this value is 4,
indicating an IP packet is contained within the payload. See Figure 9 on page 45.
Payload
TCP Header
Sequence Number
Acknowledgement Number
Header U A P R S F
Reserved R C S S Y I Window Size
Length
G K H T N N
Data
SEE ALSO
IN THIS SECTION
Main Mode | 46
Aggressive Mode | 47
Phase 1 of an AutoKey Internet Key Exchange (IKE) tunnel negotiation consists of the exchange of proposals
for how to authenticate and secure the channel. The participants exchange proposals for acceptable
security services such as:
• Encryption algorithms—Data Encryption Standard (DES), triple Data Encryption Standard (3DES), and
Advanced Encryption Standard (AES). (See “IPsec VPN Overview” on page 28.)
• Authentication algorithms—Message Digest 5 (MD5 ) and Secure Hash Algorithm (SHA). (See “IPsec
VPN Overview” on page 28.)
• Preshared key or RSA/DSA certificates. (See “IPsec VPN Overview” on page 28.)
A successful Phase 1 negotiation concludes when both ends of the tunnel agree to accept at least one set
of the Phase 1 security parameters proposed and then process them. Juniper Networks devices support
up to four proposals for Phase 1 negotiations, allowing you to define how restrictive a range of security
parameters for key negotiation you will accept. Junos OS provides predefined standard, compatible, and
basic Phase 1 proposal sets. You can also define custom Phase 1 proposals.
Phase 1 exchanges can take place in either main mode or aggressive mode. You can choose your mode
during IKE policy configuration.
Main Mode
In main mode, the initiator and recipient send three two-way exchanges (six messages total) to accomplish
the following services:
• First exchange (messages 1 and 2)—Proposes and accepts the encryption and authentication algorithms.
47
• Second exchange (messages 3 and 4)—Executes a DH exchange, and the initiator and recipient each
provide a pseudorandom number.
• Third exchange (messages 5 and 6)—Sends and verifies the identities of the initiator and recipient.
The information transmitted in the third exchange of messages is protected by the encryption algorithm
established in the first two exchanges. Thus, the participants’ identities are encrypted and therefore not
transmitted “in the clear.”
Aggressive Mode
In aggressive mode, the initiator and recipient accomplish the same objectives as with main mode, but in
only two exchanges, with a total of three messages:
• First message—The initiator proposes the security association (SA), initiates a DH exchange, and sends
a pseudorandom number and its IKE identity.
When configuring aggressive mode with multiple proposals for Phase 1 negotiations, use the same DH
group in all proposals because the DH group cannot be negotiated. Up to four proposals can be configured.
• Second message—The recipient accepts the SA; authenticates the initiator; and sends a pseudorandom
number, its IKE identity, and, if using certificates, the recipient's certificate.
• Third message—The initiator authenticates the recipient, confirms the exchange, and, if using certificates,
sends the initiator's certificate.
Because the participants’ identities are exchanged in the clear (in the first two messages), aggressive mode
does not provide identity protection.
Main and aggressive modes applies only to IKEv1 protocol. IKEv2 protocol does not negotiate using main
and aggressive modes.
SEE ALSO
IN THIS SECTION
Proxy IDs | 48
Replay Protection | 49
After the participants have established a secure and authenticated channel, they proceed through Phase 2,
in which they negotiate security associations (SAs) to secure the data to be transmitted through the IPsec
tunnel.
Similar to the process for Phase 1, the participants exchange proposals to determine which security
parameters to employ in the SA. A Phase 2 proposal also includes a security protocol—either Encapsulating
Security Payload (ESP) or Authentication Header (AH)—and selected encryption and authentication
algorithms. The proposal can also specify a Diffie-Hellman (DH) group, if Perfect Forward Secrecy (PFS)
is desired.
Regardless of the mode used in Phase 1, Phase 2 always operates in quick mode and involves the exchange
of three messages.
Juniper Networks devices support up to four proposals for Phase 2 negotiations, allowing you to define
how restrictive a range of tunnel parameters you will accept. Junos OS provides predefined standard,
compatible, and basic Phase 2 proposal sets. You can also define custom Phase 2 proposals.
Proxy IDs
In Phase 2, the peers exchange proxy IDs. A proxy ID consists of a local and remote IP address prefix. The
proxy ID for both peers must match, which means that the local IP address specified for one peer must
be the same as the remote IP address specified for the other peer.
PFS is a method for deriving Phase 2 keys independent from and unrelated to the preceding keys.
Alternatively, the Phase 1 proposal creates the key (the SKEYID_d key) from which all Phase 2 keys are
derived. The SKEYID_d key can generate Phase 2 keys with a minimum of CPU processing. Unfortunately,
if an unauthorized party gains access to the SKEYID_d key, all your encryption keys are compromised.
49
PFS addresses this security risk by forcing a new DH key exchange to occur for each Phase 2 tunnel. Using
PFS is thus more secure, although the rekeying procedure in Phase 2 might take slightly longer with PFS
enabled.
Replay Protection
A replay attack occurs when an unauthorized person intercepts a series of packets and uses them later
either to flood the system, causing a denial of service (DoS), or to gain entry to the trusted network. Junos
OS provides a replay protection feature that enables devices to check every IPsec packet to see if it has
been received previously. If packets arrive outside a specified sequence range, Junos OS rejects them. Use
of this feature does not require negotiation, because packets are always sent with sequence numbers. You
simply have the option of checking or not checking the sequence numbers.
SEE ALSO
On routers equipped with one or more MS-MPCs, MS-MICs, or DPCs, the Canada and U.S. version of
Junos OS substantially supports the following RFCs, which define standards for IP Security (IPsec) and
Internet Key Exchange (IKE).
• RFC 2401, Security Architecture for the Internet Protocol (obsoleted by RFC 4301)
• RFC 2404, The Use of HMAC-SHA-1-96 within ESP and AH (obsoleted by RFC 4305)
• RFC 2406, IP Encapsulating Security Payload (ESP) (obsoleted by RFC 4303 and RFC 4305)
• RFC 2407, The Internet IP Security Domain of Interpretation for ISAKMP (obsoleted by RFC 4306)
• RFC 2408, Internet Security Association and Key Management Protocol (ISAKMP) (obsoleted by RFC 4306)
• RFC 2409, The Internet Key Exchange (IKE) (obsoleted by RFC 4306)
• RFC 2410, The NULL Encryption Algorithm and Its Use With IPsec
50
• RFC 2560, X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP
• RFC 3280, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
• RFC 3602, The AES-CBC Cipher Algorithm and Its Use with IPsec
• RFC 4106, The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)
• RFC 4210, Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)
• RFC 4211, Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)
• RFC 4305, Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP)
and Authentication Header (AH)
• RFC 4307, Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)
• RFC 4754, IKE and IKEv2 Authentication Using the Elliptic Curve Digital Signature Algorithm (ECDSA)
• RFC 4835, Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP)
and Authentication Header (AH)
Junos OS partially supports the following RFCs for IPsec and IKE:
• RFC 3526, More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE)
• RFC 5114, Additional Diffie-Hellman Groups for Use with IETF Standards
• RFC 5903, Elliptic Curve Groups modulo a Prime (ECP Groups) for IKE and IKEv2
The following RFCs and Internet draft do not define standards, but provide information about IPsec, IKE,
and related technologies. The IETF classifies them as “Informational.”
• RFC 3706, A Traffic-Based Method of Detecting Dead Internet Key Exchange (IKE) Peers
• Internet draft draft-eastlake-sha2-02.txt, US Secure Hash Algorithms (SHA and HMAC-SHA) (expires July
2006)
SEE ALSO
In the SRX5400, SRX5600, and SRX5800 devices, IKE provides tunnel management for IPsec and
authenticates end entities. IKE performs a Diffie-Hellman (DH) key exchange to generate an IPsec tunnel
between network devices. The IPsec tunnels generated by IKE are used to encrypt, decrypt, and authenticate
user traffic between the network devices at the IP layer.
The VPN is created by distributing the IKE and IPsec workload among the multiple Services Processing
Units (SPUs) of the platform. For site-to-site tunnels, the least-loaded SPU is chosen as the anchor SPU.
If multiple SPUs have the same smallest load, any of them can be chosen as an anchor SPU. Here, load
corresponds to the number of site-to-site gateways or manual VPN tunnels anchored on an SPU. For
dynamic tunnels, the newly established dynamic tunnels employ a round-robin algorithm to select the
SPU.
In IPsec, the workload is distributed by the same algorithm that distributes the IKE. The Phase 2 SA for a
given VPN tunnel termination points pair is exclusively owned by a particular SPU, and all IPsec packets
belonging to this Phase 2 SA are forwarded to the anchoring SPU of that SA for IPsec processing.
Multiple IPsec sessions (Phase 2 SA) can operate over one or more IKE sessions. The SPU that is selected
for anchoring the IPsec session is based on the SPU that is anchoring the underlying IKE session. Therefore,
all IPsec sessions that run over a single IKE gateway are serviced by the same SPU and are not load-balanced
across several SPUs.
Table 5 on page 52 shows an example of an SRX5000 line device with three SPUs running seven IPsec
tunnels over three IKE gateways.
52
IPsec-2
IPsec-3
IPsec-5
IPsec-6
The three SPUs have an equal load of one IKE gateway each. If a new IKE gateway is created, SPU0, SPU1,
or SPU2 could be selected to anchor the IKE gateway and its IPsec sessions.
Setting up and tearing down existing IPsec tunnels does not affect the underlying IKE session or existing
IPsec tunnels.
Use the following show command to view the current tunnel count per SPU: show security ike tunnel-map.
Use the summary option of the command to view the anchor points of each gateway: show security ike
tunnel-map summary.
SEE ALSO
SRX5400, SRX5600, and SRX5800 devices have a chassis-based distributed processor architecture. The
flow processing power is shared and is based on the number of Services Processing Cards (SPCs). You can
scale the processing power of the device by installing new SPCs.
In an SRX5400, SRX5600, or SRX5800 chassis cluster, you can insert new SPCs on the devices without
affecting or disrupting the traffic on the existing IKE or IPsec VPN tunnels. When you insert a new SPC
in each chassis of the cluster, the existing tunnels are not affected and traffic continues to flow without
disruption.
53
Starting in Junos OS Release 19.4R1, on all SRX5000 Series devices chassis cluster, you can insert a new
SRX5K-SPC3 (SPC3) or SRX5K-SPC-4-15-320 (SPC2) card to an existing chassis containing SPC3 card.
You can only insert the cards in a higher slot than the existing SPC3 card on the chassis. You must reboot
the node after the inserting SPC3 to activate the card. After the node reboot is complete, IPsec tunnels
are distributed to the cards.
However, existing tunnels cannot use the processing power of the Service Processing Units (SPUs) in the
new SPCs. A new SPU can anchor newly established site-to-site and dynamic tunnels. Newly configured
tunnels are not, however, guaranteed to be anchored on a new SPU.
Site-to-site tunnels are anchored on different SPUs based on a load-balancing algorithm. The load-balancing
algorithm is dependent on number flow threads each SPU is using. Tunnels belonging to the same local
and remote gateway IP addresses are anchored on the same SPU on different flow RT threads used by
the SPU. The SPU with the smallest load is chosen as the anchor SPU. Each SPU maintains number of flow
RT threads that are hosted in that particular SPU. The number of flow RT threads hosted on each SPU
vary based on the type of SPU.
Tunnel load factor = Number of tunnels anchored on the SPU / Total number of flow RT threads used by
the SPU.
Dynamic tunnels are anchored on different SPUs based on a round-robin algorithm. Newly configured
dynamic tunnels are not guaranteed to be anchored on the new SPC.
Starting in Junos OS Release 18.2R2 and 18.4R1, all the existing IPsec VPN features that are currently
supported on SRX5K-SPC3 (SPC3) only will be supported on SRX5400, SRX5600, and SRX5800 devices
when SRX5K-SPC-4-15-320 (SPC2) and SPC3 cards are installed and operating on the device in a chassis
cluster mode or in a standalone mode.
When both SPC2 and SPC3 cards are installed, you can verify the tunnel mapping on different SPUs using
the show security ipsec tunnel-distribution command.
Use the command show security ike tunnel-map to view the tunnel mapping on different SPUs with only
SPC2 card inserted. The command show security ike tunnel-map is not valid in an environment where
SPC2 and SPC3 cards are installed.
• You must insert the SPC3 or SPC2 in an existing chassis in a higher slot than a current SPC3 present in
a lower slot.
• For SPC3 ISHU to work, you must insert the new SPC3 card into the higher slot number.
• On SRX5800 chassis cluster, you must not insert the SPC3 card in the highest slot (slot no. 11) due to
the power and heat distribution limit.
SEE ALSO
SRX 5000 Series devices with SRX5K-SPC3 card requires junos-ike package to install and to enable any
of the IPsec VPN features. By default, Junos-ike package is included in Junos OS releases for SRX 5000
Series device , but not installed. You need to manually install the junos-ike package when a SPC3 card is
plugged in the SRX 5000 Series device chassis for the first time.
When SPC3 card is plugged into the device for the first time, the following command should be executed
to enable IPsec VPN feature support. For all the subsequent software upgrades of the device, the junos-ike
package is upgraded automatically from the new Junos OS releases that is being installed in the device.
The above configuration is required only for the first time when SPC3 card is plugged in a SRX5000 Series
device.
The CLI request system software add optional://junos-ike.tgz command should be executed on both the
nodes if a chassis cluster is enabled.
If junos-ike package is not added when SPC3 card is plugged in the chassis, you get the below syslog
warning.
You get the above syslog warning for every 60 seconds for 30 minutes. After the initial set of 30 syslog
warnings, you get the syslog warning once for every 24 hours.
For example:
On SRX5000 Series device, if you have already installed the junos-ike package, and later change the
hardware configuration to use only SPC2 cards, then you must uninstall the junos-ike package and reboot
the device. If you are operating your SRX Series device in chassis cluster mode, ensure that you uninstall
the junos-ike package on both nodes and reboot the nodes.
To uninstall the junos-ike package, use the following command from the operational mode:
{primary:node0}
IPsec VPN Configurations Not Supported with SRX5K-SPC3 Services Processing Card
Following IPsec VPN configurations are not supported with SRX5K-SPC3 services processing card:
• Only set security ike traceoptions flag all configuration is supported. Other configurations under ike
traceoption flags are not supported.
Following are the CLI commands are not supported with SRX5K-SPC3 services processing card:
IPsec VPN Feature Processes Supported with SRX5K-SPC3 Services Processing Card
IPsec VPN feature is supported by 2 processes, iked and ikemd on SRX5K-SPC3. A single instance of iked
and ikemd will run on the Routing Engine at a time.
To determine if a feature is supported by a specific platform or Junos OS release, refer Feature Explorer.
Table 6 on page 56 lists the IPsec VPN features that are supported on SRX5K-SPC3 services processing
card.
Supported on
SRX5K-SPC3 Services
Features Processing Card
Anti-Replay. Yes
Supported on
SRX5K-SPC3 Services
Features Processing Card
AutoVPN Yes
Bidirectional Forwarding Detection (BFD) over OSPFv3 routes on st0 interface. Yes
Supported on
SRX5K-SPC3 Services
Features Processing Card
DF bit. Yes
Dialup VPN. No
Dual-stack (parallel IPv4 and IPv6 tunnels) over a single physical interface. Yes
Supported on
SRX5K-SPC3 Services
Features Processing Card
Group VPN. No
Supported on
SRX5K-SPC3 Services
Features Processing Card
Supported on
SRX5K-SPC3 Services
Features Processing Card
IPsec NAT-Traversal. No
IPv6 address for point-to-point AutoVPN networks that use traffic selectors. Yes
IPv6 support for AutoVPN and ADVPN with dynamic routing protocol. No
ISSU. Yes
Logical system. No
Supported on
SRX5K-SPC3 Services
Features Processing Card
Manual VPN. No
Multicast traffic. No
Supported on
SRX5K-SPC3 Services
Features Processing Card
Remote Access. No
RSA signature authentication (512-bit, 1024-bit, 2048-bit, or 4096-bit key size). Yes
SSL remote access VPNs by encapsulating IPsec traffic over TCP connections. No
Supported on
SRX5K-SPC3 Services
Features Processing Card
Verification of the IPsec data path before a point-to-point secure tunnel (st0) interface No
is activated.
VPN monitoring. No
VPN tunnel. No
XAuth (draft-beaulieu-ike-xauth-03). No
Anti-Replay Window
On SRX Series devices, anti-replay-window is enabled by default with a window size value of 64.
65
On the SRX Series 5000 line of devices with SPC3 cards installed, you can configure the anti-replay-window
size in the range of 64 to 8192 (power of 2). To configure the window size, use the new
anti-replay-window-size option. An incoming packet is validated for replay attack based on the
anti-replay-window-size that is configured.
• VPN object—Configured at the [edit security ipsec vpn vpn-name ike] hierarchy level.
For example:
If anti-replay is configured at both levels, the window size configured for a VPN object level takes
precedence over the window size configured at the global level. If anti-replay is not configured, the window
size is 64 by default.
To disable the anti-replay window option on a VPN object, use the set no-anti-replay command at the
[edit security ipsec vpn vpn-name ike] hierarchy level. You cannot disable anti-replay at the global level.
You can enable ESN using the set extended-sequence-number command at the edit security ipsec proposal
proposal-name level.
[edit]
set security ipsec proposal ipsec_prop
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-128-cbc;
lifetime-seconds 220;
extended-sequence-number;
ESN supports:
• PowerMode IPsec
• Managing and using the Anti-Replay window with 64-bit sequence number
When ESN is configured, a ESN transform value of 1 is sent during the tunnel establishment to indicate
the we intent to use ESN. If the peer respond with 1, ESN will be used, if the peer instead respond with
0, this would indicate that it is either not capable or not configured to use ESN.
• A proposal containing an ESN transform with value 0 means “do not use extended sequence numbers”.
• A proposal containing an ESN transform with value 1 means “use extended sequence numbers”
• A proposal containing two ESN transforms with values 0 and 1 means “I support both normal and
extended sequence numbers, you choose”.
SEE ALSO
If you create two VPN tunnels that terminate at a device, you can set up a pair of routes so that the device
directs traffic exiting one tunnel to the other tunnel. You also need to create a policy to permit the traffic
to pass from one tunnel to the other. Such an arrangement is known as hub-and-spoke VPN. (See
Figure 10 on page 67.)
You can also configure multiple VPNs and route traffic between any two tunnels.
SEE ALSO
Release Description
19.1R1 Starting in Junos OS Release 19.1R1, SRX Series devices support DH groups 15, 16,
and 21.
68
RELATED DOCUMENTATION
IN THIS SECTION
Recommended Configuration Options for Site-to-Site or Dialup VPNs with Dynamic IP Addresses | 72
Example: Configuring IPsec Authentication for an OSPF Interface on an SRX Series Device | 80
A VPN connection can link two LANs (site-to-site VPN) or a remote dial-up user and a LAN. The traffic
that flows between these two points passes through shared resources such as routers, switches, and other
network equipment that make up the public WAN. An IPsec tunnel is created between two participant
devices to secure VPN communication.
69
IPsec VPN negotiation occurs in two phases. In Phase 1, participants establish a secure channel in which
to negotiate the IPsec security association (SA). In Phase 2, participants negotiate the IPsec SA for
authenticating traffic that will flow through the tunnel.
This overview describes the basic steps to configure a route-based or policy-based IPsec VPN using autokey
IKE (preshared keys or certificates).
(For route-based VPNs) Configure a secure tunnel st0.x interface. Configure routing on the device.
a. (Optional) Configure a custom IKE Phase 1 proposal. This step is optional, as you can use a predefined
IKE Phase 1 proposal set (Standard, Compatible, or Basic).
b. Configure an IKE policy that references either your custom IKE Phase 1 proposal or a predefined
IKE Phase 1 proposal set. Specify autokey IKE preshared key or certificate information. Specify the
mode (main or aggressive) for the Phase 1 exchanges.
c. Configure an IKE gateway that references the IKE policy. Specify the IKE IDs for the local and remote
devices. If the IP address of the remote gateway is not known, specify how the remote gateway is
to be identified.
a. (Optional) Configure a custom IPsec Phase 2 proposal. This step is optional, as you can use a
predefined IPsec Phase 2 proposal set (Standard, Compatible, or Basic).
b. Configure an IPsec policy that references either your custom IPsec Phase 2 proposal or a predefined
IPsec Phase 2 proposal set. Specify perfect forward secrecy (PFS) keys.
c. Configure an IPsec VPN tunnel that references both the IKE gateway and the IPsec policy. Specify
the proxy IDs to be used in Phase 2 negotiations.
(For route-based VPNs) Bind the secure tunnel interface st0.x to the IPsec VPN tunnel.
4. Configure a security policy to permit traffic from the source zone to the destination zone.
70
(For policy-based VPNs) Specify the security policy action tunnel ipsec-vpn with the name of the IPsec
VPN tunnel that you configured.
SEE ALSO
This overview describes the basic steps to configure a route-based or policy-based IPsec VPN using manual
keys.
(For route-based VPNs) Configure routing. Configure a secure tunnel st0.x interface.
• Outgoing interface
(For route-based VPNs) Bind the secure tunnel interface st0.x to the IPsec VPN tunnel.
3. Configure security policy to permit traffic from the source zone to the destination zone.
(For policy-based VPNs) Specify the security policy action tunnel ipsec-vpn with the name of the IPsec
VPN tunnel that you configured.
SEE ALSO
71
Table 7 on page 71 lists the configuration options for a generic site-to-site VPN between two security
devices with static IP addresses. The VPN can be either route-based or policy-based.
RSA or DSA certificates RSA or DSA certificates can be used on the local device. Specify the type
of certificate (PKCS7 or X.509) on the peer.
Advanced Encryption Standard (AES) AES is cryptographically stronger than Data Encryption Standard (DES)
encryption and Triple DES (3DES) when key lengths are equal. Approved encryption
algorithm for Federal Information Processing Standards (FIPS) and Common
Criteria EAL4 standards.
Secure Hash Algorithm 256 (SHA-256) SHA-256 provides more cryptographic security than SHA-1 or Message
authentication Digest 5 (MD5) .
Perfect Forward Secrecy (PFS) DH group PFS DH group 14 provides increased security because the peers perform
14 a second DH exchange to produce the key used for IPsec encryption and
decryption.
Encapsulating Security Payload (ESP) ESP provides both confidentiality through encryption and encapsulation
protocol of the original IP packet and integrity through authentication.
72
Table 7: Recommended Configuration for Site-to-Site VPN with Static IP Addresses (continued)
AES encryption AES is cryptographically stronger than DES and 3DES when key lengths
are equal. Approved encryption algorithm for FIPS and Common Criteria
EAL4 standards.
SHA-256 authentication SHA-256 provides more cryptographic security than SHA-1 or MD5.
Anti-replay protection Enabled by default. Disabling this feature might resolve compatibility issues
with third-party peers.
SEE ALSO
Table 8 on page 72 lists the configuration options for a generic site-to-site or dialup VPN, where the peer
devices have dynamic IP addresses.
Table 8: Recommended Configuration for Site-to-Site or Dialup VPNs with Dynamic IP Addresses
2048-bit certificates RSA or DSA certificates can be used. Specify the certificate to be used on
the local device. Specify the type of certificate (PKCS7 or X.509) on the
peer.
Table 8: Recommended Configuration for Site-to-Site or Dialup VPNs with Dynamic IP Addresses (continued)
Advanced Encryption Standard (AES) AES is cryptographically stronger than Data Encryption Standard (DES) and
encryption Triple DES (3DES) when key lengths are equal. Approved encryption
algorithm for Federal Information Processing Standards (FIPS) and Common
Criteria EAL4 standards.
Secure Hash Algorithm 256 (SHA-256) SHA-256 provides more cryptographic security than SHA-1 or Message
authentication Digest 5 (MD5).
Perfect Forward Secrecy (PFS) DH group PFS DH group 14 provides increased security because the peers perform
14 a second DH exchange to produce the key used for IPsec encryption and
decryption.
Encapsulating Security Payload (ESP) ESP provides both confidentiality through encryption and encapsulation
protocol of the original IP packet and integrity through authentication.
AES encryption AES is cryptographically stronger than DES and 3DES when key lengths
are equal. Approved encryption algorithm for FIPS and Common Criteria
EAL4 standards.
SHA-256 authentication SHA-256 provides more cryptographic security than SHA-1 or MD5.
Anti-replay protection Enabled by default. Disabling this might resolve compatibility issues with
third-party peers.
SEE ALSO
IN THIS SECTION
Overview | 74
IKE Identity | 74
NAT | 75
Overview
An IPsec VPN peer can have an IP address that is not known to the peer with which it is establishing the
VPN connection. For example, a peer can have an IP address dynamically assigned by means of Dynamic
Host Configuration Protocol (DHCP). This could be the case with a remote access client in a branch or
home office or a mobile device that moves between different physical locations. Or, the peer can be located
behind a NAT device that translates the peer’s original source IP address into a different address. A VPN
peer with an unknown IP address is referred to as a dynamic endpoint and a VPN established with a dynamic
endpoint is referred to as a dynamic endpoint VPN.
On SRX Series devices, IKEv1 or IKEv2 is supported with dynamic endpoint VPNs. Dynamic endpoint
VPNs on SRX Series devices support IPv4 traffic on secure tunnels. Starting with Junos OS Release
15.1X49-D80, dynamic endpoint VPNs on SRX Series devices support IPv6 traffic on secure tunnels.
The following sections describe items to note when configuring a VPN with a dynamic endpoint.
IKE Identity
On the dynamic endpoint, an IKE identity must be configured for the device to identify itself to its peer.
The local identity of the dynamic endpoint is verified on the peer. By default, the SRX Series device expects
the IKE identity to be one of the following:
• When certificates are used, a distinguished name (DN) can be used to identify users or an organization.
• A hostname or fully qualified domain name (FQDN) that identifies the endpoint.
75
• A user fully qualified domain name (UFQDN), also known as user-at-hostname. This is a string that follows
the e-mail address format.
When IKEv1 is used with dynamic endpoint VPNs, the IKE policy must be configured for aggressive mode.
IKEv2 does not use aggressive mode, so you can configure either main or aggressive mode when using
IKEv2 with dynamic endpoint VPNs.
Starting with Junos OS Release 12.3X48-D40, Junos OS Release 15.1X49-D70, and Junos OS Release
17.3R1, all dynamic endpoint gateways configured on SRX Series devices that use the same external
interface can use different IKE policies, but the IKE policies must use the same IKE proposal. This applies
to IKEv1 and IKEv2.
NAT
If the dynamic endpoint is behind a NAT device, NAT-T must be configured on the SRX Series device. NAT
keepalives might be required to maintain the NAT translation during the connection between the VPN
peers. By default, NAT-T is enabled on SRX Series devices and NAT keepalives are sent at 20-second
intervals.
You can configure an individual VPN tunnel for each dynamic endpoint. For IPv4 dynamic endpoint VPNs,
you can use the group IKE ID or shared IKE ID features to allow a number of dynamic endpoints to share
an IKE gateway configuration.
The group IKE ID allows you to define a common part of a full IKE ID for all dynamic endpoints, such as
“example.net.” A user-specific part, such as the username “Bob,” concatenated with the common part
forms a full IKE ID (Bob.example.net) that uniquely identifies each user connection.
The shared IKE ID allows dynamic endpoints to share a single IKE ID and preshared key.
SEE ALSO
IN THIS SECTION
IKE ID Types | 76
The IKE identification (IKE ID) is used for validation of VPN peer devices during IKE negotiation. The IKE
ID received by the SRX Series device from a remote peer can be an IPv4 or IPv6 address, a hostname, a
fully qualified domain name (FQDN), a user FQDN (UFQDN), or a distinguished name (DN). The IKE ID
sent by the remote peer needs to match what is expected by the SRX Series device. Otherwise, IKE ID
validation fails and the VPN is not established.
IKE ID Types
The SRX Series devices support the following types of IKE identities for remote peers:
• An IPv4 or IPv6 address is commonly used with site-to-site VPNs, where the remote peer has a static
IP address.
• A hostname is a string that identifies the remote peer system. This can be an FQDN that resolves to an
IP address. It can also be a partial FQDN that is used in conjunction with an IKE user type to identify a
specific remote user.
When a hostname is configured instead of an IP address, the committed configuration and subsequent
tunnel establishment is based on the currently-resolved IP address. If the remote peer’s IP address
changes, the configuration is no longer valid.
• A UFQDN is a string that follows the same format as an e-mail address, such as [email protected].
• A DN is a name used with digital certificates to uniquely identify a user. For example, a DN can be
“CN=user, DC=example, DC=com.” Optionally, you can use the container keyword to specify that the
order of the fields in a DN and their values exactly match the configured DN, or use the wildcard keyword
to specify that the values of fields in a DN must match but the order of the fields does not matter.
Starting in Junos OS Release 19.4R1, you can now configure only one dynamic DN attribute among
container-string and wildcard-string at [edit security ike gateway gateway_name dynamic
distinguished-name] hierarchy. If you try configuring the second attribute after you configure the first
77
attribute, the first attribute is replaced with the second attribute. Before your upgrade your device, you
must remove one of the attributes if you have configured both the attributes.
• An IKE user type can be used with AutoVPN and remote access VPNs when there are multiple remote
peers connecting to the same VPN gateway on the SRX Series device. Configure ike-user-type
group-ike-id to specify a group IKE ID or ike-user-type shared-ike-id to specify a shared IKE ID.
For site-to-site VPNs, the remote peer’s IKE ID can be the IP address of the egress network interface card,
a loopback address, a hostname, or a manually configured IKE ID, depending on the configuration of the
peer device.
By default, SRX Series devices expect the remote peer’s IKE ID to be the IP address configured with the
set security ike gateway gateway-name address configuration. If the remote peer’s IKE ID is a different
value, you need to configure the remote-identity statement at the [edit security ike gateway gateway-name]
hierarchy level.
For example, an IKE gateway on the SRX Series devices is configured with the set security ike gateway
remote-gateway address 203.0.113.1 command. However, the IKE ID sent by the remote peer is
host.example.net. There is a mismatch between what the SRX Series device expects for the remote peer’s
IKE ID (203.0.113.1) and the actual IKE ID (host.example.net) sent by the peer. In this case, IKE ID validation
fails. Use the set security ike gateway remote-gateway remote-identity hostname host.example.net to
match the IKE ID received from the remote peer.
For dynamic endpoint VPNs, the remote peer’s expected IKE ID is configured with the options at the [edit
security ike gateway gateway-name dynamic] hierarchy level. For AutoVPN, hostname combined with
ike-user-type group-ike-id can be used where there are multiple peers that have a common domain name.
If certificates are used for verifying the peer, a DN can be configured.
By default, the SRX Series device uses the IP address of its external interface to the remote peer as its IKE
ID. This IKE ID can be overridden by configuring the local-identity statement at the [edit security ike
gateway gateway-name] hierarchy level. If you need to configure the local-identity statement on an SRX
Series device, make sure that the configured IKE ID matches the IKE ID expected by the remote peer.
SEE ALSO
By default, SRX Series devices validate the IKE ID received from the peer with the IP address configured
for the IKE gateway. In certain network setups, the IKE ID received from the peer (which can be an IPv4
or IPv6 address, fully qualified domain name [FQDN], distinguished name, or e-mail address) does not
match the IKE gateway configured on the SRX Series device. This can lead to a Phase 1 validation failure.
To modify the configuration of the SRX Series device or the peer device for the IKE ID that is used:
• On the SRX Series device, configure the remote-identity statement at the [edit security ike gateway
gateway-name] hierarchy level to match the IKE ID that is received from the peer. Values can be an IPv4
or IPv6 address, FQDN, distinguished name, or e-mail address.
If you do not configure remote-identity, the device uses the IPv4 or IPv6 address that corresponds to
the remote peer by default.
• On the peer device, ensure that the IKE ID is the same as the remote-identity configured on the SRX
Series device. If the peer device is an SRX Series device, configure the local-identity statement at the
[edit security ike gateway gateway-name] hierarchy level. Values can be an IPv4 or IPv6 address, FQDN,
distinguished name, or e-mail address.
SEE ALSO
OSPFv3 does not have a built-in authentication method and relies on the IP Security (IPsec) suite to provide
this functionality. IPsec provides authentication of origin, data integrity, confidentiality, replay protection,
and nonrepudiation of source. You can use IPsec to secure specific OSPFv3 interfaces and virtual links
and to provide encryption for OSPF packets.
OSPFv3 uses the IP authentication header (AH) and the IP Encapsulating Security Payload (ESP) portions
of the IPsec protocol to authenticate routing information between peers. AH can provide connectionless
integrity and data origin authentication. It also provides protection against replays. AH authenticates as
much of the IP header as possible, as well as the upper-level protocol data. However, some IP header fields
might change in transit. Because the value of these fields might not be predictable by the sender, they
79
cannot be protected by AH. ESP can provide encryption and limited traffic flow confidentiality or
connectionless integrity, data origin authentication, and an anti-replay service.
IPsec is based on security associations (SAs). An SA is a set of IPsec specifications that are negotiated
between devices that are establishing an IPsec relationship. This simplex connection provides security
services to the packets carried by the SA. These specifications include preferences for the type of
authentication, encryption, and IPsec protocol to be used when establishing the IPsec connection. An SA
is used to encrypt and authenticate a particular flow in one direction. Therefore, in normal bidirectional
traffic, the flows are secured by a pair of SAs. An SA to be used with OSPFv3 must be configured manually
and use transport mode. Static values must be configured on both ends of the SA.
To configure IPsec for OSPF or OSPFv3, first define a manual SA with the security-association sa-name
option at the [edit security ipsec] hierarchy level. This feature only supports bidirectional manual key SAs
in transport mode. Manual SAs require no negotiation between the peers. All values, including the keys,
are static and specified in the configuration. Manual SAs statically define the security parameter index
(SPI) values, algorithms, and keys to be used and require matching configurations on both endpoints (OSPF
or OSPFv3 peers). As a result, each peer must have the same configured options for communication to
take place.
The actual choice of encryption and authentication algorithms is left to your IPsec administrator; however,
we have the following recommendations:
• Use ESP with null encryption to provide authentication to protocol headers but not to the IPv6 header,
extension headers, and options. With null encryption, you are choosing not to provide encryption on
protocol headers. This can be useful for troubleshooting and debugging purposes. For more information
about null encryption, see RFC 2410, The NULL Encryption Algorithm and Its Use with IPsec.
• Use AH to provide authentication to protocol headers, immutable fields in IPv6 headers, and extension
headers and options.
• For an OSPF or OSPFv3 interface, include the ipsec-sa name statement at the [edit protocols ospf area
area-id interface interface-name] or [edit protocols ospf3 area area-id interface interface-name] hierarchy
level. Only one IPsec SA name can be specified for an OSPF or OSPFv3 interface; however, different
OSPF/OSPFv3 interfaces can specify the same IPsec SA.
• For an OSPF or OSPFv3 virtual link, include the ipsec-sa name statement at the [edit protocols ospf
area area-id virtual-link neighbor-id router-id transit-area area-id] or [edit protocols ospf3 area area-id
virtual-link neighbor-id router-id transit-area area-id] hierarchy level. You must configure the same IPsec
SA for all virtual links with the same remote endpoint address.
80
The following restrictions apply to IPsec authentication for OSPF or OSPFv3 on SRX Series devices:
• Manual VPN configurations that are configured at the [edit security ipsec vpn vpn-name manual] hierarchy
level cannot be applied to OSPF or OSPFv3 interfaces or virtual links to provide IPsec authentication
and confidentiality.
• You cannot configure IPsec for OSPF or OSPFv3 authentication if there is an existing IPsec VPN
configured on the device with the same local and remote addresses.
• IPsec for OSPF or OSPFv3 authentication is not supported over secure tunnel st0 interfaces.
• Only IPsec transport mode is supported. In transport mode, only the payload (the data you transfer) of
the IP packet is encrypted, authenticated, or both. Tunnel mode is not supported.
• Because only bidirectional manual SAs are supported, all OSPFv3 peers must be configured with the
same IPsec SA. You configure a manual bidirectional SA at the [edit security ipsec] hierarchy level.
• You must configure the same IPsec SA for all virtual links with the same remote endpoint address.
SEE ALSO
IN THIS SECTION
Requirements | 81
Overview | 81
Configuration | 82
Verification | 85
This example shows how to configure and apply a manual security association (SA) to an OSPF interface.
81
Requirements
• Configure the router identifiers for the devices in your OSPF network.
Overview
You can use IPsec authentication for both OSPF and OSPFv3. You configure the manual SA separately
and apply it to the applicable OSPF configuration. Table 9 on page 81 lists the parameters and values
configured for the manual SA in this example.
Parameter Value
SA name sa1
Mode transport
Direction bidirectional
Protocol AH
SPI 256
Configuration
IN THIS SECTION
Configuring a Manual SA | 82
Configuring a Manual SA
[edit]
set security ipsec security-association sa1
set security ipsec security-association sa1 mode transport
set security ipsec security-association sa1 manual direction bidirectional
set security ipsec security-association sa1 manual direction bidirectional protocol ah
set security ipsec security-association sa1 manual direction bidirectional spi 256
set security ipsec security-association sa1 manual direction bidirectional authentication algorithm hmac-md5-96
key ascii-text 123456789012abc
set security ipsec security-association sa1 manual direction bidirectional encryption algorithm des key ascii-text
cba210987654321
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# edit security ipsec security-association sa1
Results
Confirm your configuration by entering the show security ipsec command. If the output does not display
the intended configuration, repeat the instructions in this example to correct the configuration.
After you configure the password, you do not see the password itself. The output displays the encrypted
form of the password you configured.
[edit]
84
If you are done configuring the device, enter commit from configuration mode.
[edit]
set protocols ospf area 0.0.0.0 interface so-0/2/0 ipsec-sa sa1
Step-by-Step Procedure
To enable IPsec authentication for an OSPF interface:
To specify OSPFv3, include the ospf3 statement at the [edit protocols] hierarchy level.
[edit]
user@host# edit protocols ospf area 0.0.0.0
Results
Confirm your configuration by entering the show ospf interface detail command. If the output does not
display the intended configuration, repeat the instructions in this example to correct the configuration.
To confirm your OSPFv3 configuration, enter the show protocols ospf3 command.
[edit]
user@host# show protocols ospf
area 0.0.0.0 {
interface so-0/2/0.0 {
ipsec-sa sa1;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
86
Verify the configured IPsec security association settings. Verify the following information:
• The Security association field displays the name of the configured security association.
Action
From operational mode, enter the show ospf interface detail command.
Purpose
Verify that the IPsec security association that you configured has been applied to the OSPF interface.
Confirm that the IPsec SA name field displays the name of the configured IPsec security association.
Action
From operational mode, enter the show ospf interface detail command for OSPF, and enter the show
ospf3 interface detail command for OSPFv3.
SEE ALSO
The VPN Wizard enables you to perform basic IPsec VPN configuration, including both Phase 1 and Phase
2. For more advanced configuration, use the J-Web interface or the CLI. This feature is supported on
SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
The upper left area of the wizard page shows where you are in the configuration process. The lower left
area of the page shows field-sensitive help. When you click a link under the Resources heading, the
87
document opens in your browser. If the document opens in a new tab, be sure to close only the tab (not
the browser window) when you close the document.
SEE ALSO
Suite B is a set of cryptographic algorithms designated by the U.S. National Security Agency to allow
commercial products to protect traffic that is classified at secret or top secret levels. Suite B protocols are
defined in RFC 6379, Suite B Cryptographic Suites for IPsec. The Suite B cryptographic suites provide
Encapsulating Security Payload (ESP) integrity and confidentiality and should be used when ESP integrity
protection and encryption are both required. Protocol Requirements for IP Modular Encryption (PRIME),
an IPsec profile defined for public sector networks in the United Kingdom, is based on the Suite B
cryptographic suite, but uses AES-GCM rather than AES-CBC for IKEv2 negotiations.
• Suite-B-GCM-128
• ESP: Advanced Encryption Standard (AES) encryption with 128-bit keys and 16-octet integrity check
value (ICV) in Galois Counter Mode (GCM).
• IKE: AES encryption with 128-bit keys in cipher block chaining (CBC) mode, integrity using SHA-256
authentication, key establishment using Diffie-Hellman (DH) group 19, and authentication using Elliptic
Curve Digital Signature Algorithm (ECDSA) 256-bit elliptic curve signatures.
• Suite-B-GCM-256
• ESP: AES encryption with 256-bit keys and 16-octet ICV in GCM for ESP.
• IKE: AES encryption with 256-bit keys in CBC mode, integrity using SHA-384 authentication, key
establishment using DH group 20, and authentication using ECDSA 384-bit elliptic curve signatures.
• PRIME-128
• ESP: AES encryption with 128-bit keys and 16-octet ICV in GCM.
• IKE: AES encryption with 128-bit keys in GCM, key establishment using DH group 19, and authentication
using ECDSA 256-bit elliptic curve signatures.
• PRIME-256
88
• ESP: AES encryption with 256-bit keys and 16-octet ICV in GCM for ESP.
• IKE: AES encryption with 256-bit keys in GCM, key establishment using DH group 20, and authentication
using ECDSA 384-bit elliptic curve signatures.
Suite-B cryptographic suites support IKEv1 and IKEv2. PRIME cryptographic suites only support IKEv2.
Suite B and PRIME are not fully supported on SRX3400 and SRX3600 devices and on SRX5400, SRX5600,
and SRX5800 devices that do not have the SPC2 (SRX5K-SPC-4-14-320). (Platform support depends on
the Junos OS release in your installation.) You can configure IKE with Suite B options on these devices,
but AES-GCM options are not supported. If you configure IKE with Suite B options on these devices, VPN
establishment is slower because the devices do not have the hardware processors that can accelerate
Suite B algorithm processing.
Suite B and PRIME are not supported with the Group VPNv2 feature.
CLI options support Suite B and PRIME compliance in IKE and IPsec proposal configuration:
• For IKE proposals configured at the [edit security ike proposal proposal-name] hierarchy level:
When aes-128-gcm or aes-256-gcm encryption algorithms are configured in the IPsec proposal, it is
not mandatory to configure AES-GCM encryption algorithm in the corresponding IKE proposal.
• For IPsec proposals configured at the [edit security ipsec proposal proposal-name] hierarchy level,
encryption-algorithm options include aes-128-gcm, aes-192-gcm, and aes-256-gcm.
• For IPsec policies configured at the [edit security ipsec policy policy-name] hierarchy level, the
perfect-forward-secrecy keys options include group19 and group20.
• For convenience, predefined proposals that provide compliance with Suite B (suiteb-gcm-128 and
suiteb-gcm-256) and PRIME (prime-128 and prime-256) are available at the [edit security ike policy
policy-name] and [edit security ipsec policy policy-name] hierarchy levels.
VPN monitoring and cryptographic configuration options ecdsa-signatures-384 (for IKE authentication)
and DH group 20 consume considerable CPU resources. If VPN monitoring and the ecdsa-signatures-384
and group20 options are used on an SRX Series device with a large number of tunnels configured, the SRX
Series device must have the SPC2 installed.
SEE ALSO
IN THIS SECTION
Requirements | 89
Overview | 89
Configuration | 97
Verification | 124
This example shows how to configure a hub-and-spoke IPsec VPN for an enterprise-class deployment.
Requirements
• SRX240 device
• SRX5800 device
• SSG140 device
Overview
This example describes how to configure a hub-and-spoke VPN typically found in branch deployments.
The hub is the corporate office, and there are two spokes—a branch office in Sunnyvale, California, and a
branch office in Westford, Massachusetts. Users in the branch offices will use the VPN to securely transfer
data with the corporate office.
Figure 11 on page 90 shows an example of a hub-and-spoke VPN topology. In this topology, an SRX5800
device is located at the corporate office. An SRX Series device is located at the Westford branch, and an
SSG140 device is located at the Sunnyvale branch.
90
192.168.168.10/24 192.168.178.10/24
e0/6 ge-0/0/3.0
SSG Series device 192.168.168.1/24 SRX Series device 192.168.178.1/24
tunnel1 st0.0
Sunnyvale 10.11.11.11/24 Westford
10.11.11.12/24
VPN zone VPN zone
e0/0 ge-0/0/0.0
10.2.2.2/30 10.3.3.2//30
Untrust
zone
Internet
ge-0/0/3.0
SRX Series device 10.1.1.2/30
st0.0
Corporate 10.11.11.10/24
office VPN zone
ge-0/0/0.0
192.168.10.1/24
Trust zone
g030681
192.168.10.10/24
In this example, you configure the corporate office hub, the Westford spoke, and the Sunnyvale spoke.
First you configure interfaces, IPv4 static and default routes, security zones, and address books. Then you
configure IKE Phase 1 and IPsec Phase 2 parameters, and bind the st0.0 interface to the IPsec VPN. On
the hub, you configure st0.0 for multipoint and add a static NHTB table entry for the Sunnyvale spoke.
Finally, you configure security policy and TCP-MSS parameters. See Table 10 on page 90 through
Table 14 on page 96 for specific configuration parameters used in this example.
ge-0/0/3.0 10.1.1.2/30
91
Table 10: Interface, Security Zone, and Address Book Information (continued)
st0 10.11.11.10/24
ge-0/0/3.0 192.168.178.1/24
st0 10.11.11.12/24
Table 10: Interface, Security Zone, and Address Book Information (continued)
Hub or
Spoke Feature Name Configuration Parameters
Hub or
Spoke Feature Name Configuration Parameters
Hub
or
Spoke Purpose Name Configuration Parameters
Hub
or
Spoke Purpose Name Configuration Parameters
Configuration
Purpose Parameters
TCC-MSS is negotiated as part of the TCP three-way handshake and limits the maximum size MSS value: 1350
of a TCP segment to better fit the MTU limits on a network. For VPN traffic, the IPsec
encapsulation overhead, along with the IP and frame overhead, can cause the resulting ESP
packet to exceed the MTU of the physical interface, which causes fragmentation. Fragmentation
results in increased use of bandwidth and device resources.
The value of 1350 is a recommended starting point for most Ethernet-based networks with
an MTU of 1500 or greater. You might need to experiment with different TCP-MSS values to
obtain optimal performance. For example, you might need to change the value if any device
in the path has a lower MTU, or if there is any additional overhead such as PPP or Frame Relay.
97
Configuration
IN THIS SECTION
Configuring Basic Network, Security Zone, and Address Book Information for the Hub | 97
Configuring Basic Network, Security Zone, and Address Book Information for the Westford Spoke | 111
Configuring Basic Network, Security Zone, and Address Book Information for the Hub
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure basic network, security zone, and address book information for the hub:
[edit]
user@hub# set interfaces ge-0/0/0 unit 0 family inet address 192.168.10.1/24
user@hub# set interfaces ge-0/0/3 unit 0 family inet address 10.1.1.2/30
user@hub# set interfaces st0 unit 0 family inet address 10.11.11.10/24
[edit]
user@hub# set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1
user@hub# set routing-options static route 192.168.168.0/24 next-hop 10.11.11.11
user@hub# set routing-options static route 192.168.178.0/24 next-hop 10.11.11.12
[edit ]
user@hub# set security zones security-zone untrust
[edit]
user@hub# edit security zones security-zone trust
[edit]
user@hub# edit security zones security-zone vpn
Results
100
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security zones, and show security address-book commands. If the output does not display the
intended configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@hub# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 192.168.10.1/24;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 10.1.1.2/30
}
}
}
st0{
unit 0 {
family inet {
address 10.11.11.10/24
}
}
}
[edit]
user@hub# show routing-options
static {
route 0.0.0.0/0 next-hop 10.1.1.1;
route 192.168.168.0/24 next-hop 10.11.11.11;
route 192.168.178.0/24 next-hop 10.11.11.12;
}
[edit]
user@hub# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
101
}
interfaces {
ge-0/0/3.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone vpn {
host-inbound-traffic {
}
interfaces {
st0.0;
}
}
[edit]
user@hub# show security address-book
book1 {
address local-net 10.10.10.0/24;
attach {
zone trust;
}
}
book2 {
address sunnyvale-net 192.168.168.0/24;
address westford-net 192.168.178.0/24;
attach {
zone vpn;
}
}
If you are done configuring the device, enter commit from configuration mode.
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
10. Create an IKE Phase 1 gateway and define its external interface.
13. Create an IKE Phase 1 gateway and define its external interface.
Results
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@hub# show security ike
proposal ike-phase1-proposal {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ike-phase1-policy {
mode main;
proposals ike-phase1-proposal;
105
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@hub# set security ipsec proposal ipsec-phase2-proposal
[edit]
user@hub# set interfaces st0 unit 0 multipoint
12. Add static NHTB table entries for the Sunnyvale and Westford offices.
[edit]
user@hub# set interfaces st0 unit 0 family inet next-hop-tunnel 10.11.11.11 ipsec-vpn vpn-sunnyvale
user@hub# set interfaces st0 unit 0 family inet next-hop-tunnel 10.11.11.12 ipsec-vpn vpn-westford
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@hub# show security ipsec
proposal ipsec-phase2-proposal {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-128-cbc;
}
108
policy ipsec-phase2-policy {
perfect-forward-secrecy {
keys group2;
}
proposals ipsec-phase2-proposal;
}
vpn vpn-sunnyvale {
bind-interface st0.0;
ike {
gateway gw-sunnyvale;
ipsec-policy ipsec-phase2-policy;
}
}
vpn vpn-westford {
bind-interface st0.0;
ike {
gateway gw-westford;
ipsec-policy ipsec-phase2-policy;
}
}
If you are done configuring the device, enter commit from configuration mode.
set security policies from-zone trust to-zone vpn policy local-to-spokes match source-address local-net
set security policies from-zone trust to-zone vpn policy local-to-spokes match destination-address sunnyvale-net
set security policies from-zone trust to-zone vpn policy local-to-spokes match destination-address westford-net
set security policies from-zone trust to-zone vpn policy local-to-spokes match application any
set security policies from-zone trust to-zone vpn policy local-to-spokes then permit
set security policies from-zone vpn to-zone trust policy spokes-to-local match source-address sunnyvale-net
set security policies from-zone vpn to-zone trust policy spokes-to-local match source-address westford-net
set security policies from-zone vpn to-zone trust policy spokes-to-local match destination-address local-net
set security policies from-zone vpn to-zone trust policy spokes-to-local match application any
set security policies from-zone vpn to-zone trust policy spokes-to-local then permit
set security policies from-zone vpn to-zone vpn policy spoke-to-spoke match source-address any
set security policies from-zone vpn to-zone vpn policy spoke-to-spoke match destination-address any
set security policies from-zone vpn to-zone vpn policy spoke-to-spoke match application any
set security policies from-zone vpn to-zone vpn policy spoke-to-spoke then permit
109
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Create the security policy to permit traffic from the trust zone to the vpn zone.
2. Create the security policy to permit traffic from the vpn zone to the trust zone.
Results
From configuration mode, confirm your configuration by entering the show security policies command.
If the output does not display the intended configuration, repeat the configuration instructions in this
example to correct it.
[edit]
user@hub# show security policies
from-zone trust to-zone vpn {
policy local-to-spokes {
110
match {
source-address local-net;
destination-address [ sunnyvale-net westford-net ];
application any;
}
then {
permit;
}
}
}
from-zone vpn to-zone trust {
policy spokes-to-local {
match {
source-address [ sunnyvale-net westford-net ];
destination-address local-net;
application any;
}
then {
permit;
}
}
}
from-zone vpn to-zone vpn {
policy spoke-to-spoke {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
To configure TCP-MSS information for the hub:
[edit]
user@hub# set security flow tcp-mss ipsec-vpn mss 1350
Results
From configuration mode, confirm your configuration by entering the show security flow command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@hub# show security flow
tcp-mss {
ipsec-vpn {
mss 1350;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Basic Network, Security Zone, and Address Book Information for the Westford Spoke
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure basic network, security zone, and address book information for the Westford spoke:
[edit]
user@spoke# set interfaces ge-0/0/0 unit 0 family inet address 10.3.3.2/30
user@spoke# set interfaces ge-0/0/3 unit 0 family inet address 192.168.178.1/24
user@spoke# set interfaces st0 unit 0 family inet address 10.11.11.12/24
[edit]
user@spoke# set routing-options static route 0.0.0.0/0 next-hop 10.3.3.1
user@spoke# set routing-options static route 10.10.10.0/24 next-hop 10.11.11.10
user@spoke# set routing-options static route 192.168.168.0/24 next-hop 10.11.11.10
[edit]
user@spoke# set security zones security-zone untrust
[edit]
user@spoke# edit security zones security-zone trust
[edit]
user@spoke# edit security zones security-zone vpn
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security zones, and show security address-book commands. If the output does not display the
intended configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@spoke# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.3.3.2/30;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 192.168.178.1/24;
}
}
}
st0 {
unit 0 {
family inet {
address 10.11.11.10/24;
}
}
}
[edit]
user@spoke# show routing-options
static {
route 0.0.0.0/0 next-hop 10.3.3.1;
route 192.168.168.0/24 next-hop 10.11.11.10;
route 10.10.10.0/24 next-hop 10.11.11.10;
}
115
[edit]
user@spoke# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/3.0;
}
}
security-zone vpn {
interfaces {
st0.0;
}
}
[edit]
user@spoke# show security address-book
book1 {
address corp-net 10.10.10.0/24;
attach {
zone trust;
}
}
book2 {
address local-net 192.168.178.0/24;
address sunnyvale-net 192.168.168.0/24;
attach {
zone vpn;
}
}
If you are done configuring the device, enter commit from configuration mode.
116
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
10. Create an IKE Phase 1 gateway and define its external interface.
Results
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@spoke# show security ike
proposal ike-phase1-proposal {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ike-phase1-policy {
mode main;
proposals ike-phase1-proposal;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway gw-corporate {
ike-policy ike-phase1-policy;
address 10.1.1.2;
external-interface ge-0/0/0.0;
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@spoke# set security ipsec proposal ipsec-phase2-proposal
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@spoke# show security ipsec
proposal ipsec-phase2-proposal {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-128-cbc;
}
policy ipsec-phase2-policy {
perfect-forward-secrecy {
121
keys group2;
}
proposals ipsec-phase2-proposal;
}
vpn vpn-corporate {
bind-interface st0.0;
ike {
gateway gw-corporate;
ipsec-policy ipsec-phase2-policy;
}
}
If you are done configuring the device, enter commit from configuration mode.
set security policies from-zone trust to-zone vpn policy to-corporate match source-address local-net
set security policies from-zone trust to-zone vpn policy to-corporate match destination-address corp-net
set security policies from-zone trust to-zone vpn policy to-corporate match destination-address sunnyvale-net
set security policies from-zone trust to-zone vpn policy to-corporate application any
set security policies from-zone trust to-zone vpn policy to-corporate then permit
set security policies from-zone vpn to-zone trust policy from-corporate match source-address corp-net
set security policies from-zone vpn to-zone trust policy from-corporate match source-address sunnyvale-net
set security policies from-zone vpn to-zone trust policy from-corporate match destination-address local-net
set security policies from-zone vpn to-zone trust policy from-corporate application any
set security policies from-zone vpn to-zone trust policy from-corporate then permit
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Create the security policy to permit traffic from the trust zone to the vpn zone.
2. Create the security policy to permit traffic from the vpn zone to the trust zone.
Results
From configuration mode, confirm your configuration by entering the show security policies command.
If the output does not display the intended configuration, repeat the configuration instructions in this
example to correct it.
[edit]
user@spoke# show security policies
from-zone trust to-zone vpn {
policy to-corp {
match {
source-address local-net;
destination-address [ sunnyvale-net westford-net ];
application any;
}
then {
permit;
}
}
}
from-zone vpn to-zone trust {
policy spokes-to-local {
match {
source-address [ sunnyvale-net westford-net ];
destination-address local-net;
application any;
}
then {
permit;
}
}
123
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
To configure TCP-MSS for the Westford spoke:
[edit]
user@spoke# set security flow tcp-mss ipsec-vpn mss 1350
Results
From configuration mode, confirm your configuration by entering the show security flow command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@spoke# show security flow
tcp-mss {
ipsec-vpn {
mss 1350;
}
}
If you are done configuring the device, enter commit from configuration mode.
To quickly configure this section of the example, copy the following commands, paste them into a text
file, remove any line breaks, change any details necessary to match your network configuration, copy and
paste the commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration
mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
Before starting the verification process, you need to send traffic from a host in the 192.168.10/24 network
to a host in the 192.168.168/24 and 192.168.178/24 networks to bring the tunnels up. For route-based
VPNs, you can send traffic initiated from the SRX Series device through the tunnel. We recommend that
when testing IPsec tunnels, you send test traffic from a separate device on one side of the VPN to a second
device on the other side of the VPN. For example, initiate a ping from 192.168.10.10 to 192.168.168.10.
From operational mode, enter the show security ike security-associations command. After obtaining an
index number from the command, use the show security ike security-associations index index_number
detail command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index detail command to get more information about the SA.
• State
• External interfaces (the interface must be the one that receives IKE packets)
The show security ike security-associations index 1 detail command lists additional information about the
security association with an index number of 1:
127
• Phase 1 lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
Purpose
Verify the IPsec Phase 2 status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index index_number
detail command.
Virtual-system: Root
Local Gateway: 10.1.1.2, Remote Gateway: 10.3.3.2
Local Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/24)
Remote Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
DF-bit: clear
Direction: inbound, SPI: 1895270854, AUX-SPI: 0
Hard lifetime: Expires in 28729 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 28136 seconds
Mode: tunnel, Type: dynamic, State: installed, VPN Monitoring: -
128
Meaning
The output from the show security ipsec security-associations command lists the following information:
• The ID number is 16385. Use this value with the show security ipsec security-associations index
command to get more information about this particular SA.
• There is one IPsec SA pair using port 500, which indicates that no NAT-traversal is implemented.
(NAT-traversal uses port 4500 or another random high-number port.)
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
28756/ unlim value indicates that the Phase 2 lifetime expires in 28756 seconds, and that no lifesize
has been specified, which indicates that it is unlimited. Phase 2 lifetime can differ from Phase 1 lifetime,
as Phase 2 is not dependent on Phase 1 after the VPN is up.
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U indicates that monitoring is up, and D indicates that monitoring is down.
• The virtual system (vsys) is the root system, and it always lists 0.
The output from the show security ipsec security-associations index 16385 detail command lists the
following information:
• The local identity and remote identity make up the proxy ID for the SA.
A proxy ID mismatch is one of the most common causes for a Phase 2 failure. If no IPsec SA is listed,
confirm that Phase 2 proposals, including the proxy ID settings, are correct for both peers. For route-based
VPNs, the default proxy ID is local=0.0.0.0/0, remote=0.0.0.0/0, and service=any. Issues can occur with
multiple route-based VPNs from the same peer IP. In this case, a unique proxy ID for each IPsec SA must
be specified. For some third-party vendors, the proxy ID must be manually entered to match.
• Another common reason for Phase 2 failure is not specifying the ST interface binding. If IPsec cannot
complete, check the kmd log or set trace options.
129
Purpose
After Phase 2 is complete for all peers, verify the next-hop tunnel bindings.
Action
From operational mode, enter the show security ipsec next-hop-tunnels command.
Meaning
The next-hop gateways are the IP addresses for the st0 interfaces of all remote spoke peers. The next hop
should be associated with the correct IPsec VPN name. If no NHTB entry exists, there is no way for the
hub device to differentiate which IPsec VPN is associated with which next hop.
• Static— NHTB was manually configured in the st0.0 interface configurations, which is required if the
peer is not an SRX Series device.
• Auto— NHTB was not configured, but the entry was automatically populated into the NHTB table during
Phase 2 negotiations between two SRX Series devices
There is no NHTB table for any of the spoke sites in this example. From the spoke perspective, the st0
interface is still a point-to-point link with only one IPsec VPN binding.
Purpose
Verify that the static route references the spoke peer’s st0 IP address.
Action
From operational mode, enter the show route command.
The next hop is the remote peer’s st0 IP address, and both routes point to st0.0 as the outgoing interface.
Purpose
Review ESP and authentication header counters and errors for an IPsec security association.
Action
From operational mode, enter the show security ipsec statistics index command.
ESP Statistics:
Encrypted bytes: 920
Decrypted bytes: 6208
Encrypted packets: 5
Decrypted packets: 87
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
ESP authentication failures: 0, ESP decryption failures: 0
Bad headers: 0, Bad trailers: 0
You can also use the show security ipsec statistics command to review statistics and errors for all SAs.
To clear all IPsec statistics, use the clear security ipsec statistics command.
131
Meaning
If you see packet loss issues across a VPN, you can run the show security ipsec statistics or show security
ipsec statistics detail command several times to confirm that the encrypted and decrypted packet counters
are incrementing. You should also check whether the other error counters are incrementing.
Purpose
Verify the traffic flow across the VPN.
Action
You can use the ping command from the SRX Series device to test traffic flow to a remote host PC. Make
sure that you specify the source interface so that the route lookup is correct and the appropriate security
zones are referenced during policy lookup.
You can also use the ping command from the SSG Series device.
Meaning
If the ping command fails from the SRX Series or SSG Series device, there might be a problem with the
routing, security policies, end host, or encryption and decryption of ESP packets.
SEE ALSO
Release Description
19.4R1 Starting in Junos OS Release 19.4R1, you can now configure only one dynamic DN attribute
among container-string and wildcard-string at [edit security ike gateway gateway_name dynamic
distinguished-name] hierarchy. If you try configuring the second attribute after you configure
the first attribute, the first attribute is replaced with the second attribute. Before your upgrade
your device, you must remove one of the attributes if you have configured both the attributes.
15.1X49-D80 Starting with Junos OS Release 15.1X49-D80, dynamic endpoint VPNs on SRX Series devices
support IPv6 traffic on secure tunnels.
12.3X48-D40 Starting with Junos OS Release 12.3X48-D40, Junos OS Release 15.1X49-D70, and Junos OS
Release 17.3R1, all dynamic endpoint gateways configured on SRX Series devices that use the
same external interface can use different IKE policies, but the IKE policies must use the same
IKE proposal.
RELATED DOCUMENTATION
IN THIS SECTION
A route-based VPN is a configuration in which an IPsec VPN tunnel created between two end points is
referenced by a route that determines which traffic is sent through the tunnel based on a destination IP
address.
With route-based VPNs, you can configure dozens of security policies to regulate traffic flowing through
a single VPN tunnel between two sites, and there is just one set of IKE and IPsec SAs at work. Unlike
policy-based VPNs, for route-based VPNs, a policy refers to a destination address, not a VPN tunnel. When
Junos OS looks up a route to find the interface to use to send traffic to the packet’s destination address,
it finds a route through a secure tunnel interface (st0.x). The tunnel interface is bound to a specific VPN
tunnel, and the traffic is routed to the tunnel if the policy action is permit.
A secure tunnel (st0) interface supports only one IPv4 address and one IPv6 address at the same time.
This applies to all route-based VPNs. The disable option is not supported on st0 interfaces.
• A hub-and-spoke VPN topology is used in the network, and spoke-to-spoke traffic is required.
• A dynamic routing protocol (for example, OSPF, RIP, or BGP) is running across the VPN.
Configuring RIP demand circuits over point-to-multipoint VPN interfaces is not supported.
We recommend that you use route-based VPN when you want to configure VPN between multiple remote
sites. Route-based VPN allows for routing between the spokes between multiple remote sites; it is easier
to configure, monitor, and troubleshoot.
135
SEE ALSO
IN THIS SECTION
Requirements | 135
Overview | 135
Configuration | 139
Verification | 151
This example shows how to configure a route-based IPsec VPN to allow data to be securely transferred
between a branch office and the corporate office.
Requirements
• SSG140 device
Overview
In this example, you configure a route-based VPN for a branch office in Chicago, because you want to
conserve tunnel resources but still get granular restrictions on VPN traffic. Users in the Chicago office will
use the VPN to connect to their corporate headquarters in Sunnyvale, California.
Figure 12 on page 136 shows an example of a route-based VPN topology. In this topology, the SRX Series
devices are located in Sunnyvale, and an SSG Series device (or a third-party device) is located in Chicago.
136
Trust Zone
ge-0/0/1.0
198.51.100.10/24
ge-0/0/0.0
198.51.100.1/24
Chicago st0.0 VPN-chicago zone
tunnel 1
SRX Series Device
ge-0/0/1.0
10.1.1.1/30
Untrust Zone
INTERNET
ge-0/0/1.0
10.1.1.2/30
Sunnyvale st0.0 VPN-sunnyvale zone
SRX Series Device ge-0/0/0.0
192.0.2.1/24
Trust Zone
g040511a
ge-0/0/0.0
192.0.2.10/24
In this example, you configure interfaces, an IPv4 default route, security zones, and address books. Then
you configure IKE, IPsec, security policy, and TCP-MSS parameters. See Table 15 on page 136 through
Table 19 on page 138 for specific configuration parameters used in this example.
Table 15: Interface, Static Route, Security Zone, and Address Book Information
ge-0/0/3.0 10.1.1.2/30
Table 15: Interface, Static Route, Security Zone, and Address Book Information (continued)
The security policy permits traffic from the vpn • Match criteria:
trust zone to the vpn zone. • source-address sunnyvale
• destination-address chicago
• application IKE
• Action: permit
The security policy permits traffic from the vpn • Match criteria:
vpn zone to the trust zone. • source-address chicago
• destination-address sunnyvale
• application IKE
• Action: permit
Configuration
IN THIS SECTION
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure interface, static route, security zone, and address book information:
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.1/24
user@host# set interfaces ge-0/0/3 unit 0 family inet address 10.1.1.2/30
140
[edit]
user@host# set routing-options static route 0.0.0.0/0 next-hop st0.0
[edit]
user@host# edit security zones security-zone trust
[edit]
user@host# edit security zones security-zone vpn
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security zones, and show security address-book commands. If the output does not display the
intended configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 192.0.2.1/24;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 10.1.1.2/30;
}
}
}
st0 {
unit 0 {
family inet {
address 10.10.11.10/24;
}
}
}
[edit]
user@host# show routing-options
static {
route 0.0.0.0/0 next-hop st0.0;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
}
142
interfaces {
ge-0/0/3.0;
}
}
security-zone trust {
host-inbound-traffic {
}
interfaces {
ge-0/0/0.0;
}
}
security-zone vpn-chicago {
host-inbound-traffic {
}
interfaces {
st0.0;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IKE
Step-by-Step Procedure
143
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IKE:
Results
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ike
145
proposal ike-proposal {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy ike-policy {
mode main;
proposals ike-proposal;
pre-shared-key ascii-text "$ABC123";
}
gateway gw-sunnyvale {
ike-policy ike-policy;
address 10.2.2.2;
external-interface ge-0/0/3.0;
version v1-only;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# set security ipsec traceoptions flag all
[edit]
user@host# set security ipsec proposal ipsec_prop
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ipsec
traceoptions {
flag all;
}
proposal ipsec_prop {
protocol esp;
authentication-algorithm hmac-sha-256;
encryption-algorithm aes256-cbc;
}
proposal ipsec_prop;
policy ipsec_pol {
proposals ipsec_prop;
}
vpn ipsec_vpn1 {
bind-interface st0.0;
ike {
gateway gw_sunnyvale;
ipsec-policy ipsec_pol;
}
}
If you are done configuring the device, enter commit from configuration mode.
148
set security policies from-zone trust to-zone vpn policy vpn match source-address sunnyvale
set security policies from-zone trust to-zone vpn policy vpn match destination-address chicago
set security policies from-zone trust to-zone vpn policy vpn match application any
set security policies from-zone trust to-zone vpn policy vpn then permit
set security policies from-zone vpn to-zone trust policy vpn match source-address chicago
set security policies from-zone vpn to-zone trust policy vpn match destination-address sunnyvale
set security policies from-zone vpn to-zone trust policy vpn match application any
set security policies from-zone vpn to-zone trust policy vpn then permit
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Create the security policy to permit traffic from the trust zone to the vpn zone.
2. Create the security policy to permit traffic from the vpn zone to the trust zone.
Results
149
From configuration mode, confirm your configuration by entering the show security policies command.
If the output does not display the intended configuration, repeat the configuration instructions in this
example to correct it.
[edit]
user@host# show security policies
from-zone trust to-zone vpn {
policy vpn {
match {
source-address sunnyvale;
destination-address chicago;
application any;
}
then {
permit;
}
}
}
from-zone vpn to-zone trust {
policy vpn {
match {
source-address chicago;
destination-address sunnyvale;
application any;
}
then {
permit;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring TCP-MSS
Step-by-Step Procedure
150
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# set security flow tcp-mss ipsec-vpn mss 1350
Results
From configuration mode, confirm your configuration by entering the show security flow command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security flow
tcp-mss {
ipsec-vpn {
mss 1350;
}
}
If you are done configuring the device, enter commit from configuration mode.
To quickly configure this section of the example, copy the following commands, paste them into a text
file, remove any line breaks, change any details necessary to match your network configuration, copy and
paste the commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration
mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE status.
Action
Before starting the verification process, you need to send traffic from a host in the 192.0.2.10/24 network
to a host in the 198.51.100.10/24 network. For route-based VPNs, traffic can be initiated by the SRX
Series device through the tunnel. We recommend that when testing IPsec tunnels, test traffic be sent from
a separate device on one side of the VPN to a second device on the other side of the VPN. For example,
initiate a ping from 192.0.2.10 to 198.51.100.10.
152
From operational mode, enter the show security ike security-associations command. After obtaining an
index number from the command, use the show security ike security-associations index index_number
detail command.
Meaning
The show security ike security-associations command lists all active IKE SAs. If no SAs are listed, there
was a problem with IKE establishment. Check the IKE policy parameters and external interface settings in
your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index detail command to get more information about the SA.
• State
153
• External interfaces (the interface must be the one that receives IKE packets)
The show security ike security-associations index 1 detail command lists additional information about the
security association with an index number of 1:
• lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
• Role information
Purpose
Verify the IPsec status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index index_number
detail command.
Virtual-system: Root
Local Gateway: 198.51.100.2, Remote Gateway: 10.2.2.2
Local Identity: ipv4_subnet(any:0,[0..7]=192.0.2.0/24)
Remote Identity: ipv4_subnet(any:0,[0..7]=192.0.2.168/24)
DF-bit: clear
Meaning
The output from the show security ipsec security-associations command lists the following information:
• The ID number is 16384. Use this value with the show security ipsec security-associations index
command to get more information about this particular SA.
• There is one IPsec SA pair using port 500, which indicates that no NAT-traversal is implemented.
(NAT-traversal uses port 4500 or another random high-number port.)
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
3363/ unlim value indicates that the lifetime expires in 3363 seconds, and that no lifesize has been
specified, which indicates that it is unlimited. Lifetime can differ from lifetime, as IPsec is not dependent
on IKE after the VPN is up.
155
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U indicates that monitoring is up, and D indicates that monitoring is down.
• The virtual system (vsys) is the root system, and it always lists 0.
The output from the show security ipsec security-associations index 16384 detail command lists the
following information:
• The local identity and remote identity make up the proxy ID for the SA.
A proxy ID mismatch is one of the most common causes for a IPsec failure. If no IPsec SA is listed, confirm
that IPsec proposals, including the proxy ID settings, are correct for both peers. For route-based VPNs,
the default proxy ID is local=0.0.0.0/0, remote=0.0.0.0/0, and service=any. Issues can occur with multiple
route-based VPNs from the same peer IP. In this case, a unique proxy ID for each IPsec SA must be
specified. For some third-party vendors, the proxy ID must be manually entered to match.
• Another common reason for IPsec failure is not specifying the ST interface binding. If IPsec cannot
complete, check the kmd log or set trace options.
Purpose
Review ESP and authentication header counters and errors for an IPsec security association.
Action
From operational mode, enter the show security ipsec statistics index index_number command, using the
index number of the VPN for which you want to see statistics.
ESP Statistics:
Encrypted bytes: 920
Decrypted bytes: 6208
Encrypted packets: 5
Decrypted packets: 87
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
ESP authentication failures: 0, ESP decryption failures: 0
Bad headers: 0, Bad trailers: 0
You can also use the show security ipsec statistics command to review statistics and errors for all SAs.
156
To clear all IPsec statistics, use the clear security ipsec statistics command.
Meaning
If you see packet loss issues across a VPN, you can run the show security ipsec statistics or show security
ipsec statistics detail command several times to confirm that the encrypted and decrypted packet counters
are incrementing. You should also check whether the other error counters are incrementing.
Purpose
Verify the traffic flow across the VPN.
Action
You can use the ping command from the SRX Series device to test traffic flow to a remote host PC. Make
sure that you specify the source interface so that the route lookup is correct and the appropriate security
zones are referenced during policy lookup.
You can also use the ping command from the SSG Series device.
Meaning
If the ping command fails from the SRX Series or SSG Series device, there might be a problem with the
routing, security policies, end host, or encryption and decryption of ESP packets.
SEE ALSO
Starting with Junos OS Release 15.1X49-D60 and Junos OS Release 17.3R1, class of service (CoS) features
such as classifier, policer, queuing, scheduling, shaping, rewriting markers, and virtual channels can now
be configured on the secure tunnel interface (st0) for point-to-point VPNs.
The st0 tunnel interface is an internal interface that can be used by route-based VPNs to route cleartext
traffics to an IPsec VPN tunnel. The following CoS features are supported on the st0 interface on all
available SRX Series devices and vSRX2.0:
• Classifiers
• Policers
• Rewrite markers
• Virtual channels
Starting with Junos OS Release 15.1X49-D70 and Junos OS Release 17.3R1, support for queuing, scheduling,
shaping, and virtual channels is added to the st0 interface for SRX5400, SRX5600, and SRX5800 devices.
Support for all the listed CoS features is added for the st0 interface for SRX1500, SRX4100, and SRX4200
devices. Starting with Junos OS Release 17.4R1, support for listed CoS features is added for the st0
interface for SRX4600 devices.
158
• The maximum number for software queues is 2048. If the number of st0 interfaces exceeds 2048, not
enough software queues can be created for all the st0 interfaces.
• Only route-based VPNs can apply CoS features on st0 interfaces. Table 20 on page 158 describes the
st0 CoS feature support for different types of VPNs.
• On SRX300, SRX320, SRX340, SRX345, and SRX550HM devices, one st0 logical interface can bind to
multiple VPN tunnels. The eight queues for the st0 logical interface cannot reroute the traffic to different
tunnels, so pre-tunneling is not supported.
The virtual channel feature can be used as a workaround on SRX300, SRX320, SRX340, SRX345, and
SRX550HM devices.
• When defining a CoS shaping rate on an st0 tunnel interface, consider the following restrictions:
• The shaping rate on the tunnel interface must be less than that of the physical egress interface.
• The shaping rate only measures the packet size that includes the inner Layer 3 cleartext packet with
an ESP/AH header and an outer IP header encapsulation. The outer Layer 2 encapsulation added by
the physical interface is not factored into the shaping rate measurement.
• The CoS behavior works as expected when the physical interface carries the shaped GRE or IP-IP
tunnel traffic only. If the physical interface carries other traffic, thereby lowering the available bandwidth
for tunnel interface traffic, the CoS features do not work as expected.
• On SRX550M, SRX5400, SRX5600, and SRX5800 devices, bandwidth limit and burst size limit values
in a policer configuration are a per-SPU, not per-system limitation. This is the same policer behavior as
on the physical interface.
159
SEE ALSO
Release Description
17.4R1 Starting with Junos OS Release 17.4R1, support for listed CoS features is added for the st0
interface for SRX4600 devices.
15.1X49-D70 Starting with Junos OS Release 15.1X49-D70 and Junos OS Release 17.3R1, support for
queuing, scheduling, shaping, and virtual channels is added to the st0 interface for SRX5400,
SRX5600, and SRX5800 devices. Support for all the listed CoS features is added for the st0
interface for SRX1500, SRX4100, and SRX4200 devices.
15.1X49-D60 Starting with Junos OS Release 15.1X49-D60 and Junos OS Release 17.3R1, class of service
(CoS) features such as classifier, policer, queuing, scheduling, shaping, rewriting markers, and
virtual channels can now be configured on the secure tunnel interface (st0) for point-to-point
VPNs.
RELATED DOCUMENTATION
IN THIS SECTION
Example: Configuring the SRX Series for Pico Cell Provisioning with IKEv2 Configuration Payload | 208
Internet Key Exchange version 2 (IKEv2) is an IPsec based tunneling protocol that provides a secure VPN
communication channel between peer VPN devices and defines negotiation and authentication for IPsec
security associations (SAs) in a protected manner.
Internet Key Exchange version 2 (IKEv2) is the latest version of the Internet Key Exchange (IKE) protocol
defined in RFC 7296.
A VPN peer is configured as either IKEv1 or IKEv2. When a peer is configured as IKEv2, it cannot fall back
to IKEv1 if its remote peer initiates IKEv1 negotiation. By default, Juniper Networks security devices are
IKEv1 peers.
Use the version v2-only configuration statement at the [edit security ike gateway gw-name] hierarchy
level to configure IKEv2. The IKE version is displayed in the output of the show security ike
security-associations and show security ipsec security-associations CLI operational commands.
• Reduces the latency for the IPsec SA setup and increases connection establishment speed.
• Improves reliability through the use of sequence numbers, acknowledgements, and error correction.
• Improves reliability, as all messages are requests or responses. The initiator is responsible for retransmitting
if it does not receive a response.
• Route-based VPNs.
• Site-to-site VPNs.
• Chassis cluster.
161
• Certificate-based authentication.
• Child SAs. An IKEv2 child SA is known as a Phase 2 SA in IKEv1. In IKEv2, a child SA cannot exist without
the underlying IKE SA. If a child SA is required, it is rekeyed. However, if child SAs are currently active,
the corresponding IKE SA is rekeyed.
On SRX Series devices, if an IPsec VPN tunnel is established using IKEv2, a small number of packet drops
might be observed during CHILD_SA rekey as a result of "bad SPI" being logged. This occurs only when
the SRX Series device is the responder for this rekey and the peer is a non-Juniper Networks device,
and the latency between the peers is low and the packet rate is high. To avoid this issue, ensure that
the SRX Series device always initiates the rekeys by setting its IPsec lifetime to a lower value than that
of the peer.
• AutoVPN.
• Traffic selectors.
• Policy-based VPN.
• Dialup tunnels.
• VPN monitoring.
• Multiple child SAs for the same traffic selectors for each QoS value.
Starting in Junos OS Release 19.1R1, on SRX5000 line of devices, the establish tunnels option supports
the responder-only and responder-only-no-rekey values under the [edit security ipsec vpn vpn-name]
hierarchy-level.
The responder-only and responder-only-no-rekey options are supported on the SRX5000 line of devices
with an SPC3 card only if the junos-ike-package is installed. These options are supported only on a
site-to-site VPN. These option are not supported on Auto VPN.
The responder-only and responder-only-no-rekey options does not establish any VPN tunnel from the
device, so the VPN tunnel is initiated from the remote peer. When you configure responder-only, an
established tunnel rekeys both IKE and IPsec based on the configured IKE and IPsec lifetime values. When
you configure responder-only-no-rekey, an established tunnel does not rekey from the device and relies
on the remote peer to initiate rekey. If the remote peer does not initiate rekey, then the tunnel teardown
occurs after hard-lifetime expires.
162
Configuration payload is an Internet Key Exchange version 2 (IKEv2) feature used to propagate provisioning
information from a responder (or server) to an initiator (or client). IKEv2 configuration payload is supported
with route-based VPNs only.
RFC 5996, Internet Key Exchange Protocol Version 2 (IKEv2), defines 15 different configuration attributes
that can be returned to the initiator by the responder. Table 21 on page 162 describes the IKEv2 configuration
attributes supported on SRX Series devices.
INTERNAL_IP4_NETMASK 2 Specifies the internal network's netmask value. Only one 0 or 4 octets
netmask value is allowed in the request and response
messages (for example, 255.255.255.0), and it must be used
only with an INTERNAL_IP4_ADDRESS attribute.
INTERNAL_IP4_DHCP 6 Instructs the host to send any internal DHCP request to the 0 or 4 octets
address contained within the attribute. Multiple DHCP servers
can be requested. The responder can respond with zero or
more DHCP server attributes.
For the IKE responder to provide the initiator with provisioning information, it must acquire the information
from a specified source such as a RADIUS server. Provisioning information can also be returned from a
DHCP server through a RADIUS server. On the RADIUS server, the user information should not include
an authentication password. The RADIUS server profile is bound to the IKE gateway using the aaa
access-profile profile-name configuration at the [edit security ike gateway gateway-name] hierarchy level.
163
In a route-based VPN, secure tunnel (st0) interfaces operate in either point-to-multipoint or point-to-point
mode. Dynamic address assignment through the IKEv2 configuration payload is supported for
point-to-multipoint interfaces only. For point-to-multipoint interfaces, the interfaces must be numbered
and the addresses in the configuration payload INTERNAL_IP4_ADDRESS attribute type must be within
the subnetwork range of the associated point-to-multipoint interface.
Starting in Junos OS Release 20.1R1, you can configure a common password for IKEv2 configuration
payload requests for an IKE gateway configuration. The common password in the range of 1 to 128
characters allows the administrator to define a common password. This password is used when the SRX
Series device requesting an IP address on behalf of a remote IPsec peer using IKEv2 configuration payload
over radius server. Radius server matches the credentials before it assigns any IP information to the
configuration payload request. You can configure the common password using config-payload-password
configured-password configuration statement at [edit security ike gateway gateway-name aaa access-profile
access-profile-name] hierarchy level.
Use Password Authentication Protocol (PAP) as a means of authentication and configured password must
be same on both Device Under Test (DUT) and RADIUS server to bring up the tunnel.
IKEv2 configuration payload can be used to propagate provisioning information from an IKE responder,
such as an SRX Series device, to multiple initiators, such as LTE pico cell base stations in a cellular network.
The pico cells ship from the factory with a standard configuration that allows them to connect to the SRX
Series device, but the pico cell provisioning information is stored on one or more provisioning servers
within a protected network. The pico cells receive full provisioning information after establishing secure
connections with the provisioning servers.
The workflow required to bootstrap and provision a pico cell and introduce it to service includes four
distinct stages:
1. Initial addresses acquisition—The pico cell ships from the factory with the following information:
• Configuration for the secure gateway tunnel to the SRX Series device
• Fully qualified domain name (FQDN) of the provisioning servers that lie within the protected network
The pico cell boots up and acquires an address to be used for IKE negotiation from a DHCP server. A
tunnel is then built to the secure gateway on the SRX Series device using this address. An address for
Operation, Administration, and Management (OAM) traffic is also assigned by the DHCP server for use
on the protected network.
2. Pico cell provisioning—Using its assigned OAM traffic address, the pico cell requests its provisioning
information—typically operator certificate, license, software, and configuration information—from
servers within the protected network.
164
3. Reboot—The pico cell reboots and uses the acquired provisioning information to make it specific to
the service provider’s network and operation model.
4. Service provision—When the pico cell enters service, it uses a single certificate that contains distinguished
name (DN) and subject alternative name values with a FQDN to build two tunnels to the secure gateway
on the SRX Series device: one for OAM traffic and the other for Third-Generation Partnership Project
(3GPP) data traffic.
Figure 13 on page 165 shows a typical workflow for a pico cell deployment.
165
The IKEv2 configuration payload feature is supported only for point-to-multipoint secure tunnel (st0)
interfaces. Point-to-multipoint interfaces must be numbered, and the addresses provided in the configuration
payload must be within the subnetwork range of the associated point-to-multipoint interface.
166
SEE ALSO
This topic shows how to configure establish-tunnels responder-only in Internet Key Exchange (IKE). Initiate
the tunnels from the remote peer and send the traffic through all the tunnels. Specifies when IKE is
activated.
• Understand how to establish an AutoKey IKE IPsec tunnel. Read “IPsec VPN Overview” on page 28.
2. Confirm your configuration by entering the show security ipsec vpn IPSEC_VPN command.
4. Confirm your configuration by entering the show security ipsec vpn IPSEC_VPN command.
ipsec-policy IPSEC_POL;
}
establish-tunnels responder-only-no-rekey;
In case of multiple VPN objects, the Responder-only mode will take precedence. If any of the VPN in
a gateway is configured with responder-only mode, all VPN's in the gateway must be configured with
the responder-only mode.
IN THIS SECTION
Overview | 167
Limitations | 168
Overview
With IKEv2, rekeying and reauthentication are separate processes. Rekeying establishes new keys for the
IKE security association (SA) and resets message ID counters, but it does not reauthenticate the peers.
Reauthentication verifies that VPN peers retain their access to authentication credentials. Reauthentication
establishes new keys for the IKE SA and child SAs; rekeys of any pending IKE SA or child SA are no longer
needed. After the new IKE and child SAs are created, the old IKE and child SAs are deleted.
You configure the reauthentication frequency with the reauth-frequency statement at the [edit security
ike policy policy-name] hierarchy level. Reauthentication is disabled by setting the reauthentication frequency
to 0 (the default). Reauthentication frequency is not negotiated by peers, and each peer can have its own
reauthentication frequency value.
168
Supported Features
• Chassis clusters in active-active and active-passive mode for SRX5400, SRX5600, and SRX5800 devices
• Upgrade or insertion of a new Services Processing Unit (SPU) using the in-service hardware upgrade
(ISHU) procedure
Limitations
• With NAT-T, a new IKE SA can be created with different ports from the previous IKE SA. In this scenario,
the old IKE SA might not be deleted.
• In a NAT-T scenario, the initiator behind the NAT device can become the responder after reauthentication.
If the NAT session expires, the NAT device might discard new IKE packets that might arrive on a different
port. NAT-T keepalive or DPD must be enabled to keep the NAT session alive. For AutoVPN, we
recommend that the reauthentication frequency configured on the spokes be smaller than the
reauthentication frequency configured on the hub.
• Based on the reauthentication frequency, a new IKE SA can be initiated by either the initiator or the
responder of the original IKE SA. Because Extensible Authentication Protocol (EAP) authentication and
configuration payload require the IKE SA to be initiated by the same party as the original IKE SA,
reauthentication is not supported with EAP authentication or configuration payload.
SEE ALSO
169
IN THIS SECTION
Certificate-based authentication is an authentication method supported on SRX Series devices during IKE
negotiation. In large networks, multiple certificate authorities (CAs) can issue end entity (EE) certificates
to their respective end devices. It is common to have separate CAs for individual locations, departments,
or organizations.
When a single-level hierarchy for certificate-based authentication is employed, all EE certificates in the
network must be signed by the same CA. All firewall devices must have the same CA certificate enrolled
for peer certificate validation. The certificate payload sent during IKE negotiation only contains EE
certificates.
Alternatively, the certificate payload sent during IKE negotiation can contain a chain of EE and CA
certificates. A certificate chain is the list of certificates required to validate a peer’s EE certificate. The
certificate chain includes the EE certificate and any CA certificates that are not present in the local peer.
The network administrator needs to ensure that all peers participating in an IKE negotiation have at least
one common trusted CA in their respective certificate chains. The common trusted CA does not have to
be the root CA. The number of certificates in the chain, including certificates for EEs and the topmost CA
in the chain, cannot exceed 10.
Starting with Junos OS Release 18.1R1, validation of a configured IKE peer can be done with a specified
CA server or group of CA servers. With certificate chains, the root CA must match the trusted CA group
or CA server configured in the IKE policy
In the example CA hierarchy shown in Figure 14 on page 170, Root-CA is the common trusted CA for all
devices in the network. Root-CA issues CA certificates to the engineering and sales CAs, which are identified
as Eng-CA and Sales-CA, respectively. Eng-CA issues CA certificates to the development and quality
assurance CAs, which are identified as Dev-CA and Qa-CA, respectively. Host-A receives its EE certificate
from Dev-CA while Host-B receives its EE certificate from Sales-CA.
170
Each end device needs to be loaded with the CA certificates in its hierarchy. Host-A must have Root-CA,
Eng-CA, and Dev-CA certificates; Sales-CA and Qa-CA certificates are not necessary. Host-B must have
Root-CA and Sales-CA certificates. Certificates can be loaded manually in a device or enrolled using the
Simple Certificate Enrollment Process (SCEP).
Each end device must be configured with a CA profile for each CA in the certificate chain. The following
output shows the CA profiles configured on Host-A:
ca-profile Dev-CA {
ca-identity Dev-CA;
enrollment {
url “www.example.net/scep/Dev/”;
}
}
}
SEE ALSO
IN THIS SECTION
Requirements | 172
Overview | 172
Configuration | 173
Verification | 181
This example shows how to configure a device for certificate chains used to validate peer devices during
IKE negotiation.
Requirements
Before you begin, obtain the address of the certificate authority (CA) and the information they require
(such as the challenge password) when you submit requests for local certificates.
Overview
This example shows how to configure a local device for certificate chains, enroll CA and local certificates,
check the validity of enrolled certificates, and check the revocation status of the peer device.
This example shows the configuration and operational commands on Host-A, as shown in
Figure 15 on page 173. A dynamic CA profile is automatically created on Host-A to allow Host-A to download
the CRL from Sales-CA and check the revocation status of Host-B’s certificate.
173
The IPsec VPN configuration for Phase 1 and Phase 2 negotiation is shown for Host-A in this example.
The peer device (Host-B) must be properly configured so that Phase 1 and Phase 2 options are successfully
negotiated and security associations (SAs) are established. See “Configuring Remote IKE IDs for Site-to-Site
VPNs” on page 78 for examples of configuring peer devices for VPNs.
Configuration
IN THIS SECTION
Configure CA Profiles
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure CA profiles:
Results
175
From configuration mode, confirm your configuration by entering the show security pki command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security pki
ca-profile Root-CA {
ca-identity Root-CA;
enrollment {
url "http:/;/198.51.100.230:8080/scep/Root/";
}
revocation-check {
crl ;
}
}
ca-profile Eng-CA {
ca-identity Eng-CA;
enrollment {
url "http:/;/198.51.100.230:8080/scep/Eng/";
}
revocation-check {
crl ;
}
}
ca-profile Dev-CA {
ca-identity Dev-CA;
enrollment {
url "http:/;/198.51.100.230:8080/scep/Dev/";
}
revocation-check {
crl ;
}
}
If you are done configuring the device, enter commit from configuration mode.
Enroll Certificates
Step-by-Step Procedure
To enroll certificates:
user@host> request security pki generate-key-pair certificate-id Host-A type rsa size 1024
user@host> request security pki local-certificate enroll certificate-id Host-A ca-profile Dev-CA
challenge-password example domain-name host-a.example.net email [email protected] subject
DC=example,CN=Host-A, OU=DEV,O=PKI,L=Sunnyvale,ST=CA,C=US
CA profile: Root-CA
CRL version: V00000001
CRL issuer: C = us, O = example, CN = Root-CA
Effective date: 09- 9-2012 13:08
Next update: 09-21-2012 02:55
178
CA profile: Eng-CA
CRL version: V00000001
CRL issuer: C = us, O = example, CN = Eng-CA
Effective date: 08-22-2012 17:46
Next update: 10-24-2015 03:33
CA profile: Dev-CA
CRL version: V00000001
CRL issuer: C = us, O = example, CN = Dev-CA
Effective date: 09-14-2012 21:15
Next update: 09-26-2012 11:02
Step-by-Step Procedure
179
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
Results
180
From configuration mode, confirm your configuration by entering the show security ike and show security
ipsec commands. If the output does not display the intended configuration, repeat the configuration
instructions in this example to correct it.
[edit]
user@host# show security ike
proposal ike_cert_prop_01 {
authentication-method rsa-signatures;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy ike_cert_pol_01 {
mode main;
proposals ike_cert_prop_01;
certificate {
local-certificate Host-A;
}
}
gateway ike_cert_gw_01 {
ike-policy ike_cert_pol_01;
address 192.0.2.51;
external-interface ge-0/0/1.0;
}
[edit]
user@host# show security ipsec
proposal ipsec_prop_01 {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm 3des-cbc;
lifetime-seconds 300;
}
policy ipsec_pol_01 {
proposals ipsec_prop_01;
}
vpn ipsec_cert_vpn_01 {
bind-interface st0.1;
ike {
gateway ike_cert_gw_01;
ipsec-policy ipsec_pol_01;
}
}
If you are done configuring the device, enter commit from configuration mode.
181
Verification
IN THIS SECTION
If certificate validation is successful during IKE negotiation between peer devices, both IKE and IPsec
security associations (SAs) are established.
The IKE SA is UP if the certificate is valid. The IKE SA is DOWN and IPSEC SA is formed if the certificate
is revoked, only if revocation check is configured on the peer device
Purpose
Verify the IKE Phase 1 status.
Action
Enter the show security ike security-associations command from operational mode.
Purpose
Verify the IPsec Phase 2 status.
Action
Enter the show security ipsec security-associations command from operational mode.
IN THIS SECTION
Problem
If certificate validation fails during IKE negotiation between peer devices, check to make sure that the
peer’s certificate has not been revoked. A dynamic CA profile allows the local device to download the CRL
from the peer’s CA and check the revocation status of the peer’s certificate. To enable dynamic CA profiles,
the revocation-check crl option must be configured on a parent CA profile.
Solution
To check the revocation status of a peer’s certificate:
1. Identify the dynamic CA profile that will show the CRL for the peer device by entering the show security
pki crl command from operational mode.
CA profile: Root-CA
CRL version: V00000001
CRL issuer: C = us, O = example, CN = Root-CA
Effective date: 09- 9-2012 13:08
Next update: 09-21-2012 02:55
CA profile: Eng-CA
CRL version: V00000001
CRL issuer: C = us, O = example, CN = Eng-CA
Effective date: 08-22-2012 17:46
183
CA profile: Dev-CA
CRL version: V00000001
CRL issuer: C = us, O = example, CN = Dev-CA
Effective date: 09-14-2012 21:15
Next update: 09-26-2012 11:02
CA profile: dynamic-001
CRL version: V00000001
CRL issuer: C = us, O = example, CN = Sales-CA
Effective date: 09-14-2012 21:15
Next update: 09-26-2012 11:02
The CA profile dynamic-001 is automatically created on Host-A so that Host-A can download the CRL
from Host-B’s CA (Sales-CA) and check the revocation status of the peer’s certificate.
2. Display CRL information for the dynamic CA profile by entering the show security pki crl ca-profile
dynamic-001 detail command from operational mode.
Enter
CA profile: dynamic-001
CRL version: V00000001
CRL issuer: C = us, O = example, CN = Sub11
Effective date: 09-19-2012 17:29
Next update: 09-20-2012 01:49
Revocation List:
Serial number Revocation date
10647C84 09-19-2012 17:29 UTC
SEE ALSO
IN THIS SECTION
Overview | 184
Configuration | 184
Caveats | 185
Overview
When certificate-based authentication is used, IKEv2 packets can exceed the path MTU if multiple
certificates are transmitted. If the IKE message size exceeds the path MTU, the messages are fragmented
at the IP level. Some network equipment, such as NAT devices, does not allow IP fragments to pass through,
which prevents the establishment of IPsec tunnels.
Message Fragmentation
IKEv2 message fragmentation, as described in RFC 7383, Internet Key Exchange Protocol Version 2 (IKEv2)
Message Fragmentation, allows IKEv2 to operate in environments where IP fragments might be blocked
and peers would not be able to establish an IPsec security association (SA). IKEv2 fragmentation splits a
large IKEv2 message into a set of smaller ones so that there is no fragmentation at the IP level.
Fragmentation takes place before the original message is encrypted and authenticated, so that each
fragment is separately encrypted and authenticated. On the receiver, the fragments are collected, verified,
decrypted, and merged into the original message.
For IKEv2 fragmentation to occur, both VPN peers must indicate fragmentation support by including the
IKEV2_FRAGMENTATION_SUPPORTED notification payload in the IKE_SA_INIT exchange. If both peers
indicate fragmentation support, it is up to the initiator of the message exchange to determine whether or
not IKEv2 fragmentation is used.
On SRX Series devices, a maximum of 32 fragments are allowed per IKEv2 message. If the number of
IKEv2 message fragments to be sent or received exceeds 32, the fragments are dropped and the tunnel
is not established. Retransmission of individual message fragments is not supported
Configuration
On SRX Series devices, IKEv2 fragmentation is enabled by default for IPv4 and IPv6 messages. To disable
IKEv2 fragmentation, use the disable statement at the [edit security ike gateway gateway-name
185
fragmentation] hierarchy level. You can also use the size statement to configure the size of the packet at
which messages are fragmented; the packet size ranges from 500 to 1300 bytes. If size is not configured,
the default packet size is 576 bytes for IPv4 traffic and 1280 bytes for IPv6 traffic. An IKEv2 packet that
is larger than the configured packet size is fragmented.
After IKEv2 fragmentation is disabled or enabled or the packet fragment size is changed, the VPN tunnels
that are hosted on the IKE gateway are brought down and IKE and IPsec SAs are renegotiated.
Caveats
• SNMP.
SEE ALSO
IN THIS SECTION
Requirements | 185
Overview | 186
Configuration | 189
Verification | 202
This example shows how to configure a route-based IPsec VPN to allow data to be securely transferred
between a branch office and a corporate office.
Requirements
• SRX240 device
186
• SSG140 device
Overview
In this example, you configure a route-based VPN for a branch office in Chicago, Illinois, because you want
to conserve tunnel resources but still get granular restrictions on VPN traffic. Users in the Chicago office
will use the VPN to connect to their corporate headquarters in Sunnyvale, California.
In this example, you configure interfaces, an IPv4 default route, security zones, and address books. Then
you configure IKE Phase 1, IPsec Phase 2, a security policy, and TCP-MSS parameters. See
Table 22 on page 186 through Table 26 on page 188 for specific configuration parameters used in this
example.
Table 22: Interface, Static Route, Security Zone, and Address Book Information
ge-0/0/3.0 10.1.1.2/30
Table 22: Interface, Static Route, Security Zone, and Address Book Information (continued)
Address book entries sunnyvale • This address is for the trust zone’s
address book.
• The address for this address book
entry is 192.168.10.0/24.
The security policy permits traffic from the vpn-tr-chi • Match criteria:
trust zone to the vpn-chicago zone. • source-address sunnyvale
• destination-address chicago
• application any
• Action: permit
The security policy permits traffic from the vpn-chi-tr • Match criteria:
vpn-chicago zone to the trust zone. • source-address chicago
• destination-address sunnyvale
• application any
• Action: permit
Configuration
IN THIS SECTION
Configuring Interface, Static Route, Security Zone, and Address Book Information | 189
Configuring Interface, Static Route, Security Zone, and Address Book Information
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure interface, static route, security zone, and address book information:
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family inet address 192.168.10.1/24
user@host# set interfaces ge-0/0/3 unit 0 family inet address 10.1.1.2/30
user@host# set interfaces st0 unit 0 family inet address 10.11.11.10/24
[edit]
user@host# set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1
user@host# set routing-options static route 192.168.168.0/24 next-hop st0.0
[edit ]
user@host# edit security zones security-zone untrust
[edit]
user@host# edit security zones security-zone trust
9. Configure the address book entry for the trust security zone.
[edit]
user@host# edit security zones security-zone vpn-chicago
12. Configure the address book entry for the vpn-chicago zone.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
and show security zones commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 192.168.10.1/24;
}
}
}
ge-0/0/3 {
192
unit 0 {
family inet {
address 10.1.1.2/30
}
}
}
st0{
unit 0 {
family inet {
address 10.11.11.10/24
}
}
}
[edit]
user@host# show routing-options
static {
route 0.0.0.0/0 next-hop 10.1.1.1;
route 192.168.168.0/24 next-hop st0.0;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
}
interfaces {
ge-0/0/3.0;
}
}
security-zone trust {
address-book {
address sunnyvale 192.168.10.0/24;
}
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
193
ge-0/0/0.0;
}
}
security-zone vpn-chicago {
host-inbound-traffic {
address-book {
address chicago 192.168.168.0/24;
}
}
interfaces {
st0.0;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IKE
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IKE:
Results
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ike
proposal ike-phase1-proposal {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ike-phase1-policy {
proposals ike-phase1-proposal;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway gw-chicago {
ike-policy ike-phase1-policy;
address 10.2.2.2;
external-interface ge-0/0/3.0;
196
version v2-only;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# set security ipsec proposal ipsec-phase2-proposal
Results
198
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ipsec
proposal ipsec-phase2-proposal {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-128-cbc;
}
policy ipsec-phase2-policy {
perfect-forward-secrecy {
keys group2;
}
proposals ipsec-phase2-proposal;
}
vpn ipsec-vpn-chicago {
bind-interface st0.0;
ike {
gateway gw-chicago;
ipsec-policy ipsec-phase2-policy;
}
}
If you are done configuring the device, enter commit from configuration mode.
set security policies from-zone trust to-zone vpn-chicago policy vpn-tr-chi match source-address sunnyvale
set security policies from-zone trust to-zone vpn-chicago policy vpn-tr-chi match destination-address chicago
set security policies from-zone trust to-zone vpn-chicago policy vpn-tr-chi match application any
set security policies from-zone trust to-zone vpn-chicago policy vpn-tr-chi then permit
set security policies from-zone vpn-chicago to-zone trust policy vpn-chi-tr match source-address chicago
set security policies from-zone vpn-chicago to-zone trust policy vpn-chi-tr match destination-address sunnyvale
set security policies from-zone vpn-chicago to-zone trust policy vpn-chi-tr match application any
set security policies from-zone vpn-chicago to-zone trust policy vpn-chi-tr then permit
Step-by-Step Procedure
199
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Create the security policy to permit traffic from the trust zone to the vpn-chicago zone.
2. Create the security policy to permit traffic from the vpn-chicago zone to the trust zone.
Results
From configuration mode, confirm your configuration by entering the show security policies command.
If the output does not display the intended configuration, repeat the configuration instructions in this
example to correct it.
[edit]
user@host# show security policies
from-zone trust to-zone vpn-chicago {
policy vpn-tr-vpn {
match {
source-address sunnyvale;
destination-address chicago;
application any;
}
then {
permit;
}
}
}
from-zone vpn-chicago to-zone trust {
policy vpn-tr-vpn {
match {
200
source-address chicago;
destination-address sunnyvale;
application any;
}
then {
permit;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring TCP-MSS
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# set security flow tcp-mss ipsec-vpn mss 1350
Results
From configuration mode, confirm your configuration by entering the show security flow command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security flow
tcp-mss {
ipsec-vpn {
mss 1350;
201
}
}
If you are done configuring the device, enter commit from configuration mode.
To quickly configure this section of the example, copy the following commands, paste them into a text
file, remove any line breaks, change any details necessary to match your network configuration, copy and
paste the commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration
mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
Before starting the verification process, you need to send traffic from a host in the 192.168.10/24 network
to a host in the 192.168.168/24 network. For route-based VPNs, traffic can be initiated by the SRX Series
device through the tunnel. We recommend that when testing IPsec tunnels, test traffic be sent from a
separate device on one side of the VPN to a second device on the other side of the VPN. For example,
initiate a ping from 192.168.10.10 to 192.168.168.10.
From operational mode, enter the show security ike security-associations command. After obtaining an
index number from the command, use the show security ike security-associations index index_number
detail command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index detail command to get more information about the SA.
• State
• External interfaces (the interface must be the one that receives IKE packets).
The show security ike security-associations index 1 detail command lists additional information about the
SA with an index number of 1:
• Phase 1 lifetime
204
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
• Role information
Purpose
Verify the IPsec Phase 2 status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index index_number
detail command.
Virtual-system: Root
Local Gateway: 10.1.1.2, Remote Gateway: 10.2.2.2
Local Identity: ipv4_subnet(any:0,[0..7]=192.168.10.0/24)
Remote Identity: ipv4_subnet(any:0,[0..7]=192.168.168.0/24)
Version: IKEv2
DF-bit: clear
Meaning
The output from the show security ipsec security-associations command lists the following information:
• The ID number is 16384. Use this value with the show security ipsec security-associations index
command to get more information about this particular SA.
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
3363/ unlim value indicates that the Phase 2 lifetime expires in 3363 seconds, and that no lifesize has
been specified, which indicates that it is unlimited. Phase 2 lifetime can differ from Phase 1 lifetime,
because Phase 2 is not dependent on Phase 1 after the VPN is up.
• The IKEv2 allows connections from a version 2 peer and will initiate a version 2 negotiation.
The output from the show security ipsec security-associations index 16384 detail command lists the
following information:
• The local identity and remote identity make up the proxy ID for the SA.
A proxy ID mismatch is one of the most common causes for a Phase 2 failure. If no IPsec SA is listed,
confirm that Phase 2 proposals, including the proxy ID settings, are correct for both peers. For route-based
VPNs, the default proxy ID is local=0.0.0.0/0, remote=0.0.0.0/0, and service=any. Issues can occur with
multiple route-based VPNs from the same peer IP. In this case, a unique proxy ID for each IPsec SA must
be specified. For some third-party vendors, the proxy ID must be manually entered to match.
• Another common reason for Phase 2 failure is not specifying the ST interface binding. If IPsec cannot
complete, check the kmd log or set trace options.
Purpose
Review ESP and authentication header counters and errors for an IPsec SA.
206
Action
From operational mode, enter the show security ipsec statistics index index_number command, using the
index number of the VPN for which you want to see statistics.
ESP Statistics:
Encrypted bytes: 920
Decrypted bytes: 6208
Encrypted packets: 5
Decrypted packets: 87
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
ESP authentication failures: 0, ESP decryption failures: 0
Bad headers: 0, Bad trailers: 0
You can also use the show security ipsec statistics command to review statistics and errors for all SAs.
To clear all IPsec statistics, use the clear security ipsec statistics command.
Meaning
If you see packet loss issues across a VPN, you can run the show security ipsec statistics or show security
ipsec statistics detail command several times to confirm that the encrypted and decrypted packet counters
are incrementing. You should also check that the other error counters are incrementing.
Purpose
Verify the traffic flow across the VPN.
Action
You can use the ping command from the SRX Series device to test traffic flow to a remote host PC. Make
sure that you specify the source interface so that the route lookup is correct and the appropriate security
zones are referenced during policy lookup.
You can also use the ping command from the SSG Series device.
Meaning
If the ping command fails from the SRX Series or SSG Series device, there might be a problem with the
routing, security policies, end host, or encryption and decryption of ESP packets.
SEE ALSO
Example: Configuring the SRX Series for Pico Cell Provisioning with IKEv2
Configuration Payload
IN THIS SECTION
Requirements | 208
Overview | 208
Configuration | 213
Verification | 233
In networks where many devices are being deployed, managing the network needs to be simple. The IKEv2
configuration payload feature supports the provisioning of these devices without touching either the
device configuration or the SRX Series configuration. This example shows how to configure an SRX Series
to support pico cell provisioning using the IKEv2 configuration payload feature.
Requirements
• One RADIUS server configured with pico cell client provisioning information
Overview
In this example, an SRX Series uses the IKEv2 configuration payload feature to propagate provisioning
information to a series of pico cells. The pico cells ship from the factory with a standard configuration that
allows them to connect to the SRX Series, but the pico cell provisioning information is stored on an external
RADIUS server. The pico cells receive full provisioning information after establishing secure connections
with provisioning servers in a protected network. The IKEv2 configuration payload feature is supported
for IPv4 only.
Figure 16 on page 209 shows a topology in which the SRX Series supports pico cell provisioning using the
IKEv2 configuration payload feature.
209
Figure 16: SRX Series Support for Pico Cell Provisioning with IKEv2 Configuration Payload
Each pico cell in this topology initiates two IPsec VPNs: one for management and one for data. In this
example, management traffic uses the tunnel labeled OAM Tunnel, while the data traffic flows through
the tunnel labeled 3GPP Tunnel. Each tunnel supports connections with OAM and 3GPP provisioning
servers on separate, configurable networks, requiring separate routing instances and VPNs. This example
provides the IKE Phase 1 and Phase 2 options for establishing the OAM and 3GPP VPNs.
In this example, the SRX Series acts as the IKEv2 configuration payload server, acquiring provisioning
information from the RADIUS server and providing that information to the pico cell clients. The SRX Series
returns the provisioning information for each authorized client in the IKEv2 configuration payload during
tunnel negotiation. The SRX Series cannot be used as a client device.
Additionally, the SRX Series uses the IKEv2 configuration payload information to update the Traffic Selector
initiator (TSi) and Traffic Selector responder (TSr) values exchanged with the client during tunnel negotiation.
The configuration payload uses the TSi and TSr values that are configured on the SRX Series using the
proxy-identity statement at the [edit security ipsec vpn vpn-name ike] hierarchy level. The TSi and TSr
values define the network traffic for each VPN.
The intermediate router routes pico cell traffic to the appropriate interfaces on the SRX Series.
1. The pico cell initiates an IPsec tunnel with the SRX Series using the factory configuration.
2. The SRX Series authenticates the client using the client certificate information and the root certificate
of the CA that is enrolled in the SRX Series. After authentication, the SRX Series passes the IKE identity
information from the client certificate to the RADIUS server in an authorization request.
3. After authorizing the client, the RADIUS server responds to the SRX Series with the client provisioning
information:
4. The SRX Series returns the provisioning information in the IKEv2 configuration payload for each client
connection, and exchanges final TSi and TSr values with the pico cells. In this example, the SRX Series
provides the following TSi and TSr information for each VPN:
If the provisioning information supplied by the RADIUS server includes a subnet mask, the SRX Series
returns a second TSr value for the client connection that includes the IP subnet. This enables intrapeer
communication for devices on that subnet. In this example, intrapeer communication is enabled for the
subnet associated with the 3GPP VPN (13.13.0.0/16).
The IKEv2 configuration payload feature is supported only for point-to-multipoint secure tunnel (st0)
interfaces. For point-to-multipoint interfaces, the interfaces must be numbered, and the addresses
provided in the configuration payload must be within the subnetwork range of the associated
point-to-multipoint interface.
Table 27 on page 210 shows the Phase 1 and Phase 2 options configured on the SRX Series, including
information for establishing both OAM and 3GPP tunnels.
Table 27: Phase 1 and Phase 2 Options for the SRX Series
Option Value
IKE proposal:
Table 27: Phase 1 and Phase 2 Options for the SRX Series (continued)
Option Value
IKE policy:
Table 27: Phase 1 and Phase 2 Options for the SRX Series (continued)
Option Value
IPsec proposal:
Protocol ESP
IPsec policy:
Certificates are stored on the pico cells and the SRX Series.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Configuration
IN THIS SECTION
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
2. Configure interfaces.
[edit interfaces]
user@host# set ge-3/0/0 gigether-options redundant-parent reth0
user@host# set ge-3/0/1 gigether-options redundant-parent reth1
user@host# set ge-3/2/0 gigether-options redundant-parent reth2
user@host# set ge-3/2/1 gigether-options redundant-parent reth3
user@host# set ge-8/0/0 gigether-options redundant-parent reth0
user@host# set ge-8/0/1 gigether-options redundant-parent reth1
user@host# set ge-8/2/0 gigether-options redundant-parent reth2
user@host# set ge-8/2/1 gigether-options redundant-parent reth3
user@host# set reth0 redundant-ether-options redundancy-group 1
user@host# set reth0 unit 0 family inet address 2.2.2.1/24
user@host# set reth1 redundant-ether-options redundancy-group 1
user@host# set reth1 unit 0 family inet address 3.3.3.1/24
user@host# set reth2 redundant-ether-options redundancy-group 1
user@host# set reth2 unit 0 family inet address 192.168.2.20/24
user@host# set reth3 redundant-ether-options redundancy-group 1
user@host# set reth3 unit 0 family inet address 192.169.2.20/24
user@host# set st0 unit 0 multipoint
user@host# set st0 unit 0 family inet address 12.12.1.20/24
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet address 13.13.1.20/24
[edit routing-options]
user@host# set static route 1.1.0.0/16 next-hop 2.2.2.253
217
Results
From configuration mode, confirm your configuration by entering the show chassis cluster, show interfaces,
show security zones, show access profile radius_pico, show security ike, show security ipsec, show
routing-instances, and show security policies commands. If the output does not display the intended
configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@host# show chassis cluster
reth-count 5
node 0
node 1
redundancy-group 0{
node 0 priority 250;
node 1 priority 150;
redundancy-group 1 {
node 0 priority 220;
node 1 priority 149;
interface-monitor {
ge-3/0/0 weight 255;
ge-8/0/0 weight 255;
ge-3/0/1 weight 255;
ge-8/0/1 weight 255;
ge-3/2/0 weight 255;
ge-8/2/0 weight 255;
ge-3/2/1 weight 255;
220
}
reth0 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 2.2.2.1/24;
}
}
}
reth1 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 3.3.3.1/24;
}
}
}
reth2 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 192.168.2.20/24;
}
}
}
reth3 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 192.169.2.20/24;
}
}
}
st0 {
unit 0{
multipoint;
222
family inet {
address 12.12.1.20/24;
}
}
unit 1{
multipoint;
family inet {
address 13.13.1.20/24;
}
}
}
[edit]
user@host# show routing-options
static {
route 1.1.0.0/16 next-hop 2.2.2.253;
route 5.5.0.0/16 next-hop 2.2.2.253;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
reth1.0;
reth0.0;
}
}
security-zone oam-trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
reth2.0;
223
st0.0;
}
}
security-zone 3gpp-trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
reth3.0;
st0.1;
}
}
[edit]
user@host# show access profile radius_pico
authentication-order radius;
radius-server {
192.168.2.22 {
secret "$ABC123";
routing-instance VR-OAM;
}
}
[edit]
user@host# show security ike
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy IKE_POL {
proposals IKE_PROP;
certificate {
local-certificate example_SRX;
}
}
gateway OAM_GW {
ike-policy IKE_POL;
dynamic {
hostname .pico_cell.net;
224
ike-user-type group-ike-id;
}
local-identity hostname srx_series.example.net;
external-interface reth0.0;
aaa access-profile radius_pico;
version v2-only;
}
gateway 3GPP_GW {
ike-policy IKE_POL;
dynamic {
distinguished-name {
wildcard OU=pico_cell;
}
ike-user-type group-ike-id;
}
local-identity distinguished-name;
external-interface reth1.0;
aaa access-profile radius_pico;
version v2-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-256-cbc;
lifetime-seconds 300;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group5;
}
proposals IPSEC_PROP;
}
vpn OAM_VPN {
bind-interface st0.0;
ike {
gateway OAM_GW;
proxy-identity {
local 192.168.2.0/24;
remote 0.0.0.0/0;
}
ipsec-policy IPSEC_POL;
}
225
}
vpn 3GPP_VPN {
bind-interface st0.1;
ike {
gateway 3GPP_GW;
proxy-identity {
local 192.169.2.0/24;
remote 0.0.0.0/0;
}
ipsec-policy IPSEC_POL;
}
}
[edit]
user@host# show routing-instances
VR-OAM {
instance-type virtual-router;
interface reth2.0;
interface st0.0;
}
VR-3GPP {
instance-type virtual-router;
interface reth3.0;
interface st0.1;
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 1.1.1.253/24
user@host# set ge-0/0/2 unit 0 family inet address 5.5.5.253/24
user@host# set ge-0/0/14 unit 0 family inet address 3.3.3.253/24
user@host# set ge-0/0/15 unit 0 family inet address 2.2.2.253/24
[edit routing-options]
user@host# set static route 192.169.2.0/24 next-hop 2.2.2.1
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security zones, and show security policies commands. If the output does not display the intended
configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 1.1.1.253/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 5.5.5.253/24;
}
}
}
ge-0/0/14 {
unit 0 {
family inet {
address 3.3.3.253/24;
}
}
}
ge-0/0/15 {
unit 0 {
family inet {
address 2.2.2.253/24;
}
}
}
[edit]
user@host# show routing-options
static {
228
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
229
The pico cell information in this example is provided for reference. Detailed pico cell configuration
information is beyond the scope of this document. The pico cell factory configuration must include the
following information:
• Phase 1 and Phase 2 proposals that match the SRX Series configuration
The pico cells in this example use strongSwan open source software for IPsec-based VPN connections.
This information is used by the SRX Series for pico cell provisioning using the IKEv2 configuration payload
feature. In networks where many devices are being deployed, the pico cell configuration can be identical
except for the certificate (leftcert) and identity (leftid) information. The following sample configurations
illustrate factory settings.
conn %default
ikelifetime=8h
keylife=1h
rekeymargin=1m
keyingtries=1
keyexchange=ikev2
authby=pubkey
mobike=no
conn oam
left=%any
leftsourceip=%config
leftcert=/usr/local/etc/ipsec.d/certs/<cert_name>
leftid=pico1.pico_cell.net
leftfirewall=yes
reauth=yes
right=2.2.2.1/24
rightid=srx_series.example.net
rightsubnet=0.0.0.0/0 #peer net for proxy id
ike=aes256-sha-modp1536!
esp=aes256-sha-modp1536!
auto=add
conn 3gpp
left=%any
leftsourceip=%config
leftcert=/usr/local/etc/ipsec.d/certs/<cert_name>
230
conn %default
ikelifetime=8h
keylife=1h
rekeymargin=1m
keyingtries=1
keyexchange=ikev2
authby=pubkey
mobike=no
conn oam
left=%any
leftsourceip=%config
leftcert=/usr/local/etc/ipsec.d/certs/<cert_name>
leftid=pico2.pico_cell.net
leftfirewall=yes
#reauth=no
right=2.2.2.1/24
rightid=srx_series.example.net
rightsubnet=0.0.0.0/0 #peer net for proxy id
ike=aes256-sha-modp1536!
esp=aes256-sha-modp1536!
auto=add
conn 3gpp
left=%any
leftsourceip=%config
leftcert=/usr/local/etc/ipsec.d/certs/<cert_name>
leftid=”C=US, ST=CA, L=Sunnyvale, O=org, OU=pico_cell, CN=pico2”
leftfirewall=yes
#reauth=no
right=3.3.3.1/24
231
rightid=”OU=srx_series”
rightsubnet=0.0.0.0/0 #peer net for proxy id
ike=aes256-sha-modp1536!
esp=aes256-sha-modp1536!
auto=add
Step-by-Step Procedure
The RADIUS server information in this example is provided for reference. Complete RADIUS server
configuration information is beyond the scope of this document. The following information is returned to
the SRX Series by the RADIUS server:
• Framed-IP-Address
• Framed-IP-Netmask (optional)
In this example, the RADIUS server has separate provisioning information for the OAM and 3GPP
connections. The User-Name is taken from the client certificate information provided in the SRX Series
authorization request.
If the RADIUS server acquires client provisioning information from a DHCP server, the client identity
information relayed to the DHCP server by the RADIUS server must be consistent with the client IKE
identity information relayed to the RADIUS server by the SRX Series device. This ensures the continuity
of the client identity across the various protocols.
The communication channel between the SRX Series device and the RADIUS server is protected by a
RADIUS shared secret.
1. Review the RADIUS configuration for the Pico 1 OAM VPN. The RADIUS server has the following
information:
Sample RADIUS configuration earlier to Junos OS Releases 17.3R3, 17.4R2, 18.1R3, 18.2R2, 18.3R1,
and 18.1R3-S2:
Sample RADIUS configuration starting from Junos OS Releases 17.3R3, 17.4R2, 18.1R3, 18.2R2, 18.3R1,
and 18.1R3-S2:
In this case, the RADIUS server provides the default subnet mask (255.255.255.255), which blocks
intrapeer traffic.
2. Review the RADIUS configuration for the Pico 1 3GPP VPN. The RADIUS server has the following
information:
Sample RADIUS configuration earlier to Junos OS Release 17.3R4, 17.4R2, 18.1R3, 18.2R2, 18.3R1,
and 18.1R2-S3:
Sample RADIUS configuration starting from Junos OS Release 17.3R4, 17.4R2, 18.1R3, 18.2R2, 18.3R1,
and 18.1R2-S3:
In this case, the RADIUS server provides a subnet mask value (255.255.0.0), which enables intrapeer
traffic.
233
The clear-text password is hard-coded and is not configurable. Additionally, this example creates two
tunnels from the same client certificate by using different parts of the certificate for User-Name (IKE
identity) information.
Verification
IN THIS SECTION
Verifying the IKE Phase 1 Status for the SRX Series | 233
Purpose
Verify the IKE Phase 1 status.
Action
From operational mode on node 0, enter the show security ike security-associations command. After
obtaining an index number from the command, use the show security ike security-associations detail
command.
node0:
--------------------------------------------------------------------------
Index State Initiator cookie Responder cookie Mode Remote Address
553329718 UP 99919a471d1a5278 3be7c5a49172e6c2 IKEv2 1.1.1.1
1643848758 UP 9e31d4323195a195 4d142438106d4273 IKEv2 1.1.1.1
node0:
--------------------------------------------------------------------------
IKE peer 1.1.1.1, Index 553329718, Gateway Name: OAM_GW
Location: FPC 2, PIC 0, KMD-Instance 1
Role: Responder, State: UP
234
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs with pico cells
devices. If no SAs are listed, there was a problem with Phase 1 establishment. Check the IKE policy
parameters and external interface settings in your configuration. This example shows only the IKE Phase
1 SA for the OAM VPN; however, a separate IKE Phase 1 SA will be displayed showing the IKE Phase 1
parameters for the 3GPP VPN.
• Index—This value is unique for each IKE SA: you can use the show security ike security-associations
index detail command to get more information about the SA.
• Remote address—Verify that the local IP address is correct and that port 500 is being used for peer-to-peer
communication.
• External interfaces (the interface must be the one that sends IKE packets)
The show security ike security-associations command lists the following additional information about
security associations:
• Phase 1 lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
• Role information
Purpose
Verify the IPsec status.
Action
From operational mode on node 0, enter the show security ipsec security-associations command. After
obtaining an index number from the command, use the show security ipsec security-associations detail
command.
node0:
--------------------------------------------------------------------------
Total active tunnels: 2
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<214171651 ESP:aes-cbc-256/sha1 cc2869e2 3529/ - root 500 1.1.1.1
>214171651 ESP:aes-cbc-256/sha1 c0a54936 3529/ - root 500 1.1.1.1
<205520899 ESP:aes-cbc-256/sha1 84e49026 3521/ - root 500 1.1.1.1
>205520899 ESP:aes-cbc-256/sha1 c4ed1849 3521/ - root 500 1.1.1.1
node0:
--------------------------------------------------------------------------
Port: 500, Nego#: 0, Fail#: 0, Def-Del#: 0 Flag: 0x604a29
Last Tunnel Down Reason: SA not initiated
ID: 214171651 Virtual-system: root, VPN Name: 3GPP_VPN
Local Gateway: 3.3.3.1, Remote Gateway: 1.1.1.1
Local Identity: list(any:0,ipv4_subnet(any:0-65535,[0..7]=192.169.2.0/24),
ipv4_subnet(any:0-65535,[0..7]=13.13.0.0/16))
Remote Identity: ipv4(any:0,[0..3]=13.13.1.201)
DF-bit: clear
Bind-interface: st0.1
Meaning
This examples shows the active IKE Phase 2 SAs for Pico 1. If no SAs are listed, there was a problem with
Phase 2 establishment. Check the IPsec policy parameters in your configuration. For each Phase 2 SA
(OAM and 3GPP), information is provided in both the inbound and outboard direction. The output from
the show security ipsec security-associations command lists the following information:
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
3529/ value indicates that the Phase 2 lifetime expires in 3529 seconds, and that no lifesize has been
specified, which indicates that it is unlimited. The Phase 2 lifetime can differ from the Phase 1 lifetime,
because Phase 2 is not dependent on Phase 1 after the VPN is up.
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U indicates that monitoring is up, and D indicates that monitoring is down.
• The virtual system (vsys) is the root system, and it always lists 0.
The above output from the show security ipsec security-associations index index_id detail command lists
the following information:
238
• The local identity and remote identity make up the proxy ID for the SA.
A proxy ID mismatch is one of the most common causes for a Phase 2 failure. If no IPsec SA is listed,
confirm that Phase 2 proposals, including the proxy ID settings, are correct for both peers. For route-based
VPNs, the default proxy ID is local=0.0.0.0/0, remote=0.0.0.0/0, and service=any. Issues can occur with
multiple route-based VPNs from the same peer IP. In this case, a unique proxy ID for each IPsec SA must
be specified. For some third-party vendors, the proxy ID must be manually entered to match.
• Secure tunnel (st0.0 and st0.1) bindings to the OAM and 3GPP gateways.
SEE ALSO
This example shows how to bind a trusted CA server to an IKE policy of the peer.
Before you begin, you must have a list of all the trusted CAs you want to associate with the IKE policy of
the peer.
You can associate an IKE policy to a single trusted CA profile or a trusted CA group. For establishing a
secure connection, the IKE gateway uses the IKE policy to limit itself to the configured group of CAs
(ca-profiles) while validating the certificate. A certificate issued by any source other than the trusted CA
or trusted CA group is not validated. If there is a certificate validation request coming from an IKE policy
then the associated CA profile of the IKE policy will validate the certificate. If an IKE policy is not associated
with any CA then by default the certificate is validated by any one of the configured CA profiles.
In this example, a CA profile named root-ca is created and a root-ca-identity is associated to the profile.
You can configure a maximum of 20 CA profiles that you want to add to a trusted CA group. You cannot
commit your configuration if you configure more than 20 CA profiles in a trusted CA group.
[edit]
user@host# set security pki ca-profile root-ca ca-identity root-ca
239
[edit]
user@host# set security ike proposal ike_prop authentication-method rsa-signatures
3. Define the Diffie-Hellman group, authentication algorithm, an encryption algorithm for the IKE proposal.
[edit]
user@host# set security ike proposal ike_prop dh-group group2
user@host# set security ike proposal ike_prop authentication-algorithm sha-256
user@host# set security ike proposal ike_prop encryption-algorithm aes-256-cbc
4. Configure an IKE policy and associate the policy with the IKE proposal.
[edit]
user@host# set security ike policy ike_policy proposals ike_prop
[edit]
user@host# set security ike policy ike_policy certificate local-certificate SPOKE
[edit]
user@host# set security ike policy ike_policy certificate trusted-ca ca-profile root-ca
To view the CA profiles and the trusted CA groups configured on your device, run show security pki
command.
certificate {
local-certificate SPOKE;
trusted-ca ca-profile root-ca;
}
}
The show security ike command displays the CA profile group under the IKE policy named ike_policy and
the certificate associated with the IKE policy.
SEE ALSO
Release Description
18.1R1 Starting with Junos OS Release 18.1R1, validation of a configured IKE peer can be done
with a specified CA server or group of CA servers.
RELATED DOCUMENTATION
IN THIS SECTION
A secure tunnel interface (st0) is an internal interface that is used by route-based VPNs to route cleartext
traffic to an IPsec VPN tunnel.
241
This feature includes routing-instance support for route-based VPNs. In previous releases, when an st0
interface was put in a nondefault routing instance, the VPN tunnels on this interface did not work properly.
In the Junos OS 10.4 release, the support is enabled to place st0 interfaces in a routing instance, where
each unit is configured in point-to-point mode or multipoint mode. Therefore, VPN traffic now works
correctly in a nondefault VR. You can now configure different subunits of the st0 interface in different
routing instances. The following functions are supported for nondefault routing instances:
• Transit traffic
• Self-traffic
• VPN monitoring
• Hub-and-spoke VPNs
• Applications such as Application Layer Gateway (ALG), Intrusion Detection and Prevention (IDP), and
Unified Threat Management (UTM)
When you configure VPN on SRX Series devices, overlapping of IP addresses across virtual routers is
supported with the following limitations:
• An IKE external interface address cannot overlap with any other virtual router.
• An internal or trust interface address can overlap across any other virtual router.
242
• An st0 interface address cannot overlap in route-based VPN in point-to-multipoint tunnels such as
NHTB.
SEE ALSO
IN THIS SECTION
Requirements | 242
Overview | 242
Configuration | 243
Verification | 247
Requirements
Before you begin, configure the interfaces and assign the interfaces to security zones. See "Security Zones
Overview".
Overview
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.2/30
user@host# set interfaces ge-0/0/1 unit 0 family inet address 10.2.2.2/30
user@host# set interfaces st0 unit 0 family inet address 10.3.3.2/30
[edit routing-instances]
user@host# set VR1 instance-type virtual-router
user@host# set VR1 interface ge-0/0/1.0
user@host# set VR1 interface st0.0
Results
From configuration mode, confirm your configuration by entering the show security and show
routing-instances commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
246
}
user@host# show routing-instances
VR1 {
instance-type virtual-router;
interface ge-0/0/1.0;
interface st0.0;
routing-options {
static {
route 10.6.6.0/24 next-hop st0.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the st0 interface in the virtual router.
Action
From operational mode, enter the show interfaces st0.0 detail command. The number listed for routing
table corresponds to the order that the routing tables in the show route all command.
SEE ALSO
RELATED DOCUMENTATION
248
IN THIS SECTION
A traffic selector is an agreement between IKE peers to permit traffic through a VPN tunnel if the traffic
matches a specified pair of local and remote addresses. Only the traffic that conforms to a traffic selector
is permitted through the associated security association (SA).
IN THIS SECTION
A traffic selector is an agreement between IKE peers to permit traffic through a tunnel if the traffic matches
a specified pair of local and remote addresses. With this feature, you can define a traffic selector within
a specific route-based VPN, which can result in multiple Phase 2 IPsec security associations (SAs). Only
traffic that conforms to a traffic selector is permitted through the associated SA.
Starting with Junos OS Release 12.1X46-D10 and Junos OS Release 17.3R1, traffic selectors can be
configured with IKEv1 site-to-site VPNs. Starting with Junos OS Release 15.1X49-D100, traffic selectors
can be configured with IKEv2 site-to-site VPNs.
To configure a traffic selector, use the traffic-selector configuration statement at the [edit security ipsec
vpn vpn-name] hierarchy level. The traffic selector is defined with the mandatory local-ip ip-address/netmask
and remote-ip ip-address/netmask statements. The CLI operational command show security ipsec
security-association detail displays traffic selector information for SAs. The show security ipsec
security-association traffic-selector traffic-selector-name CLI command displays information for a specified
traffic selector.
For a given traffic selector, a single address and netmask is specified for the local and remote addresses.
Traffic selectors can be configured with IPv4 or IPv6 addresses. Address books cannot be used to specify
local or remote addresses.
Multiple traffic selectors can be configured for the same VPN. A maximum of 200 traffic selectors can be
configured for each VPN. Traffic selectors can be used with IPv4-in-IPv4, IPv4-in-IPv6, IPv6-in-IPv6, or
IPv6-in-IPv4 tunnel modes.
• VPN monitoring
• Different address families configured for the local and remote IP addresses in a traffic selector
Starting with Junos OS Release 15.1X49-D140, on all SRX Series devices and vSRX instances, when you
configure the traffic-selector with a remote address of 0::0 (IPv6), the following “error: configuration
check-out failed” message is displayed when performing the commit and the configuration checkout
fails.
• Point-to-multipoint interfaces
When there are multiple traffic selectors configured for a route-based VPN, clear traffic may enter a VPN
tunnel without matching a traffic selector if the IKE gateway external interface is moved to another virtual
router (VR). The software does not handle the multiple asynchronous interface events generated when
an IKE gateway external interface is moved to another VR. As a workaround, first deactivate the IPsec
250
VPN tunnel and commit the configuration without that tunnel before moving the IKE gateway external
interface to another VR.
Auto route insertion (ARI) automatically inserts a static route for the remote network and hosts protected
by a remote tunnel endpoint. A route is created based on the remote IP address configured in the
traffic-selector. In the case of traffic selectors, the configured remote address is inserted as a route in the
routing instance associated with the st0 interface that is bound to the VPN.
Routing protocols and traffic selector configuration are mutually exclusive ways of steering traffic to a
tunnel. ARI routes might conflict with routes that are populated through routing protocols. Therefore, you
should not configure routing protocols on an st0 interface that is bound to a VPN on which traffic selectors
are configured.
ARI is also known as reverse route insertion (RRI). ARI routes are inserted in the routing table as follows:
• If the establish-tunnels immediately option is configured at the [edit security ipsec vpn vpn-name]
hierarchy level, ARI routes are added after Phase 1 and Phase 2 negotiations are complete. Because a
route is not added until SAs are established, a failed negotiation does not result in traffic being routed
to a st0 interface that is down. An alternate or backup tunnel is used instead.
• If the establish-tunnels immediately option is not configured at the [edit security ipsec vpn vpn-name]
hierarchy level, ARI routes are added at configuration commit.
• An ARI route is not added if the configured or negotiated remote address in a traffic selector is 0.0.0.0/0
or 0::0.
The preference for the static ARI route is 5. This value is necessary to avoid conflict with similar routes
that might be added by a routing protocol process. There is no configuration of the metric for the static
ARI route.
The static ARI route cannot be leaked to other routing instances using the rib-groups configuration. Use
the import-policy configuration to leak static ARI routes.
IN THIS SECTION
Overlapping IP Addresses in Different VPNs Bound to the Same st0 Interface | 251
Overlapping IP Addresses in the Same VPN Bound to the Same st0 Interface | 251
[edit]
user@host# show security ipsec
vpn vpn-1 {
bind-interface st0.1;
}
vpn vpn-2 {
bind-interface st0.1;
}
Overlapping IP Addresses in the Same VPN Bound to the Same st0 Interface
When overlapping IP addresses are configured for multiple traffic selectors in the same VPN, the first
configured traffic selector that matches the packet determines the tunnel used for packet encryption.
In the following example, four traffic selectors (ts-1, ts-2, ts-3, and ts-4) are configured for the VPN (vpn-1),
which is bound to the point-to-point st0.1 interface:
[edit]
user@host# show security ipsec vpn vpn-1
vpn vpn-1 {
bind-interface st0.1;
traffic-selector ts-1 {
local-ip 192.168.5.0/24;
remote-ip 10.1.5.0/24;
}
traffic-selector ts-2 {
local-ip 192.168.0.0/16;
remote-ip 10.1.0.0/16;
}
traffic-selector ts-3 {
local-ip 172.16.0.0/16;
remote-ip 10.2.0.0/16;
}
traffic-selector ts-4 {
local-ip 172.16.5.0/24;
remote-ip 10.2.5.0/24;
}
}
252
A packet with a source address 192.168.5.5 and a destination address 10.1.5.10 matches traffic selectors
ts-1 and ts-2. However, traffic selector ts-1 is the first configured match and the tunnel associated with
ts-1 is used for packet encryption.
A packet with a source address 172.16.5.5 and a destination address 10.2.5.10 matches the traffic selectors
ts-3 and ts-4. However, traffic selector ts-3 is the first configured match and the tunnel associated with
traffic selector ts-3 is used for packet encryption.
In the following example, a traffic selector is configured in each of two VPNs. The traffic selectors are
configured with the same local subnetwork but different remote subnetworks.
[edit]
user@host# show security ipsec
vpn vpn-1 {
bind-interface st0.1;
traffic-selector ts-1 {
local-ip 192.168.1.0/24;
remote-ip 10.1.1.0/24;
}
}
vpn vpn-2 {
bind-interface st0.2;
traffic-selector ts-2 {
local-ip 192.168.1.0/24;
remote-ip 10.2.2.0/24;
}
}
Different remote subnetworks are configured in each traffic selector, therefore two different routes are
added to the routing table. Route lookup uses the st0 interface bound to the appropriate VPN.
In the following example, a traffic selector is configured in each of two VPNs. The traffic selectors are
configured with different remote subnetworks. The same local subnetwork is configured for each traffic
selector, but different netmask values are specified.
[edit]
user@host# show security ipsec
vpn vpn-1 {
253
bind-interface st0.1;
traffic-selector ts-1 {
local-ip 192.168.0.0/8;
remote-ip 10.1.1.0/24;
}
}
vpn vpn-2 {
bind-interface st0.2;
traffic-selector ts-2 {
local-ip 192.168.0.0/16;
remote-ip 10.2.2.0/24;
}
}
A different remote subnetwork is configured in each traffic selector, therefore two different routes are
added to the routing table. Route lookup uses the st0 interface bound to the appropriate VPN.
In the following example, traffic selectors are configured in each of two VPNs. The traffic selectors are
configured with different local and remote subnetworks.
[edit]
user@host# show security ipsec
vpn vpn-1 {
bind-interface st0.1;
traffic-selector ts-1 {
local-ip 192.168.1.0/24;
remote-ip 10.1.1.0/24;
}
}
vpn vpn-2 {
bind-interface st0.2;
traffic-selector ts-2 {
local-ip 172.16.1.0/24;
remote-ip 10.2.2.0/24;
}
}
In this case, the traffic selectors do not overlap. The remote subnetworks configured in the traffic selectors
are different, therefore two different routes are added to the routing table. Route lookup uses the st0
interface bound to the appropriate VPN.
In the following example, a traffic selector is configured in each of two VPNs. The traffic selectors are
configured with the same local subnetwork. The same remote subnetwork is configured for each traffic
selector, but different netmask values are specified.
254
[edit]
user@host# show security ipsec
vpn vpn-1 {
bind-interface st0.1;
traffic-selector ts-1 {
local-ip 192.168.1.0/24;
remote-ip 10.1.1.0/24;
}
}
vpn vpn-2 {
bind-interface st0.2;
traffic-selector ts-2 {
local-ip 192.168.1.0/24;
remote-ip 10.1.0.0/16;
}
}
Note that the remote-ip configured for ts-1 is 10.1.1.0/24 while the remote-ip configured for ts-2 is
10.1.0.0/16. For a packet destined to 10.1.1.1, route lookup selects the st0.1 interface as it has the longer
prefix match. The packet is encrypted based on the tunnel corresponding to the st0.1 interface.
In some cases, valid packets can be dropped due to traffic selector traffic enforcement. In the following
example, traffic selectors are configured in each of two VPNs. The traffic selectors are configured with
different local subnetworks. The same remote subnetwork is configured for each traffic selector, but
different netmask values are specified.
[edit]
user@host# show security ipsec
vpn vpn-1 {
bind-interface st0.1;
traffic-selector ts-1 {
local-ip 192.168.1.0/24;
remote-ip 10.1.1.0/24;
}
}
vpn vpn-2 {
bind-interface st0.2;
traffic-selector ts-2 {
local-ip 172.16.1.0/16;
remote-ip 10.1.0.0/16;
}
}
255
Two routes to 10.1.1.0 (10.1.1.0/24 via interface st0.1 and 10.1.0.0/16 via interface st0.2) are added to
the routing table. A packet sent from source 172.16.1.1 to destination 10.1.1.1 matches the routing table
entry for 10.1.1.0/24 via interface st0.1. However, the packet does not match the traffic specified by
traffic selector ts-1 and is dropped.
If multiple traffic selectors are configured with the same remote subnetwork and netmask, equal cost
routes are added to the routing table. This case is not supported with traffic selectors as the route chosen
cannot be predicted.
SEE ALSO
IN THIS SECTION
Requirements | 255
Overview | 255
Configuration | 256
Verification | 270
This example shows how to configure traffic selectors for a route-based VPN.
Requirements
Before you begin, read “Understanding Traffic Selectors in Route-Based VPNs” on page 248.
Overview
This example configures traffic selectors to allow traffic to flow between subnetworks on SRX_A and
subnetworks on SRX_B.
Table 28 on page 256 shows the traffic selectors for this example. Traffic selectors are configured under
Phase 2 options.
256
SRX_A SRX_B
Traffic Traffic
Selector Selector
Name Local IP Remote IP Name Local IP Remote IP
Flow-based processing of IPv6 traffic must be enabled with the mode flow-based configuration option at
the [edit security forwarding-options family inet6] hierarchy level.
Topology
In Figure 17 on page 256, an IPv6 VPN tunnel carries both IPv4 and IPv6 traffic between the SRX_A and
SRX_B devices. That is, the tunnel operates in both IPv4-in-IPv6 and IPv6-in-IPv6 tunnel modes.
Configuration
IN THIS SECTION
Configuring SRX_A
set security policies from-zone VPN to-zone trust policy 1 then permit
set security policies from-zone trust to-zone VPN policy 1 match source-address any
set security policies from-zone trust to-zone VPN policy 1 match destination-address any
set security policies from-zone trust to-zone VPN policy 1 match application any
set security policies from-zone trust to-zone VPN policy 1 then permit
set security policies default-policy deny -all
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:2000::1/64
[edit interfaces]
user@host# set st0 unit 1 family inet
user@host# set st0 unit 1 family inet6
[edit interfaces]
user@host# set ge-1/0/1 unit 0 family inet address 192.168.10.1/24
user@host# set ge-1/0/1 unit 0 family inet6 address 2001:db8:10::0/64
Results
From configuration mode, confirm your configuration by entering the show interfaces, show security ike,
show security ipsec, show security forwarding-options, show security zones, and show security policies
commands. If the output does not display the intended configuration, repeat the configuration instructions
in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet6 {
address 2001:db8:2000::1/64;
}
}
}
ge-1/0/1 {
unit 0 {
family inet {
address 192.168.10.1/24;
}
family inet6 {
address 10::1/64;
}
}
261
}
st0 {
unit 1 {
family inet;
family inet6;
}
}
[edit]
user@host# show security ike
proposal PSK-DH14-AES256-SHA256 {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy site-2-site {
mode main;
proposals PSK-DH14-AES256-SHA256;
pre-shared-key ascii-text
"$ABC123"; ## SECRET-DATA
}
gateway SRX_A-to-SRX_B {
ike-policy site-2-site;
address 192.168.20.2;
external-interface ge-0/0/1.0;
local-address 192.168.10.1;
}
[edit]
user@host# show security ipsec
proposal ESP-AES256-SHA256 {
protocol esp;
authentication-algorithm hmac-sha-256-128;
encryption-algorithm aes-256-cbc;
}
policy site-2-site {
perfect-forward-secrecy keys group14;
proposals ESP-AES256-SHA256;
}
vpn SRX_A-to-SRX_B {
bind-interface st0.1;
ike {
ipsec-policy site-2-site;
gateway SRX_A-to-SRX_B;
}
262
traffic-selector TS1-ipv6 {
local-ip 2001:db8:10::0/64;
remote-ip 2001:db8:20::0/64;
}
traffic-selector TS2-ipv4 {
local-ip 192.168.10.0/24;
remote-ip 192.168.0.0/16;
}
}
[edit]
user@host# show security forwarding-options
family {
inet6 {
mode flow-based;
}
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-1/0/1.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
}
interfaces {
ge-0/0/1.0;
}
}
security-zone VPN {
interfaces {
st0.1;
263
}
}
[edit]
user@host# show security policies
from-zone VPN to-zone trust {
policy 1 {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone trust to-zone VPN {
policy 1 {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring SRX_B
Step-by-Step Procedure
265
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:2000::2/64
[edit interfaces]
user@host# set st0 unit 1 family inet
user@host# set st0 unit 1 family inet6
[edit interfaces]
user@host# set ge-1/0/1 unit 0 family inet address 192.168.20.1/24
user@host# set ge-1/0/1 unit 0 family inet6 address 2001:db8:20::0/64
user@host# set ge-1/1/1 unit 0 family inet address 192.168.0.1/24
Results
From configuration mode, confirm your configuration by entering the show interfaces, show security ike,
show security ipsec, show security forwarding-options, show security zones, and show security policies
commands. If the output does not display the intended configuration, repeat the configuration instructions
in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet6 {
address 2001:db8:2000::2/64;
}
}
}
ge-1/0/1 {
unit 0 {
family inet {
address 192.168.20.1/24;
}
family inet6 {
address 2001:db8:20::0/64;
}
}
}
ge-1/1/1 {
unit 0 {
family inet {
address 192.168.0.1/24;
}
}
}
st0 {
unit 1 {
family inet;
268
family inet6;
}
}
[edit]
user@host# show security ike
proposal PSK-DH14-AES256-SHA256 {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy site-2-site {
mode main;
proposals PSK-DH14-AES256-SHA256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway SRX_B-to-SRX_A {
ike-policy site-2-site;
address 192.168.10.1;
external-interface ge-0/0/1.0;
local-address 192.168.20.2;
}
[edit]
user@host# show security ipsec
proposal ESP-AES256-SHA256 {
protocol esp;
authentication-algorithm hmac-sha-256-128;
encryption-algorithm aes-256-cbc;
}
policy site-2-site {
perfect-forward-secrecy keys group14;
proposals ESP-AES256-SHA256;
}
vpn SRX_B-to-SRX-A {
bind-interface st0.1;
ike {
ipsec-policy site-2-site;
gateway SRX_B-to-SRX_A;
}
traffic-selector TS1-ipv6 {
local-ip 2001:db8:20::0/64;
remote-ip 2001:db8:10::0/64;
}
traffic-selector TS2-ipv4 {
269
local-ip 192.168.0.0/16;
remote-ip 192.168.10.0/24;
}
}
[edit]
user@host# show security forwarding-options
family {
inet6 {
mode flow-based;
}
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-1/0/1.0;
ge-1/1/1.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
}
interfaces {
ge-0/0/1.0;
}
}
security-zone VPN {
interfaces {
st0.1;
}
}
[edit]
user@host# show security policies
270
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IPsec Phase 2 status.
Action
From operational mode, enter the show security ipsec security-associations command.
From operational mode, enter the show security ipsec security-associations detail command.
Meaning
The show security ipsec security-associations command lists all active IKE Phase 2 SAs. If no SAs are
listed, there was a problem with Phase 2 establishment. Check the IKE policy parameters and external
interface settings in your configuration. Phase 2 proposal parameters must match on the peer devices.
273
Purpose
Verify negotiated traffic selectors on the secure tunnel interface.
Action
From operational mode, enter the show security ipsec traffic-selector st0.1 command.
Source IP Destination IP
Interface Tunnel-id IKE-ID
2001:db8:10::-2001:db8:10::ffff:ffff:ffff:ffff
2001:db8:20::-2001:db8:20::ffff:ffff:ffff:ffff st0.1 268173313
2001:db8:2000::1
192.168.10.0-192.168.10.255 192.168.0.0-192.168.255.255
st0.1 268173316 2001:db8:2000::1
192.168.10.0-192.168.10.255 192.168.20.0-192.168.20.255
st0.1 268173317 2001:db8:2000::1
Verifying Routes
Purpose
Verify active routes
Action
From operational mode, enter the show route command.
Meaning
The show route command lists active entries in the routing tables. Routes to the remote IP address
configured in each traffic selector should be present with the correct st0 interface.
274
SEE ALSO
Release Description
15.1X49-D140 Starting with Junos OS Release 15.1X49-D140, on all SRX Series devices and vSRX
instances, when you configure the traffic-selector with a remote address of 0::0 (IPv6),
the following “error: configuration check-out failed” message is displayed when performing
the commit and the configuration checkout fails.
15.1X49-D100 Starting with Junos OS Release 15.1X49-D100, traffic selectors can be configured with
IKEv2 site-to-site VPNs.
12.1X46-D10 Starting with Junos OS Release 12.1X46-D10 and Junos OS Release 17.3R1, traffic
selectors can be configured with IKEv1 site-to-site VPNs.
RELATED DOCUMENTATION
IN THIS SECTION
Example: Configuring Basic AutoVPN with iBGP for IPv6 Traffic | 314
Example: Forwarding Traffic Through an AutoVPN Tunnel with Traffic Selectors | 482
Example: Ensuring VPN Tunnel Availability with AutoVPN and Traffic Selectors | 503
AutoVPN supports an IPsec VPN aggregator (known as a hub) that serves as a single termination point for
multiple tunnels to remote sites (known as spokes). AutoVPN allows network administrators to configure
a hub for current and future spokes.
Understanding AutoVPN
IN THIS SECTION
Authentication | 276
AutoVPN supports an IPsec VPN aggregator (known as a hub) that serves as a single termination point for
multiple tunnels to remote sites (known as spokes). AutoVPN allows network administrators to configure
a hub for current and future spokes. No configuration changes are required on the hub when spoke devices
are added or deleted, thus allowing administrators flexibility in managing large-scale network deployments.
AutoVPN is supported on route-based IPsec VPNs. For route-based VPNs, you configure a secure tunnel
(st0) interface and bind it to an IPsec VPN tunnel. st0 interfaces in AutoVPN networks can be configured
in one of two modes:
• Point-to-point mode—By default, an st0 interface configured at the [edit interfaces st0 unit x] hierarchy
level is in point-to-point mode. Starting with Junos OS Release 17.4R1, IPv6 address is supported on
AutoVPN.
276
• Point-to-multipoint mode—In this mode, the multipoint option is configured at the [edit interfaces st0
unit x] hierarchy level on both AutoVPN hub and spokes. st0 interfaces on the hub and spokes must be
numbered and the IP address configured on a spoke must exist in the hub's st0 interface subnetwork.
Table 29 on page 276 compares AutoVPN point-to-point and point-to-multipoint secure tunnel interface
modes.
Table 29: Comparison Between AutoVPN Point-to-Point and Point-to-Multipoint Secure Tunnel Modes
Allows spoke devices to be SRX Series or third-party This mode is only supported with SRX Series devices.
devices.
Authentication
The supported authentication for AutoVPN hubs and spokes is X.509 public key infrastructure (PKI)
certificates. The group IKE user type configured on the hub allows strings to be specified to match the
alternate subject field in spoke certificates. Partial matches for the subject fields in spoke certificates can
also be specified. See “Understanding Spoke Authentication in AutoVPN Deployments” on page 278.
AutoVPN is configured and managed on SRX Series devices using the CLI. Multiple AutoVPN hubs can be
configured on a single SRX Series device. The maximum number of spokes supported by a configured hub
is specific to the model of the SRX Series device.
• The RIP dynamic routing protocol is not supported with AutoVPN tunnels.
• Manual keys and Autokey IKE with preshared keys are not supported.
• Configuring static next-hop tunnel binding (NHTB) on the hub for spokes is not supported.
277
• The group IKE ID user type is not supported with an IP address as the IKE ID.
• When the group IKE ID user type is used, the IKE ID should not overlap with other IKE gateways
configured on the same external interface.
AutoVPN hubs can be configured with multiple traffic selectors to protect traffic to spokes. This feature
provides the following benefits:
• A single peer can establish multiple tunnels with the same VPN.
• A larger number of tunnels can be supported than with AutoVPN with dynamic routing protocols.
Starting with Junos OS Release 17.4R1, AutoVPN networks that use secure tunnel interfaces in
point-to-point mode support IPv6 addresses for traffic selectors and for IKE peers.
When the hub-to-spoke tunnel is established, the hub uses auto route insertion (ARI), known in previous
releases as reverse route insertion (RRI), to insert the route to the spoke prefix in its routing table. The ARI
route can then be imported to routing protocols and distributed to the core network.
AutoVPN with traffic selectors can be configured with the secure tunnel (st0) interface in point-to-point
mode for both IKEv1 and IKEv2.
Dynamic routing protocols are not supported on st0 interfaces when traffic selectors are configured.
Note the following caveats when configuring AutoVPN with traffic selectors:
• Dynamic routing protocols are not supported with traffic selectors with st0 interfaces in point-to-point
mode.
• Auto Discovery VPN and IKEv2 configuration payload cannot be configured with AutoVPN with traffic
selectors.
• Spokes can be non-SRX Series devices; however, note the following differences:
• In IKEv2, a non-SRX Series spoke can propose multiple traffic selectors in a single SA negotiation. This
is not supported on SRX Series devices and the negotiation is rejected.
• A non-SRX Series spoke can identify specific ports or protocols for traffic selector use. Ports and
protocols are not supported with traffic selectors on SRX Series devices and the negotiation is rejected.
278
SEE ALSO
IN THIS SECTION
In AutoVPN deployments, the hub and spoke devices must have valid X.509 PKI certificates loaded. You
can use the show security pki local-certificate detail command to display information about the certificates
loaded in a device.
This topic covers the configuration on the hub that allows spokes to authenticate and connect to the hub:
The group IKE ID feature allows a number of spoke devices to share an IKE configuration on the hub. The
certificate holder’s identification, in the subject or alternate subject fields in each spoke’s X.509 certificate,
must contain a part that is common to all spokes; the common part of the certificate identification is
specified for the IKE configuration on the hub.
For example, the IKE ID example.net can be configured on the hub to identify spokes with the hostnames
device1.example.net, device2.example.net, and device3.example.net. The certificate on each spoke must
contain a hostname identity in the alternate subject field with example.net in the right-most part of the
field; for example, device1.example.net. In this example, all spokes use this hostname identity in their IKE
ID payload. During IKE negotiation, the IKE ID from a spoke is used to match the common part of the peer
IKE identity configured on the hub. A valid certificate authenticates the spoke.
The common part of the certificate identification can be one of the following:
• A partial hostname in the right-most part of the alternate subject field of the certificate, for example
example.net.
279
• A partial e-mail address in the right-most part of the alternate subject field of the certificate, for example
@example.net.
• A container string, a set of wildcards, or both to match the subject fields of the certificate. The subject
fields contain details of the digital certificate holder in Abstract Syntax Notation One (ASN.1) distinguished
name (DN) format. Fields can include organization, organizational unit, country, locality, or common
name.
To configure a group IKE ID to match subject fields in certificates, you can specify the following types
of identity matches:
• Container—The hub authenticates the spoke’s IKE ID if the subject fields of the spoke’s certificate
exactly match the values configured on the hub. Multiple entries can be specified for each subject
field (for example, ou=eng,ou=sw). The order of values in the fields must match.
• Wildcard—The hub authenticates the spoke’s IKE ID if the subject fields of the spoke’s certificate
match the values configured on the hub. The wildcard match supports only one value per field (for
example, ou=eng or ou=sw but not ou=eng,ou=sw). The order of the fields is inconsequential.
The following example configures a group IKE ID with the partial hostname example.net in the alternate
subject field of the certificate.
[edit]
security {
ike {
policy common-cert-policy {
proposals common-ike-proposal;
certificate {
local-certificate hub-local-certificate;
}
}
gateway common-gateway-to-all-spoke-peer {
ike-policy common-cert-policy;
dynamic {
hostname example.net;
ike-user-type group-ike-id;
}
external-interface fe-0/0/2;
}
}
}
In this example, example.net is the common part of the hostname identification used for all spokes. All
X.509 certificates on the spokes must contain a hostname identity in the alternate subject field with
example.net in the right-most part. All spokes must use the hostname identity in their IKE ID payload.
280
The following example configures a group IKE ID with wildcards to match the values sales in the
organizational unit and example in the organization subject fields of the certificate.
[edit]
security {
ike {
policy common-cert-policy {
proposals common-ike-proposal;
certificate {
local-certificate hub-local-certificate;
}
}
gateway common-gateway-to-all-spoke-peer {
ike-policy common-cert-policy;
dynamic {
distinguished-name {
wildcard ou=sales,o=example;
}
ike-user-type group-ike-id;
}
external-interface fe-0/0/2;
}
}
}
In this example, the fields ou=sales,o=example are the common part of the subject field in the certificates
expected from the spokes. During IKE negotiation, if a spoke presents a certificate with the subject fields
cn=alice,ou=sales,o=example in its certificate, authentication succeeds and the tunnel is established. If a
spoke presents a certificate with the subject fields cn=thomas,ou=engineer,o=example in its certificate,
the certificate is rejected by the hub as the organization unit should be sales.
To exclude a particular spoke from connecting to the hub, the certificate for that spoke must be revoked.
The hub needs to retrieve the latest certificate revocation list (CRL) from the CA that contains the serial
number of the revoked certificate. The hub will then refuse a VPN connection from the revoked spoke.
Until the latest CRL is available in the hub, the hub might continue to establish a tunnel from the revoked
spoke. For more information, see “Understanding Online Certificate Status Protocol and Certificate
Revocation Lists” on page 1232 and “Understanding Certificate Authority Profiles” on page 1208.
SEE ALSO
The following steps describe the basic tasks for configuring AutoVPN on hub and spoke devices. The
AutoVPN hub is configured once for all current and new spokes.
4. Configure an IKE gateway with a group IKE ID that is common to all spokes.
3. Configure an IKE policy to match the IKE policy configured on the hub.
4. Configure an IKE gateway with an ID to match the group IKE ID configured on the hub.
5. Configure an IPsec policy to match the IPsec policy configured on the hub.
SEE ALSO
IN THIS SECTION
Requirements | 282
Overview | 282
Configuration | 285
Verification | 311
This example shows how to configure an AutoVPN hub to act as a single termination point, and then
configure two spokes to act as tunnels to remote sites. This example configures iBGP to forward packets
through the VPN tunnels.
Requirements
• Obtain the address of the certificate authority (CA) and the information they require (such as the challenge
password) when you submit requests for local certificates.
You should be familiar with the dynamic routing protocol that is used to forward packets through the VPN
tunnels. For more information about specific requirements for a dynamic routing protocol, see the Routing
Protocols Overview.
Overview
This example shows the configuration of an AutoVPN hub and the subsequent configurations of two
spokes.
In this example, the first step is to enroll digital certificates in each device using the Simple Certificate
Enrollment Protocol (SCEP). The certificates for the spokes contain the organizational unit (OU) value
“SLT” in the subject field; the hub is configured with a group IKE ID to match the value “SLT” in the OU
field.
283
The spokes establish IPsec VPN connections to the hub, which allows them to communicate with each
other as well as access resources on the hub. Phase 1 and Phase 2 IKE tunnel options configured on the
AutoVPN hub and all spokes must have the same values. Table 30 on page 283 shows the options used in
this example.
Table 30: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Configurations
Option Value
IKE proposal:
IKE policy:
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 31 on page 283 shows the options configured on the hub and on all spokes.
IKE gateway:
284
Table 31: AutoVPN Configuration for Hub and All Spokes (continued)
Remote IKE ID Distinguished name (DN) on the spoke’s DN on the hub’s certificate
certificate with the string SLT in the
organizational unit (OU) field
Spoke 2: ge-0/0/1.0
VPN:
Table 32 on page 284 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Topology
Figure 18 on page 285 shows the SRX Series devices to be configured for AutoVPN in this example.
285
60.60.60.0/24 70.70.70.0/24
Trust Trust
zone zone
fe-0/0/4.0 fe-0/0/4.0
60.60.60.1/24 70.70.70.1/24
st0.0 st0.0
Spoke 1 Spoke 2
10.10.10.2/24 10.10.10.3/24
fe-0/0/1.0 ge-0/0/1.0
2.2.2.1/30 3.3.3.1/30
Internet
Untrust
zone
ge-0/0/1.0
1.1.1.1/30
st0.0
Hub 10.10.10.1/24
CA server ge-0/0/3.0
50.50.50.1/24
g039002
Trust
zone
50.50.50.0/24
Configuration
IN THIS SECTION
The first section describes how to obtain CA and local certificates online using the Simple Certificate
Enrollment Protocol (SCEP) on the hub and spoke devices.
Step-by-Step Procedure
To enroll digital certificates with SCEP on the hub:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 1.1.1.1 subject
DC=example.net,CN=hub,OU=SLT,O=example,L=Bangalore,ST=KA,C=IN challenge-password <password>
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
Locality: Bangalore, Common name: hub, Domain component: example.net
Subject string:
C=IN, DC=example.net, ST=KA, L=Bangalore, O=example, OU=SLT, CN=hub
Alternate subject: "[email protected]", example.net, 1.1.1.1
Validity:
Not before: 11- 6-2012 09:39
Not after: 11- 6-2013 09:49
Public key algorithm: rsaEncryption(1024 bits)
30:81:89:02:81:81:00:c9:c9:cc:30:b6:7a:86:12:89:b5:18:b3:76
01:2d:cc:65:a8:a8:42:78:cd:d0:9a:a2:c0:aa:c4:bd:da:af:88:f3
2a:78:1f:0a:58:e6:11:2c:81:8f:0e:7c:de:86:fc:48:4c:28:5b:8b
34:91:ff:2e:91:e7:b5:bd:79:12:de:39:46:d9:fb:5c:91:41:d1:da
90:f5:09:00:9b:90:07:9d:50:92:7d:ff:fb:3f:3c:bc:34:e7:e3:c8
ea:cb:99:18:b4:b6:1d:a8:99:d3:36:b9:1b:36:ef:3e:a1:fd:48:82
6a:da:22:07:da:e0:d2:55:ef:57:be:09:7a:0e:17:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
e1:f7:a1:a6:1e:c3:97:69:a5:07:9b:09:14:1a:c7:ae:09:f1:f6:35 (sha1)
a0:02:fa:8d:5c:63:e5:6d:f7:f4:78:56:ac:4e:b2:c4 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 1:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 2.2.2.1 subject
DC=example.net,CN=spoke1,OU=SLT,O=example,L=Mysore,ST=KA,C=IN challenge-password <password>
Fingerprint:
b6:24:2a:0e:96:5d:8c:4a:11:f3:5a:24:89:7c:df:ea:d5:c0:80:56 (sha1)
31:58:7f:15:bb:d4:66:b8:76:1a:42:4a:8a:16:b3:a9 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 2:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 3.3.3.1 subject
DC=example.net,CN=spoke2,OU=SLT,O=example,L=Tumkur,ST=KA,C=IN challenge-password <password>
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 1.1.1.1/30
user@host# set ge-0/0/3 unit 0 family inet address 50.50.50.1/24
user@host# set st0 unit 0 multipoint
user@host# set st0 unit 0 family inet address 10.10.10.1/24
[edit policy-options]
user@host# set policy-statement lan_nw from interface ge-0/0/3.0
user@host# set policy-statement lan_nw then accept
user@host# set policy-statement bgp_nh_self term 1 from protocol bgp
user@host# set policy-statement bgp_nh_self term 1 then next-hop self
user@host# set policy-statement bgp_nh_self term 1 then accept
[edit routing-options]
user@host# set static route 2.2.2.0/30 next-hop 1.1.1.2
293
5. Configure zones.
294
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 1.1.1.1/30;
}
}
}
ge-0/0/3 {
unit 0 {
295
family inet {
address 50.50.50.1/24;
}
}
}
st0 {
unit 0 {
multipoint;
family inet {
address 10.10.10.1/24;
}
}
}
[edit]
user@host# show policy-options
policy-statement bgp_nh_self {
term 1 {
from protocol bgp;
then {
next-hop self;
accept;
}
}
}
policy-statement lan_nw {
from interface ge-0/0/3.0;
then accept;
}
[edit]
user@host# show protocols
bgp {
group ibgp {
type internal;
local-address 10.10.10.1;
export lan_nw;
cluster 1.2.3.4;
peer-as 10;
allow 10.10.10.0/24;
export bgp_nh_self;
}
}
[edit]
user@host# show routing-options
static {
296
bind-interface st0.0;
ike {
gateway hub-to-spoke-gw;
ipsec-policy vpn-policy1;
}
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
st0.0;
ge-0/0/1.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/3.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ca-profile1 {
ca-identity ca-profile1;
298
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 1:
1. Configure interfaces.
[edit interfaces]
user@host# set fe-0/0/1 unit 0 family inet address 2.2.2.1/30
user@host# set fe-0/0/4 unit 0 family inet address 60.60.60.1/24
user@host# set st0 unit 0 multipoint
user@host# set st0 unit 0 family inet address 10.10.10.2/24
[edit policy-options]
user@host# set policy-statement lan_nw from interface fe-0/0/4.0
user@host# set policy-statement lan_nw then accept
[edit routing-options]
user@host# set static route 1.1.1.0/30 next-hop 2.2.2.2
user@host# set autonomous-system 10
5. Configure zones.
301
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
fe-0/0/1 {
unit 0 {
family inet {
address 2.2.2.1/30;
}
}
}
fe-0/0/4 {
unit 0 {
302
family inet {
address 60.60.60.1/24;
}
}
}
st0 {
unit 0 {
multipoint;
family inet {
address 10.10.10.2/24;
}
}
}
[edit]
user@host# show policy-options
policy-statement lan_nw {
from interface fe-0/0/4.0;
then accept;
}
[edit]
user@host# show protocols
bgp {
group ibgp {
type internal;
local-address 10.10.10.2;
export lan_nw;
neighbor 10.10.10.1;
}
}
[edit]
user@host# show routing-options
static {
route 1.1.1.0/30 next-hop 2.2.2.2;
}
autonomous-system 10;
[edit]
user@host# show security ike
proposal ike-proposal {
authentication-method rsa-signatures;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ike-policy1 {
303
mode main;
proposals ike-proposal;
certificate {
local-certificate Local1;
}
}
gateway spoke-to-hub-gw {
ike-policy ike-policy1;
address 1.1.1.1;
local-identity distinguished-name;
remote-identity distinguished-name;
external-interface fe-0/0/1.0;
}
[edit]
user@host# show security ipsec
proposal ipsec-proposal {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm des-cbc;
}
policy vpn-policy1 {
perfect-forward-secrecy {
keys group14;
}
proposals ipsec-proposal;
}
vpn spoke-to-hub {
bind-interface st0.0;
ike {
gateway spoke-to-hub-gw;
ipsec-policy vpn-policy1;
}
establish-tunnels immediately;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
304
}
interfaces {
fe-0/0/1.0;
st0.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
fe-0/0/4.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ca-profile1 {
ca-identity ca-profile1;
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 2:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 3.3.3.1/30
user@host# set fe-0/0/4 unit 0 family inet address 70.70.70.1/24
user@host# set st0 unit 0 multipoint
user@host# set st0 unit 0 family inet address 10.10.10.3/24
[edit policy-options]
user@host# set policy-statement lan_nw from interface fe-0/0/4.0
user@host# set policy-statement lan_nw then accept
[edit routing-options]
user@host# set static route 1.1.1.0/30 next-hop 3.3.3.2
user@host# set autonomous-system 10
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 3.3.3.1/30;
}
}
}
fe-0/0/4 {
unit 0 {
family inet {
address 70.70.70.1/24;
}
}
}
st0 {
unit 0 {
multipoint;
family inet {
address 10.10.10.3/24;
}
}
}
[edit]
user@host# show policy-options
policy-statement lan_nw {
from interface fe-0/0/4.0;
then accept;
}
309
[edit]
user@host# show protocols
bgp {
group ibgp {
type internal;
local-address 10.10.10.3;
export lan_nw;
neighbor 10.10.10.1;
}
}
[edit]
user@host# show routing-options
static {
route 1.1.1.0/30 next-hop 3.3.3.2;
}
autonomous-system 10;
[edit]
user@host# show security ike
proposal ike-proposal {
authentication-method rsa-signatures;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ike-policy1 {
mode main;
proposals ike-proposal;
certificate {
local-certificate Local1;
}
}
gateway spoke-to-hub-gw {
ike-policy ike-policy1;
address 1.1.1.1;
local-identity distinguished-name;
remote-identity distinguished-name;
external-interface ge-0/0/1.0;
}
[edit]
user@host# show security ipsec
proposal ipsec-proposal {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm des-cbc;
310
}
policy vpn-policy1 {
perfect-forward-secrecy {
keys group14;
}
proposals ipsec-proposal;
}
vpn spoke-to-hub {
bind-interface st0.0;
ike {
gateway spoke-to-hub-gw;
ipsec-policy vpn-policy1;
}
establish-tunnels immediately;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
st0.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
fe-0/0/4.0;
}
}
311
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ca-profile1 {
ca-identity ca-profile1;
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
From operational mode, enter the show security ike security-associations command.
312
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration. Phase 1 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec Phase 2 status.
Action
Meaning
The show security ipsec security-associations command lists all active IKE Phase 2 SAs. If no SAs are
listed, there was a problem with Phase 2 establishment. Check the IKE policy parameters and external
interface settings in your configuration. Phase 2 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec next-hop tunnels.
313
Action
From operational mode, enter the show security ipsec next-hop-tunnels command.
Meaning
The next-hop gateways are the IP addresses for the st0 interfaces of the spokes. The next hop should be
associated with the correct IPsec VPN name.
Verifying BGP
Purpose
Verify that BGP references the IP addresses for the st0 interfaces of the spokes.
Action
Purpose
Verify that routes to the spokes have been learned.
314
Action
SEE ALSO
IN THIS SECTION
Requirements | 315
Overview | 315
Configuration | 318
Verification | 347
315
This example shows how to configure an AutoVPN hub to act as a single termination point, and then
configure two spokes to act as tunnels to remote sites. This example configures AutoVPN for IPv6
environment using iBGP to forward packets through the VPN tunnels.
Requirements
• Obtain the address of the certificate authority (CA) and the information they require (such as the challenge
password) when you submit requests for local certificates.
You should be familiar with the dynamic routing protocol that is used to forward packets through the VPN
tunnels. For more information about specific requirements for a dynamic routing protocol, see the Routing
Protocols Overview.
Overview
This example shows the configuration of an AutoVPN hub and the subsequent configurations of two
spokes .
In this example, the first step is to enroll digital certificates in each device using the Simple Certificate
Enrollment Protocol (SCEP). The certificates for the spokes contain the organizational unit (OU) value
“SLT” in the subject field; the hub is configured with a group IKE ID to match the value “SLT” in the OU
field.
The spokes establish IPsec VPN connections to the hub, which allows them to communicate with each
other as well as access resources on the hub. Phase 1 and Phase 2 IKE tunnel options configured on the
AutoVPN hub and all spokes must have the same values. Table 33 on page 315 shows the options used in
this example.
Table 33: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Configurations
Option Value
IKE proposal:
Table 33: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Configurations (continued)
Option Value
IKE policy:
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 34 on page 316 shows the options configured on the hub and on all spokes.
IKE gateway:
Remote IKE ID Distinguished name (DN) on the spoke’s DN on the hub’s certificate
certificate with the string SLT in the
organizational unit (OU) field
Spoke 2: ge-0/0/0.0
VPN:
317
Table 34: AutoVPN Configuration for Hub and All Spokes (continued)
Table 35 on page 317 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Topology
Figure 19 on page 318 shows the SRX Series devices to be configured for AutoVPN in this example.
318
Trust Zone
2001:db8:1000::1/64
ge-0/0/1.0
2001:db8:1000::2/64
st0.1
Hub
2001:db8:7000::1/64
ge-0/0/0.0
2001:db8:2000::1/64
Untrust Zone
INTERNET
2001:db8:1710:f00::2
CA Server
ge-0/0/0.0 ge-0/0/0.0
2001:db8:3000::2/64 2001:db8:5000::2/64
st0.1 st0.1
Spoke 1 Spoke 2
2001:db8:7000::2/64 2001:db8:7000::3/64
ge-0/0/1.0 ge-0/0/1.0
2001:db8:4000::1/64 2001:db8:6000::1/64
2001:db8:4000::2/64 2001:db8:6000::2/64
g200267
Trust Zone Trust Zone
Configuration
IN THIS SECTION
The first section describes how to obtain CA and local certificates online using the Simple Certificate
Enrollment Protocol (SCEP) on the hub and spoke devices.
Step-by-Step Procedure
To enroll digital certificates with SCEP on the hub:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url
http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 1.1.1.1 subject
DC=example.net,CN=hub,OU=SLT,O=example,L=Bangalore,ST=KA,C=IN challenge-password <password>
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 1:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url
http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
321
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 2.2.2.1 subject
DC=example.net,CN=spoke1,OU=SLT,O=example,L=Mysore,ST=KA,C=IN challenge-password <password>
e4:24:1a:19:0d:14:2c:4b:94:a4:04:91:3f:cb:ef:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
b6:24:2a:0e:96:5d:8c:4a:11:f3:5a:24:89:7c:df:ea:d5:c0:80:56 (sha1)
31:58:7f:15:bb:d4:66:b8:76:1a:42:4a:8a:16:b3:a9 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 2:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url
http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 3.3.3.1 subject
DC=example.net,CN=spoke2,OU=SLT,O=example,L=Tumkur,ST=KA,C=IN challenge-password <password>
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
324
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet6 address 2001:db8:2000::1/64
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:1000::2/64
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet6 address 2001:db8:7000::1/64
[edit policy-options]
user@host# set policy-statement ibgp from interface ge-0/0/1.0
user@host# set policy-statement ibgp then accept
user@host# set policy-statement load_balance then load-balance per-packet
326
[edit routing-options]
user@host# set rib inet6.0 static route 2001:db8:3000::/64 next-hop 2001:db8:2000::2
user@host# set rib inet6.0 static route 2001:db8:5000::/64 next-hop 2001:db8:2000::2
user@host# set autonomous-system 100
user@host# set forwarding-table export load_balance
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet6 {
address 2001:db8:2000::1/64;
}
}
}
ge-0/0/1 {
unit 0 {
family inet6 {
address 2001:db8:1000::2/64;
}
}
}
st0 {
unit 1{
multipoint;
family inet6 {
address 2001:db8:7000::1/64;
}
}
}
[edit]
user@host# show policy-options
policy-statement ibgp {
from interface ge-0/0/1.0;
then accept;
}
policy-statement load_balance {
then {
329
load-balance per-packet;
}
}
[edit]
user@host# show protocols
bgp {
traceoptions {
file bgp;
flag all;
}
group ibgp {
type internal;
local-address 2001:db8:9000::1;
export ibgp;
cluster 1.2.3.4;
peer-as 100;
multipath;
allow 2001:db8:9000::/64;
}
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route route 2001:db8:3000::/64 next-hop 2001:db8:2000::2;
route 2001:db8:5000::/64 next-hop 2001:db8:2000::2;
}
}
[edit]
user@host# show security ike
traceoptions {
file ik;
flag all;
}
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group19;
authentication-algorithm sha-384;
encryption-algorithm aes-256-cbc;
lifetime-seconds 6000;
}
policy IKE_POL {
mode main;
proposals IKE_PROP;
330
certificate {
local-certificate HUB;
}
}
gateway IKE_GWA_1 {
ike-policy IKE_POL;
dynamic {
distinguished-name {
wildcard OU=SLT;
}
}
dead-peer-detection {
always-send;
interval 10;
threshold 3;
}
local-identity distinguished-name;
external-interface ge-0/0/0;
version v1-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
encryption-algorithm aes-256-gcm;
lifetime-seconds 3000;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group19;
}
proposals IPSEC_PROP;
}
vpn IPSEC_VPNA_1 {
bind-interface st0.1;
ike {
gateway IKE_GWA_1;
ipsec-policy IPSEC_POL;
}
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
331
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/1.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/0.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ROOT-CA {
ca-identity ROOT-CA;
enrollment {
url http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll;
retry 5;
retry-interval 0;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
332
Configuring Spoke 1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 1:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet6 address 2001:db8:3000::2/64
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:4000::1/64
user@host# set st0 unit 1 family inet6 address 2001:db8:7000::2/64
[edit policy-options]
user@host# set policy-statement ibgp from interface ge-0/0/1.0
user@host# set policy-statement ibgp then accept
[edit routing-options]
user@host# set rib inet6.0 static route 2001:db8:2000::/64 next-hop 2001:db8:3000::1
user@host# set autonomous-system 100
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
336
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet6 {
address 2001:db8:3000::2/64;
}
}
}
ge-0/0/1 {
unit 0 {
family inet6 {
address 2001:db8:4000::1/64;
}
}
}
st0 {
unit 1{
family inet6 {
address 2001:db8:7000::2/64;
}
}
}
[edit]
user@host# show policy-options
policy-statement ibgp {
from interface ge-0/0/1.0;
then accept;
}
[edit]
user@host# show protocols
bgp {
traceoptions {
file bgp;
flag all;
}
group ibgp {
type internal;
local-address 2001:db8:9000::2;
export ibgp;
peer-as 100;
neighbor 2001:db8:9000::1;
337
}
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route route 2001:db8:2000::/64 next-hop 2001:db8:3000::1;
}
}
[edit]
user@host# show security ike
traceoptions {
file ik;
flag all;
}
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group19;
authentication-algorithm sha-384;
encryption-algorithm aes-256-cbc;
lifetime-seconds 6000;
}
policy IKE_POL {
mode main;
proposals IKE_PROP;
certificate {
local-certificate SPOKE1;
}
}
gateway IKE_GWA_SPOKE1 {
ike-policy IKE_POL;
dynamic {
distinguished-name {
wildcard OU=SLT;
}
}
dead-peer-detection {
always-send;
interval 10;
threshold 3;
}
local-identity distinguished-name;
external-interface ge-0/0/0;
version v1-only;
338
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
encryption-algorithm aes-256-gcm;
lifetime-seconds 3000;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group19;
}
proposals IPSEC_PROP;
}
vpn IPSEC_VPNA_SPOKE_1 {
bind-interface st0.1;
ike {
gateway IKE_GWA_SPOKE_1;
ipsec-policy IPSEC_POL;
}
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/1.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
339
}
}
interfaces {
ge-0/0/0.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ROOT-CA {
ca-identity ROOT-CA;
enrollment {
url http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll;
retry 5;
retry-interval 0;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 2:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet6 address 2001:db8:5000::2/64
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:6000::1/64
user@host# set st0 unit 1 family inet6 address 2001:db8:7000::3/64
[edit policy-options]
user@host# set policy-statement ibgp from interface ge-0/0/1.0
user@host# set policy-statement ibgp then accept
[edit routing-options]
user@host# set rib inet6.0 static route 2001:db8:2000::/64 next-hop 2001:db8:5000::1
user@host# set autonomous-system 100
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet6 {
address 2001:db8:5000::2/64;
}
}
}
ge-0/0/1 {
344
unit 0 {
family inet6 {
address 2001:db8:6000::1/64;
}
}
}
st0 {
unit 1{
family inet6 {
address 2001:db8:7000::3/64;
}
}
}
[edit]
user@host# show policy-options
policy-statement ibgp {
from interface ge-0/0/1.0;
then accept;
}
[edit]
user@host# show protocols
bgp {
traceoptions {
file bgp;
flag all;
}
group ibgp {
type internal;
local-address 2001:db8:9000::3;
export ibgp;
peer-as 100;
neighbor 2001:db8:9000::1;
}
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route route 2001:db8:2000::/64 next-hop 2001:db8:5000::1;
}
}
[edit]
user@host# show security ike
traceoptions {
345
file ik;
flag all;
}
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group19;
authentication-algorithm sha-384;
encryption-algorithm aes-256-cbc;
lifetime-seconds 6000;
}
policy IKE_POL {
mode main;
proposals IKE_PROP;
certificate {
local-certificate SPOKE2;
}
}
gateway IKE_GWA_SPOKE2 {
ike-policy IKE_POL;
dynamic {
distinguished-name {
wildcard OU=SLT;
}
}
dead-peer-detection {
always-send;
interval 10;
threshold 3;
}
local-identity distinguished-name;
external-interface ge-0/0/0;
version v1-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
encryption-algorithm aes-256-gcm;
lifetime-seconds 3000;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group19;
}
346
proposals IPSEC_PROP;
}
vpn IPSEC_VPNA_SPOKE_2 {
bind-interface st0.1;
ike {
gateway IKE_GWA_SPOKE_2;
ipsec-policy IPSEC_POL;
}
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/1.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/0.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
347
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE status.
Action
2001:db8:3000::2
Meaning
The show security ike sa command lists all active IKE Phase 1 SAs. If no SAs are listed, there was a problem
with Phase 1 establishment. Check the IKE policy parameters and external interface settings in your
configuration. Phase 1 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec status.
Action
Meaning
The show security ipsec sa command lists all active IKE Phase 2 SAs. If no SAs are listed, there was a
problem with Phase 2 establishment. Check the IKE policy parameters and external interface settings in
your configuration. Phase 2 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec next-hop tunnels.
Action
From operational mode, enter the show security ipsec next-hop-tunnels command.
349
Meaning
The next-hop gateways are the IP addresses for the st0 interfaces of the spokes. The next hop should be
associated with the correct IPsec VPN name.
Verifying BGP
Purpose
Verify that BGP references the IP addresses for the st0 interfaces of the spokes.
Action
SEE ALSO
IN THIS SECTION
Requirements | 350
Overview | 350
Configuration | 353
Verification | 377
This example shows how to configure two IPsec VPN tunnels between an AutoVPN hub and spoke. This
example configures iBGP with equal-cost multipath (ECMP) to forward packets through the VPN tunnels.
Requirements
• Obtain the address of the certificate authority (CA) and the information they require (such as the challenge
password) when you submit requests for local certificates.
You should be familiar with the dynamic routing protocol that is used to forward packets through the VPN
tunnels.
Overview
This example shows the configuration of an AutoVPN hub and a spoke with two IPsec VPN tunnels.
In this example, the first step is to enroll digital certificates in each device using the Simple Certificate
Enrollment Protocol (SCEP). Certificates are enrolled in the hub and in the spoke for each IPsec VPN tunnel.
351
One of the certificates for the spoke contains the organizational unit (OU) value “SLT” in the distinguished
name (DN); the hub is configured with a group IKE ID to match the value “SLT” in the OU field. The other
certificate for the spoke contains the OU value “SBU” in the DN; the hub is configured with a group IKE
ID to match the value “SBU” in the OU field.
The spoke establishes IPsec VPN connections to the hub, which allows it to access resources on the hub.
Phase 1 and Phase 2 IKE tunnel options configured on the AutoVPN hub and the spoke must have the
same values.Table 36 on page 351 shows the options used in this example.
Table 36: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke iBGP ECMP Configurations
Option Value
IKE proposal:
IKE policy:
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 37 on page 352 shows the options configured on the hub and on the spoke.
352
Table 37: AutoVPN iBGP ECMP Configuration for Hub and Spoke 1
IKE gateway:
VPN:
Routing information for all devices is exchanged through the VPN tunnels.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Topology
Figure 20 on page 353 shows the SRX Series devices to be configured for AutoVPN in this example.
353
Configuration
IN THIS SECTION
The first section describes how to obtain CA and local certificates online using the Simple Certificate
Enrollment Protocol (SCEP) on the hub and spoke devices.
Step-by-Step Procedure
To enroll digital certificates with SCEP on the hub:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 1.1.1.1 subject
DC=example.net,CN=hub,OU=SLT,O=example,L=Bangalore,ST=KA,C=IN challenge-password <password>
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local2 domain-name
example.net email [email protected] ip-address 1.1.2.1 subject
DC=example.net,CN=hub_backup,OU=SBU,O=example,L=Bangalore,ST=KA,C=IN challenge-password
<password>
Subject string:
C=IN, DC=example.net, ST=KA, L=Bangalore, O=example, OU=SBU, CN=hub_backup
Alternate subject: "[email protected]", example.net, 1.1.2.1
Validity:
Not before: 11- 9-2012 10:55
Not after: 11- 9-2013 11:05
Public key algorithm: rsaEncryption(1024 bits)
30:81:89:02:81:81:00:d5:44:08:96:f6:77:05:e6:91:50:8a:8a:2a
4e:95:43:1e:88:ea:43:7c:c5:ac:88:d7:a0:8d:b5:d9:3f:41:db:db
44:34:1f:56:a5:38:4b:b2:c5:85:f9:f1:bf:b2:7b:d4:b2:af:98:a0
95:50:02:ad:f5:dd:4d:dc:67:85:dd:84:09:df:9c:68:a5:58:65:e7
2c:72:cc:47:4b:d0:cc:4a:28:ca:09:db:ad:6e:5a:13:6c:e6:cc:f0
29:ed:2b:2d:d1:38:38:bc:68:84:de:ae:86:39:c9:dd:06:d5:36:f0
e6:2a:7b:46:4c:cd:a5:24:1c:e0:92:8d:ad:35:29:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
98:96:2f:ff:ca:af:33:ee:d7:4c:c8:4f:f7:71:53:c0:5d:5f:c5:59 (sha1)
c9:87:e3:a4:5c:47:b5:aa:90:22:e3:06:b2:0b:e1:ea (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 1:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 2.2.2.1 subject
DC=example.net,CN=spoke1,OU=SLT,O=example,L=Mysore,ST=KA,C=IN challenge-password <password>
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local2 domain-name
example.net email [email protected] ip-address 3.3.3.1 subject
DC=example.net,CN=spoke1_backup,OU=SBU,O=example,L=Mysore,ST=KA,C=IN challenge-password
<password>
e4:24:1a:19:0d:14:2c:4b:94:a4:04:91:3f:cb:ef:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
b6:24:2a:0e:96:5d:8c:4a:11:f3:5a:24:89:7c:df:ea:d5:c0:80:56 (sha1)
31:58:7f:15:bb:d4:66:b8:76:1a:42:4a:8a:16:b3:a9 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
Subject string:
C=IN, DC=example.net, ST=KA, L=Mysore, O=example, OU=SBU, CN=spoke1_backup
Alternate subject: "[email protected]", example.net, 3.3.3.1
Validity:
Not before: 11- 9-2012 11:09
Not after: 11- 9-2013 11:19
Public key algorithm: rsaEncryption(1024 bits)
30:81:89:02:81:81:00:a7:02:b5:e2:cd:79:24:f8:97:a3:8d:4d:27
8c:2b:dd:f1:57:72:4d:2b:6d:d5:95:0d:9c:1b:5c:e2:a4:b0:84:2e
31:82:3c:91:08:a2:58:b9:30:4c:5f:a3:6b:e6:2b:9c:b1:42:dd:1c
cd:a2:7a:84:ea:7b:a6:b7:9a:13:33:c6:27:2b:79:2a:b1:0c:fe:08
4c:a7:35:fc:da:4f:df:1f:cf:f4:ba:bc:5a:05:06:63:92:41:b4:f2
54:00:3f:ef:ff:41:e6:ca:74:10:56:f7:2b:5f:d3:1a:33:7e:49:74
1c:42:cf:c2:23:ea:4b:8f:50:2c:eb:1c:a6:37:89:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
d6:7f:52:a3:b6:f8:ae:cb:70:3f:a9:79:ea:8a:da:9e:ba:83:e4:5f (sha1)
359
76:0b:72:73:cf:51:ee:58:81:2d:f7:b4:e2:5c:f4:5c (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
The organizational unit (OU) shown in the subject field is SLT for Local1 and SBU for Local2. The IKE
configurations on the hub include OU=SLT and OU=SBU to identify the spoke.
Step-by-Step Procedure
361
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 1.1.1.1/30
user@host# set ge-0/0/2 unit 0 family inet address 1.1.2.1/30
user@host# set ge-0/0/3 unit 0 family inet address 50.50.50.1/24
user@host# set st0 unit 0 multipoint
user@host# set st0 unit 0 family inet address 10.10.10.1/24
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet address 20.20.20.1/24
[edit policy-options]
user@host# set policy-statement lan_nw from interface ge-0/0/3.0
user@host# set policy-statement lan_nw then accept
user@host# set policy-statement load_balance then load-balance per-packet
[edit routing-options]
user@host# set static route 2.2.2.0/30 next-hop 1.1.1.2
user@host# set static route 3.3.3.0/30 next-hop 1.1.2.2
user@host# set autonomous-system 10
user@host# set forwarding-table export load_balance
362
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
364
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 1.1.1.1/30;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 1.1.2.1/30;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 50.50.50.1/24;
}
}
}
st0 {
unit 0 {
multipoint;
family inet {
address 10.10.10.1/24;
}
}
unit 1 {
multipoint;
family inet {
address 20.20.20.1/24;
}
}
}
[edit]
user@host# show policy-options
policy-statement lan_nw {
from interface ge-0/0/3.0;
then accept;
365
}
policy-statement load_balance {
then {
load-balance per-packet;
}
}
[edit]
user@host# show protocols
bgp {
group ibgp-1 {
type internal;
local-address 10.10.10.1;
export lan_nw;
cluster 1.2.3.4;
multipath;
allow 10.10.10.0/24;
}
group ibgp-2 {
type internal;
local-address 20.20.20.1;
export lan_nw;
cluster 1.2.3.5;
multipath;
allow 20.20.20.0/24;
}
}
[edit]
user@host# show routing-options
static {
route 2.2.2.0/30 next-hop 1.1.1.2;
route 3.3.3.0/30 next-hop 1.1.2.2;
}
autonomous-system 10;
forwarding-table {
export load_balance;
}
[edit]
user@host# show security ike
proposal ike-proposal {
authentication-method rsa-signatures;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
366
policy ike-policy-1 {
mode main;
proposals ike-proposal;
certificate {
local-certificate Local1;
}
}
policy ike-policy-2 {
mode main;
proposals ike-proposal;
certificate {
local-certificate Local2;
}
}
gateway hub-to-spoke-gw-1 {
ike-policy ike-policy-1;
dynamic {
distinguished-name {
wildcard OU=SLT;
}
ike-user-type group-ike-id;
}
local-identity distinguished-name;
external-interface ge-0/0/1.0;
}
gateway hub-to-spoke-gw-2 {
ike-policy ike-policy-2;
dynamic {
distinguished-name {
wildcard OU=SBU;
}
ike-user-type group-ike-id;
}
local-identity distinguished-name;
external-interface ge-0/0/2.0;
}
[edit]
user@host# show security ipsec
proposal ipsec-proposal {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm des-cbc;
}
policy vpn-policy {
367
perfect-forward-secrecy {
keys group14;
}
proposals ipsec-proposal;
}
vpn hub-to-spoke-vpn-1 {
bind-interface st0.0;
ike {
gateway hub-to-spoke-gw-1;
ipsec-policy vpn-policy;
}
}
vpn hub-to-spoke-vpn-2 {
bind-interface st0.1;
ike {
gateway hub-to-spoke-gw-2;
ipsec-policy vpn-policy;
}
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
st0.0;
ge-0/0/1.0;
ge-0/0/2.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
368
}
}
interfaces {
ge-0/0/3.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ca-profile1 {
ca-identity ca-profile1;
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 1:
1. Configure interfaces.
[edit interfaces]
user@host# set fe-0/0/1 unit 0 family inet address 2.2.2.1/30
user@host# set fe-0/0/2 unit 0 family inet address 3.3.3.1/30
user@host# set fe-0/0/4 unit 0 family inet address 60.60.60.1/24
user@host# set st0 unit 0 family inet address 10.10.10.2/24
user@host# set st0 unit 1 family inet address 20.20.20.2/24
[edit policy-options]
user@host# set policy-statement lan_nw from interface fe-0/0/4.0
user@host# set policy-statement lan_nw then accept
[edit routing-options]
user@host# set static route 1.1.1.0/30 next-hop 2.2.2.2
371
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
fe-0/0/1 {
unit 0 {
family inet {
address 2.2.2.1/30;
}
}
}
fe-0/0/2 {
unit 0 {
family inet {
address 3.3.3.1/30;
}
}
}
fe-0/0/4 {
unit 0 {
family inet {
address 60.60.60.1/24;
}
}
}
st0 {
unit 0 {
family inet {
address 10.10.10.2/24;
}
}
unit 1 {
family inet {
address 20.20.20.2/24;
}
}
}
374
[edit]
user@host# show policy-options
policy-statement lan_nw {
from interface fe-0/0/4.0;
then accept;
}
[edit]
user@host# show protocols
bgp {
group ibgp-1 {
type internal;
local-address 10.10.10.2;
export lan_nw;
neighbor 10.10.10.1;
}
group ibgp-2 {
type internal;
local-address 20.20.20.2;
export lan_nw;
neighbor 20.20.20.1;
}
}
[edit]
user@host# show routing-options
static {
route 1.1.1.0/30 next-hop 2.2.2.2;
route 1.1.2.0/30 next-hop 3.3.3.2;
}
autonomous-system 10;
[edit]
user@host# show security ike
proposal ike-proposal {
authentication-method rsa-signatures;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ike-policy-1 {
mode main;
proposals ike-proposal;
certificate {
local-certificate Local1;
}
}
375
policy ike-policy-2 {
mode main;
proposals ike-proposal;
certificate {
local-certificate Local2;
}
}
gateway spoke-to-hub-gw-1 {
ike-policy ike-policy-1;
address 1.1.1.1;
local-identity distinguished-name;
remote-identity distinguished-name;
external-interface fe-0/0/1.0;
}
gateway spoke-to-hub-gw-2 {
ike-policy ike-policy-2;
address 1.1.2.1;
local-identity distinguished-name;
remote-identity distinguished-name;
external-interface fe-0/0/2.0;
}
[edit]
user@host# show security ipsec
proposal ipsec-proposal {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm des-cbc;
}
policy vpn-policy {
perfect-forward-secrecy {
keys group14;
}
proposals ipsec-proposal;
}
vpn spoke-to-hub-1 {
bind-interface st0.0;
ike {
gateway spoke-to-hub-gw-1;
ipsec-policy vpn-policy;
}
establish-tunnels immediately;
}
vpn spoke-to-hub-2 {
bind-interface st0.1;
376
ike {
gateway spoke-to-hub-gw-2;
ipsec-policy vpn-policy;
}
establish-tunnels immediately;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
fe-0/0/1.0;
st0.0;
fe-0/0/2.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
fe-0/0/4.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
377
ca-profile ca-profile1 {
ca-identity ca-profile1;
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
From operational mode, enter the show security ike security-associations command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration. Phase 1 proposal parameters must match on the hub and spoke.
Purpose
Verify the IPsec Phase 2 status.
Action
Meaning
The show security ipsec security-associations command lists all active IKE Phase 2 SAs. If no SAs are
listed, there was a problem with Phase 2 establishment. Check the IKE policy parameters and external
interface settings in your configuration. Phase 2 proposal parameters must match on the hub and spoke.
Purpose
Verify the IPsec next-hop tunnels.
Action
From operational mode, enter the show security ipsec next-hop-tunnels command.
Meaning
The next-hop gateways are the IP addresses for the st0 interfaces of the spokes. The next hop should be
associated with the correct IPsec VPN name.
Verifying BGP
Purpose
Verify that BGP references the IP addresses for the st0 interfaces of the spoke.
Action
Purpose
Verify that routes to the spoke have been learned.
Action
From operational mode, enter the show route 60.60.60.0 detail command.
Purpose
Verify that routes to the spoke have been installed in the forwarding table.
Action
From operational mode, enter the show route forwarding-table matching 60.60.60.0 command.
SEE ALSO
IN THIS SECTION
Requirements | 382
Overview | 382
Configuration | 386
Verification | 410
This example shows how to configure active and backup IPsec VPN tunnels between an AutoVPN hub
and spoke. This example configures iBGP to forward traffic through the VPN tunnels.
382
Requirements
• Obtain the address of the certificate authority (CA) and the information they require (such as the challenge
password) when you submit requests for local certificates.
You should be familiar with the dynamic routing protocol that is used to forward packets through the VPN
tunnels.
Overview
This example shows the configuration of an AutoVPN hub and a spoke with two IPsec VPN tunnels.
In this example, the first step is to enroll digital certificates in each device using the Simple Certificate
Enrollment Protocol (SCEP). Certificates are enrolled in the hub and in the spoke for each IPsec VPN tunnel.
One of the certificates for the spoke contains the organizational unit (OU) value “SLT” in the distinguished
name (DN); the hub is configured with a group IKE ID to match the value “SLT” in the OU field. The other
certificate for the spoke contains the OU value “SBU” in the DN; the hub is configured with a group IKE
ID to match the value “SBU” in the OU field.
The spoke establishes IPsec VPN connections to the hub, which allows it to access resources on the hub.
Phase 1 and Phase 2 IKE tunnel options configured on the AutoVPN hub and the spoke must have the
same values. Table 38 on page 382 shows the options used in this example.
Table 38: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke iBGP Active-Backup Tunnel
Configurations
Option Value
IKE proposal:
IKE policy:
383
Table 38: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke iBGP Active-Backup Tunnel
Configurations (continued)
Option Value
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 39 on page 383 shows the options configured on the hub and on the spoke.
Table 39: AutoVPN IBGP Active-Backup Tunnel Configuration for Hub and Spoke 1
IKE gateway:
Table 39: AutoVPN IBGP Active-Backup Tunnel Configuration for Hub and Spoke 1 (continued)
VPN:
Routing information for all devices is exchanged through the VPN tunnels.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Topology
Figure 21 on page 385 shows the SRX Series devices to be configured for AutoVPN in this example.
385
In this example, two IPsec VPN tunnels are established between the hub and spoke 1. Routing information
is exchanged through iBGP sessions in each tunnel. The longest prefix match for the route to 60.60.60.0/24
is through the st0.0 interface on the hub. Thus, the primary tunnel for the route is through the st0.0
interfaces on the hub and spoke 1. The default route is through the backup tunnel on the st0.1 interfaces
on the hub and spoke 1.
VPN monitoring checks the status of the tunnels. If there is a problem with the primary tunnel (for example,
the remote tunnel gateway is not reachable), the tunnel status changes to down and data destined for
60.60.60.0/24 is rerouted through the backup tunnel.
386
Configuration
IN THIS SECTION
The first section describes how to obtain CA and local certificates online using the Simple Certificate
Enrollment Protocol (SCEP) on the hub and spoke devices.
Step-by-Step Procedure
To enroll digital certificates with SCEP on the hub:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 1.1.1.1 subject
DC=example.net,CN=hub,OU=SLT,O=example,L=Bangalore,ST=KA,C=IN challenge-password <password>
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local2 domain-name
example.net email [email protected] ip-address 1.1.2.1 subject
DC=example.net,CN=hub_backup,OU=SBU,O=example,L=Bangalore,ST=KA,C=IN challenge-password
<password>
Status: Disabled
Next trigger time: Timer not started
Subject string:
C=IN, DC=example.net, ST=KA, L=Bangalore, O=example, OU=SBU, CN=hub_backup
Alternate subject: "[email protected]", example.net, 1.1.2.1
Validity:
Not before: 11- 9-2012 10:55
Not after: 11- 9-2013 11:05
Public key algorithm: rsaEncryption(1024 bits)
30:81:89:02:81:81:00:d5:44:08:96:f6:77:05:e6:91:50:8a:8a:2a
4e:95:43:1e:88:ea:43:7c:c5:ac:88:d7:a0:8d:b5:d9:3f:41:db:db
44:34:1f:56:a5:38:4b:b2:c5:85:f9:f1:bf:b2:7b:d4:b2:af:98:a0
95:50:02:ad:f5:dd:4d:dc:67:85:dd:84:09:df:9c:68:a5:58:65:e7
2c:72:cc:47:4b:d0:cc:4a:28:ca:09:db:ad:6e:5a:13:6c:e6:cc:f0
29:ed:2b:2d:d1:38:38:bc:68:84:de:ae:86:39:c9:dd:06:d5:36:f0
e6:2a:7b:46:4c:cd:a5:24:1c:e0:92:8d:ad:35:29:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
98:96:2f:ff:ca:af:33:ee:d7:4c:c8:4f:f7:71:53:c0:5d:5f:c5:59 (sha1)
c9:87:e3:a4:5c:47:b5:aa:90:22:e3:06:b2:0b:e1:ea (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
Step-by-Step Procedure
389
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 2.2.2.1 subject
DC=example.net,CN=spoke1,OU=SLT,O=example,L=Mysore,ST=KA,C=IN challenge-password <password>
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local2 domain-name
example.net email [email protected] ip-address 3.3.3.1 subject
DC=example.net,CN=spoke1_backup,OU=SBU,O=example,L=Mysore,ST=KA,C=IN challenge-password
<password>
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
Locality: Mysore, Common name: spoke1, Domain component: example.net
Subject string:
C=IN, DC=example.net, ST=KA, L=Mysore, O=example, OU=SLT, CN=spoke1
Alternate subject: "[email protected]", example.net, 2.2.2.1
Validity:
Not before: 11- 6-2012 09:40
Not after: 11- 6-2013 09:50
Public key algorithm: rsaEncryption(1024 bits)
30:81:89:02:81:81:00:d8:45:09:77:cd:36:9a:6f:58:44:18:91:db
b0:c7:8a:ee:c8:d7:a6:d2:e2:e7:20:46:2b:26:1a:92:e2:4e:8a:ce
c9:25:d9:74:a2:81:ad:ea:e0:38:a0:2f:2d:ab:a6:58:ac:88:35:f4
90:01:08:33:33:75:2c:44:26:f8:25:18:97:96:e4:28:de:3b:35:f2
4a:f5:92:b7:57:ae:73:4f:8e:56:71:ab:81:54:1d:75:88:77:13:64
1b:6b:01:96:15:0a:1c:54:e3:db:f8:ec:ec:27:5b:86:39:c1:09:a1
e4:24:1a:19:0d:14:2c:4b:94:a4:04:91:3f:cb:ef:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
b6:24:2a:0e:96:5d:8c:4a:11:f3:5a:24:89:7c:df:ea:d5:c0:80:56 (sha1)
31:58:7f:15:bb:d4:66:b8:76:1a:42:4a:8a:16:b3:a9 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
Subject string:
C=IN, DC=example.net, ST=KA, L=Mysore, O=example, OU=SBU, CN=spoke1_backup
Alternate subject: "[email protected]", example.net, 3.3.3.1
Validity:
391
The organizational unit (OU) shown in the subject field is SLT for Local1 and SBU for Local2. The IKE
configurations on the hub include OU=SLT and OU=SBU to identify the spoke.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 1.1.1.1/30
user@host# set ge-0/0/2 unit 0 family inet address 1.1.2.1/30
user@host# set ge-0/0/3 unit 0 family inet address 50.50.50.1/24
user@host# set st0 unit 0 multipoint
user@host# set st0 unit 0 family inet address 10.10.10.1/24
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet address 20.20.20.1/24
[edit policy-options]
user@host# set policy-statement lan_nw from interface ge-0/0/3.0
user@host# set policy-statement lan_nw then accept
[edit routing-options]
user@host# set static route 2.2.2.0/30 next-hop 1.1.1.2
user@host# set static route 3.3.3.0/30 next-hop 1.1.2.2
user@host# set autonomous-system 10
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 1.1.1.1/30;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 1.1.2.1/30;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 50.50.50.1/24;
397
}
}
}
st0 {
unit 0 {
multipoint;
family inet {
address 10.10.10.1/24;
}
}
unit 1 {
multipoint;
family inet {
address 20.20.20.1/24;
}
}
}
[edit]
user@host# show policy-options
policy-statement lan_nw {
from interface ge-0/0/3.0;
then accept;
}
[edit]
user@host# show protocols
bgp {
group ibgp-1 {
type internal;
local-address 10.10.10.1;
export lan_nw;
cluster 1.2.3.4;
allow 10.10.10.0/24;
}
group ibgp-2 {
type internal;
local-address 20.20.20.1;
export lan_nw;
cluster 1.2.3.5;
allow 20.20.20.0/24;
}
}
[edit]
user@host# show routing-options
static {
398
}
local-identity distinguished-name;
external-interface ge-0/0/2.0;
}
[edit]
user@host# show security ipsec
vpn-monitor-options {
interval 5;
threshold 2;
}
proposal ipsec-proposal {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm des-cbc;
}
policy vpn-policy {
perfect-forward-secrecy {
keys group14;
}
proposals ipsec-proposal;
}
vpn hub-to-spoke-vpn-1 {
bind-interface st0.0;
vpn-monitor {
source-interface ge-0/0/1.0;
}
ike {
gateway hub-to-spoke-gw-1;
ipsec-policy vpn-policy;
}
}
vpn hub-to-spoke-vpn-2 {
bind-interface st0.1;
vpn-monitor {
source-interface ge-0/0/2.0;
}
ike {
gateway hub-to-spoke-gw-2;
ipsec-policy vpn-policy;
}
}
[edit]
user@host# show security zones
security-zone untrust {
400
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
st0.0;
ge-0/0/1.0;
ge-0/0/2.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/3.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ca-profile1 {
ca-identity ca-profile1;
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
401
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 1:
1. Configure interfaces.
403
[edit interfaces]
user@host# set fe-0/0/1 unit 0 family inet address 2.2.2.1/30
user@host# set fe-0/0/2 unit 0 family inet address 3.3.3.1/30
user@host# set fe-0/0/4 unit 0 family inet address 60.60.60.1/24
user@host# set st0 unit 0 family inet address 10.10.10.2/24
user@host# set st0 unit 1 family inet address 20.20.20.2/24
[edit policy-options]
user@host# set policy-statement default_route from protocol static
user@host# set policy-statement default_route from route-filter 0.0.0.0/0 exact
user@host# set policy-statement default_route then accept
user@host# set policy-statement lan_nw from interface fe-0/0/4.0
user@host# set policy-statement lan_nw then accept
[edit routing-options]
user@host# set static route 1.1.1.0/30 next-hop 2.2.2.2
user@host# set static route 1.1.2.0/30 next-hop 3.3.3.2
user@host# set static route 0.0.0.0/0 next-hop st0.1
user@host# set autonomous-system 10
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show policy-options,
show protocols, show routing-options, show security ike, show security ipsec, show security zones, show
406
security policies, and show security pki commands. If the output does not display the intended configuration,
repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
fe-0/0/1 {
unit 0 {
family inet {
address 2.2.2.1/30;
}
}
}
fe-0/0/2 {
unit 0 {
family inet {
address 3.3.3.1/30;
}
}
}
fe-0/0/4 {
unit 0 {
family inet {
address 60.60.60.1/24;
}
}
}
st0 {
unit 0 {
family inet {
address 10.10.10.2/24;
}
}
unit 1 {
family inet {
address 20.20.20.2/24;
}
}
}
[edit]
user@host# show policy-options
policy-statement default_route {
from {
protocol static;
route-filter 0.0.0.0/0 exact;
}
407
then accept;
}
policy-statement lan_nw {
from interface fe-0/0/4.0;
then accept;
}
[edit]
user@host# show protocols
bgp {
group ibgp-1 {
type internal;
local-address 10.10.10.2;
export lan_nw;
neighbor 10.10.10.1;
}
group ibgp-2 {
type internal;
local-address 20.20.20.2;
export default_route;
neighbor 20.20.20.1;
}
}
[edit]
user@host# show routing-options
static {
route 1.1.1.0/30 next-hop 2.2.2.2;
route 1.1.2.0/30 next-hop 3.3.3.2;
route 0.0.0.0/0 next-hop st0.1;
}
autonomous-system 10;
[edit]
user@host# show security ike
proposal ike-proposal {
authentication-method rsa-signatures;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ike-policy-1 {
mode main;
proposals ike-proposal;
certificate {
local-certificate Local1;
}
408
}
policy ike-policy-2 {
mode main;
proposals ike-proposal;
certificate {
local-certificate Local2;
}
}
gateway spoke-to-hub-gw-1 {
ike-policy ike-policy-1;
address 1.1.1.1;
local-identity distinguished-name;
remote-identity distinguished-name;
external-interface fe-0/0/1.0;
}
gateway spoke-to-hub-gw-2 {
ike-policy ike-policy-2;
address 1.1.2.1;
local-identity distinguished-name;
remote-identity distinguished-name;
external-interface fe-0/0/2.0;
}
[edit]
user@host# show security ipsec
vpn-monitor-options {
interval 5;
threshold 2;
}
proposal ipsec-proposal {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm des-cbc;
}
policy vpn-policy {
perfect-forward-secrecy {
keys group14;
}
proposals ipsec-proposal;
}
vpn spoke-to-hub-1 {
bind-interface st0.0;
vpn-monitor {
destination-ip 1.1.1.1;
}
409
ike {
gateway spoke-to-hub-gw-1;
ipsec-policy vpn-policy;
}
establish-tunnels immediately;
}
vpn spoke-to-hub-2 {
bind-interface st0.1;
vpn-monitor {
destination-ip 1.1.2.1;
}
ike {
gateway spoke-to-hub-gw-2;
ipsec-policy vpn-policy;
}
establish-tunnels immediately;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
fe-0/0/1.0;
st0.0;
fe-0/0/2.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
410
interfaces {
fe-0/0/4.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ca-profile1 {
ca-identity ca-profile1;
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status when both IPSec VPN tunnels are up.
Action
From operational mode, enter the show security ike security-associations command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration. Phase 1 proposal parameters must match on the hub and spoke.
Purpose
Verify the IPsec Phase 2 status when both IPsec VPN tunnels are up.
Action
Meaning
412
The show security ipsec security-associations command lists all active IKE Phase 2 SAs. If no SAs are
listed, there was a problem with Phase 2 establishment. Check the IKE policy parameters and external
interface settings in your configuration. Phase 2 proposal parameters must match on the hub and spoke.
Purpose
Verify the IPsec next-hop tunnels.
Action
From operational mode, enter the show security ipsec next-hop-tunnels command.
Meaning
The next-hop gateways are the IP addresses for the st0 interfaces of the spoke. The next hop should be
associated with the correct IPsec VPN name.
Purpose
Verify that BGP references the IP addresses for the st0 interfaces of the spoke when both IPsec VPN
tunnels are up.
Action
1/1/1/0 0/0/0/0
20.20.20.2 10 13 16 0 0 4:29
1/1/1/0 0/0/0/0
Purpose
Verify that routes to the spoke have been learned when both tunnels are up. The route to 60.60.60.0/24
is through the st0.0 interface and the default route is through the st0.1 interface.
Action
Purpose
Verify the IKE Phase 1 status when the primary tunnel is down.
Action
From operational mode, enter the show security ike security-associations command.
414
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration. Phase 1 proposal parameters must match on the hub and spoke.
Purpose
Verify the IPsec Phase 2 status when the primary tunnel is down.
Action
Meaning
The show security ipsec security-associations command lists all active IKE Phase 2 SAs. If no SAs are
listed, there was a problem with Phase 2 establishment. Check the IKE policy parameters and external
interface settings in your configuration. Phase 2 proposal parameters must match on the hub and spoke.
Purpose
Verify the IPsec next-hop tunnel.
Action
From operational mode, enter the show security ipsec next-hop-tunnels command.
Meaning
The next-hop gateways are the IP addresses for the st0 interfaces of the spoke. The next hop should be
associated with the correct IPsec VPN name, in this case the backup VPN tunnel.
Purpose
Verify that BGP references the IP addresses for the st0 interfaces of the spoke when the primary tunnel
is down.
Action
Purpose
Verify that routes to the spoke have been learned when the primary tunnel is down. Both the route to
60.60.60.0/24 and the default route are through the st0.1 interface.
Action
SEE ALSO
IN THIS SECTION
Requirements | 417
Overview | 417
Configuration | 420
Verification | 445
This example shows how to configure an AutoVPN hub to act as a single termination point, and then
configure two spokes to act as tunnels to remote sites. This example configures OSPF to forward packets
through the VPN tunnels.
417
Requirements
• Obtain the address of the certificate authority (CA) and the information they require (such as the challenge
password) when you submit requests for local certificates.
You should be familiar with the dynamic routing protocol that is used to forward packets through the VPN
tunnels.
Overview
This example shows the configuration of an AutoVPN hub and the subsequent configurations of two
spokes.
In this example, the first step is to enroll digital certificates in each device using the Simple Certificate
Enrollment Protocol (SCEP). The certificates for the spokes contain the organizational unit (OU) value
“SLT” in the subject field; the hub is configured with a group IKE ID to match the value “SLT” in the OU
field.
The spokes establish IPsec VPN connections to the hub, which allows them to communicate with each
other as well as access resources on the hub. Phase 1 and Phase 2 IKE tunnel options configured on the
AutoVPN hub and all spokes must have the same values. Table 40 on page 417 shows the options used in
this example.
Table 40: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Basic OSPF Configurations
Option Value
IKE proposal:
IKE policy:
418
Table 40: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Basic OSPF Configurations (continued)
Option Value
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 41 on page 418 shows the options configured on the hub and on all spokes.
Table 41: AutoVPN Basic OSPF Configuration for Hub and All Spokes
IKE gateway:
Remote IKE ID Distinguished name (DN) on the spoke’s DN on the hub’s certificate
certificate with the string SLT in the
organizational unit (OU) field
Spoke 2: ge-0/0/1.0
VPN:
Table 42 on page 419 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Topology
Figure 22 on page 420 shows the SRX Series devices to be configured for AutoVPN in this example.
420
60.60.60.0/24 70.70.70.0/24
Trust Trust
zone zone
fe-0/0/4.0 fe-0/0/4.0
60.60.60.1/24 70.70.70.1/24
st0.0 st0.0
Spoke 1 Spoke 2
10.10.10.2/24 10.10.10.3/24
fe-0/0/1.0 ge-0/0/1.0
2.2.2.1/30 3.3.3.1/30
Internet
Untrust
zone
ge-0/0/1.0
1.1.1.1/30
st0.0
Hub 10.10.10.1/24
CA server ge-0/0/3.0
50.50.50.1/24
g039002
Trust
zone
50.50.50.0/24
Configuration
IN THIS SECTION
The first section describes how to obtain CA and local certificates online using the Simple Certificate
Enrollment Protocol (SCEP) on the hub and spoke devices.
Step-by-Step Procedure
To enroll digital certificates with SCEP on the hub:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 1.1.1.1 subject
DC=example.net,CN=hub,OU=SLT,O=example,L=Bangalore,ST=KA,C=IN challenge-password <password>
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
Locality: Bangalore, Common name: hub, Domain component: example.net
Subject string:
C=IN, DC=example.net, ST=KA, L=Bangalore, O=example, OU=SLT, CN=hub
Alternate subject: "[email protected]", example.net, 1.1.1.1
Validity:
Not before: 11- 6-2012 09:39
Not after: 11- 6-2013 09:49
Public key algorithm: rsaEncryption(1024 bits)
30:81:89:02:81:81:00:c9:c9:cc:30:b6:7a:86:12:89:b5:18:b3:76
01:2d:cc:65:a8:a8:42:78:cd:d0:9a:a2:c0:aa:c4:bd:da:af:88:f3
2a:78:1f:0a:58:e6:11:2c:81:8f:0e:7c:de:86:fc:48:4c:28:5b:8b
34:91:ff:2e:91:e7:b5:bd:79:12:de:39:46:d9:fb:5c:91:41:d1:da
90:f5:09:00:9b:90:07:9d:50:92:7d:ff:fb:3f:3c:bc:34:e7:e3:c8
ea:cb:99:18:b4:b6:1d:a8:99:d3:36:b9:1b:36:ef:3e:a1:fd:48:82
6a:da:22:07:da:e0:d2:55:ef:57:be:09:7a:0e:17:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
e1:f7:a1:a6:1e:c3:97:69:a5:07:9b:09:14:1a:c7:ae:09:f1:f6:35 (sha1)
a0:02:fa:8d:5c:63:e5:6d:f7:f4:78:56:ac:4e:b2:c4 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 1:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 2.2.2.1 subject
DC=example.net,CN=spoke1,OU=SLT,O=example,L=Mysore,ST=KA,C=IN challenge-password <password>
Fingerprint:
b6:24:2a:0e:96:5d:8c:4a:11:f3:5a:24:89:7c:df:ea:d5:c0:80:56 (sha1)
31:58:7f:15:bb:d4:66:b8:76:1a:42:4a:8a:16:b3:a9 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 2:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url http://pc4/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 3.3.3.1 subject
DC=example.net,CN=spoke2,OU=SLT,O=example,L=Tumkur,ST=KA,C=IN challenge-password <password>
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
Step-by-Step Procedure
427
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 1.1.1.1/30
user@host# set ge-0/0/3 unit 0 family inet address 50.50.50.1/24
user@host# set st0 unit 0 multipoint
user@host# set st0 unit 0 family inet address 10.10.10.1/24
[edit routing-options]
user@host# set static route 2.2.2.0/30 next-hop 1.1.1.2
user@host# set static route 3.3.3.0/30 next-hop 1.1.1.2
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security zones, show security policies,
and show security pki commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 1.1.1.1/30;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 50.50.50.1/24;
}
}
}
st0 {
unit 0 {
multipoint;
family inet {
address 10.10.10.1/24;
}
}
}
[edit]
user@host# show protocols
ospf {
area 0.0.0.0 {
interface st0.0 {
interface-type p2mp;
dynamic-neighbors;
}
interface ge-0/0/3.0;
}
}
[edit]
user@host# show routing-options
static {
430
}
vpn hub-to-spoke-vpn {
bind-interface st0.0;
ike {
gateway hub-to-spoke-gw;
ipsec-policy vpn-policy1;
}
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
st0.0;
ge-0/0/1.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/3.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
432
ca-profile ca-profile1 {
ca-identity ca-profile1;
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 1:
1. Configure interfaces.
[edit interfaces]
user@host# set fe-0/0/1 unit 0 family inet address 2.2.2.1/30
user@host# set fe-0/0/4 unit 0 family inet address 60.60.60.1/24
user@host# set st0 unit 0 multipoint
user@host# set st0 unit 0 family inet address 10.10.10.2/24
[edit routing-options]
user@host# set static route 1.1.1.0/30 next-hop 2.2.2.2
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security zones, show security policies,
and show security pki commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
fe-0/0/1 {
unit 0 {
family inet {
address 2.2.2.1/30;
}
}
}
fe-0/0/4 {
unit 0 {
family inet {
address 60.60.60.1/24;
}
}
}
st0 {
436
unit 0 {
multipoint;
family inet {
address 10.10.10.2/24;
}
}
}
[edit]
user@host# show protocols
ospf {
area 0.0.0.0 {
interface st0.0 {
interface-type p2mp;
neighbor 10.10.10.1;
}
interface fe-0/0/4.0;
}
}
[edit]
user@host# show routing-options
static {
route 1.1.1.0/30 next-hop 2.2.2.2;
}
[edit]
user@host# show security ike
proposal ike-proposal {
authentication-method rsa-signatures;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ike-policy1 {
mode main;
proposals ike-proposal;
certificate {
local-certificate Local1;
}
}
gateway spoke-to-hub-gw {
ike-policy ike-policy1;
address 1.1.1.1;
local-identity distinguished-name;
remote-identity distinguished-name;
external-interface fe-0/0/1.0;
437
}
[edit]
user@host# show security ipsec
proposal ipsec-proposal {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm des-cbc;
}
policy vpn-policy1 {
perfect-forward-secrecy {
keys group14;
}
proposals ipsec-proposal;
}
vpn spoke-to-hub {
bind-interface st0.0;
ike {
gateway spoke-to-hub-gw;
ipsec-policy vpn-policy1;
}
establish-tunnels immediately;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
fe-0/0/1.0;
st0.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
438
all;
}
}
interfaces {
fe-0/0/4.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ca-profile1 {
ca-identity ca-profile1;
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 2:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 3.3.3.1/30
user@host# set fe-0/0/4 unit 0 family inet address 70.70.70.1/24
user@host# set st0 unit 0 multipoint
user@host# set st0 unit 0 family inet address 10.10.10.3/24
440
[edit routing-options]
user@host# set static route 1.1.1.1/32 next-hop 3.3.3.2
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security zones, show security policies,
and show security pki commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
442
ge-0/0/1 {
unit 0 {
family inet {
address 3.3.3.1/30;
}
}
}
fe-0/0/4 {
unit 0 {
family inet {
address 70.70.70.1/24;
}
}
}
st0 {
unit 0 {
multipoint;
family inet {
address 10.10.10.3/24;
}
}
}
[edit]
user@host# show protocols
ospf {
area 0.0.0.0 {
interface st0.0 {
interface-type p2mp;
neighbor 10.10.10.1;
}
interface fe-0/0/4.0;
}
}
[edit]
user@host# show routing-options
static {
route 1.1.1.1/32 next-hop 3.3.3.2;
}
[edit]
user@host# show security ike
proposal ike-proposal {
authentication-method rsa-signatures;
dh-group group2;
authentication-algorithm sha1;
443
encryption-algorithm aes-128-cbc;
}
policy ike-policy1 {
mode main;
proposals ike-proposal;
certificate {
local-certificate Local1;
}
}
gateway spoke-to-hub-gw {
ike-policy ike-policy1;
address 1.1.1.1;
local-identity distinguished-name;
remote-identity distinguished-name;
external-interface ge-0/0/1.0;
}
[edit]
user@host# show security ipsec
proposal ipsec-proposal {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm des-cbc;
}
policy vpn-policy1 {
perfect-forward-secrecy {
keys group14;
}
proposals ipsec-proposal;
}
vpn spoke-to-hub {
bind-interface st0.0;
ike {
gateway spoke-to-hub-gw;
ipsec-policy vpn-policy1;
}
establish-tunnels immediately;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
444
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
st0.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
fe-0/0/4.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ca-profile1 {
ca-identity ca-profile1;
enrollment {
url http://pc4/certsrv/mscep/mscep.dll;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
445
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
From operational mode, enter the show security ike security-associations command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration. Phase 1 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec Phase 2 status.
446
Action
Meaning
The show security ipsec security-associations command lists all active IKE Phase 2 SAs. If no SAs are
listed, there was a problem with Phase 2 establishment. Check the IKE policy parameters and external
interface settings in your configuration. Phase 2 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec next-hop tunnels.
Action
From operational mode, enter the show security ipsec next-hop-tunnels command.
Meaning
The next-hop gateways are the IP addresses for the st0 interfaces of the spokes. The next hop should be
associated with the correct IPsec VPN name.
Verifying OSPF
Purpose
Verify that OSPF references the IP addresses for the st0 interfaces of the spokes.
447
Action
Purpose
Verify that routes to the spokes have been learned.
Action
SEE ALSO
IN THIS SECTION
Requirements | 448
Overview | 448
Configuration | 451
Verification | 479
This example shows how to configure an AutoVPN hub to act as a single termination point, and then
configure two spokes to act as tunnels to remote sites. This example configures AutoVPN for IPv6
environment using OSPFv3 to forward packets through the VPN tunnels.
Requirements
• Obtain the address of the certificate authority (CA) and the information they require (such as the challenge
password) when you submit requests for local certificates.
You should be familiar with the dynamic routing protocol that is used to forward packets through the VPN
tunnels.
Overview
This example shows the configuration of an AutoVPN with OSPFv3 routing protocol on hub and the
subsequent configurations of two spokes.
In this example, the first step is to enroll digital certificates in each device using the Simple Certificate
Enrollment Protocol (SCEP). The certificates for the spokes contain the organizational unit (OU) value
“SLT” in the subject field; the hub is configured with a group IKE ID to match the value “SLT” in the OU
field.
The spokes establish IPsec VPN connections to the hub, which allows them to communicate with each
other as well as access resources on the hub. Phase 1 and Phase 2 IKE tunnel options configured on the
449
AutoVPN hub and all spokes must have the same values. Table 43 on page 449 shows the options used in
this example.
Table 43: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Basic OSPFv3 Configurations
Option Value
IKE proposal:
IKE policy:
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 44 on page 449 shows the options configured on the hub and on all spokes.
Table 44: AutoVPN OSPFv3 Configuration for Hub and All Spokes
IKE gateway:
Table 44: AutoVPN OSPFv3 Configuration for Hub and All Spokes (continued)
Remote IKE ID Distinguished name (DN) on the spoke’s DN on the hub’s certificate
certificate with the string SLT in the
organizational unit (OU) field
Spoke 2: ge-0/0/0.0
VPN:
Table 45 on page 450 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Topology
Figure 23 on page 451 shows the SRX Series devices to be configured for AutoVPN in this example.
451
Trust Zone
2001:db8:1000::1/64
ge-0/0/1.0
2001:db8:1000::2/64
st0.1
Hub
2001:db8:7000::1/64
ge-0/0/0.0
2001:db8:2000::1/64
Untrust Zone
INTERNET
2001:db8:1710:f00::2
CA Server
ge-0/0/0.0 ge-0/0/0.0
2001:db8:3000::2/64 2001:db8:5000::2/64
st0.1 st0.1
Spoke 1 Spoke 2
2001:db8:7000::2/64 2001:db8:7000::3/64
ge-0/0/1.0 ge-0/0/1.0
2001:db8:4000::1/64 2001:db8:6000::1/64
2001:db8:4000::2/64 2001:db8:6000::2/64
g200267
Trust Zone Trust Zone
Configuration
IN THIS SECTION
The first section describes how to obtain CA and local certificates online using the Simple Certificate
Enrollment Protocol (SCEP) on the hub and spoke devices.
Step-by-Step Procedure
To enroll digital certificates with SCEP on the hub:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url
http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 1.1.1.1 subject
DC=example.net,CN=hub,OU=SLT,O=example,L=Bangalore,ST=KA,C=IN challenge-password <password>
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 1:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url
http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
454
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 2.2.2.1 subject
DC=example.net,CN=spoke1,OU=SLT,O=example,L=Mysore,ST=KA,C=IN challenge-password <password>
e4:24:1a:19:0d:14:2c:4b:94:a4:04:91:3f:cb:ef:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
b6:24:2a:0e:96:5d:8c:4a:11:f3:5a:24:89:7c:df:ea:d5:c0:80:56 (sha1)
31:58:7f:15:bb:d4:66:b8:76:1a:42:4a:8a:16:b3:a9 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 2:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url
http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 3.3.3.1 subject
DC=example.net,CN=spoke2,OU=SLT,O=example,L=Tumkur,ST=KA,C=IN challenge-password <password>
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
457
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet6 address 2001:db8:2000::1/64
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:1000::2/64
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet6 address 2001:db8:7000::1/64
[edit routing-options]
user@host# set rib inet6.0 static route 2001:db8:3000::/64 next-hop 2001:db8:2000::2
user@host# set rib inet6.0 static route 2001:db8:5000::/64 next-hop 2001:db8:2000::2
459
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security zones, show security policies,
and show security pki commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet6 {
address 2001:db8:2000::1/64;
}
}
461
}
ge-0/0/1 {
unit 0 {
family inet6 {
address 2001:db8:1000::2/64;
}
}
}
st0 {
unit 1 {
family inet6 {
address 2001:db8:7000::1/64;
}
}
}
[edit]
user@host# show protocols
ospf3 {
traceoptions {
file ospf;
flag all;
}
area 0.0.0.0 {
interface st0.1 {
interface-type p2mp;
demand-circuit;
dynamic-neighbors;
}
interface ge-0/0/1.0;
}
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route 2001:db8:3000::/64 next-hop 2001:db8::2;
route 2001:db8:5000::/64 next-hop 2001:db8::2;
}
}
[edit]
user@host# show security ike
traceoptions {
file ik;
flag all;
462
}
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group19;
authentication-algorithm sha-384;
encryption-algorithm aes-256-cbc;
lifetime-seconds 6000;
}
policy IKE_POL {
mode main;
proposals IKE_PROP;
certificate {
local-certificate HUB;
}
}
gateway IKE_GWA_1 {
ike-policy IKE_POL;
dynamic {
distinguished-name {
wildcard OU=SLT;
}
}
dead-peer-detection {
always-send;
interval 10;
threshold 3;
}
local-identity distinguished-name;
external-interface ge-0/0/0.0;
version v1-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
authentication-algorithm aes-256-gcm;
set lifetime-seconds 3000;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group19;
}
proposals IPSEC_PROP;
}
463
vpn IPSEC_VPNA_1 {
bind-interface st0.1;
ike {
gateway IKE_GWA_1;
ipsec-policy IPSEC_POL;
}
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/1.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/0.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ROOT-CA {
464
ca-identity ROOT-CA;
enrollment {
url http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll;
retry 5;
retry-interval 0;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 1:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet6 address 2001:db8:3000::2/64
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:4000::1/64
user@host# set st0 unit 1 family inet6 address 2001:db8:7000::2/64
[edit routing-options]
user@host# set rib inet6.0 static route 2001:db8:2000::/64 next-hop 2001:db8:3000::1
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security zones, show security policies,
and show security pki commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet6 {
address 2001:db8:3000::2/64;
}
}
}
ge-0/0/1 {
unit 0 {
family inet6 {
address 2001:db8:4000::1/64;
}
}
}
st0 {
unit 1 {
family inet6 {
address 2001:db8:7000::2/64;
}
}
}
[edit]
user@host# show protocols
ospf3 {
traceoptions {
file ospf;
flag all;
}
area 0.0.0.0 {
interface st0.1 {
interface-type p2mp;
demand-circuit;
dynamic-neighbors;
}
interface ge-0/0/1.0;
}
469
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route 2001:db8:2000::/64 next-hop [ 2001:db8:3000::1 2001:db8:5000::1 ];
}
}
[edit]
user@host# show security ike
traceoptions {
file ik;
flag all;
}
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group19;
authentication-algorithm sha-384;
encryption-algorithm aes-256-cbc;
lifetime-seconds 6000;
}
policy IKE_POL {
mode main;
proposals IKE_PROP;
certificate {
local-certificate SPOKE1;
}
}
gateway IKE_GW_SPOKE_1 {
ike-policy IKE_POL;
address 2001:db8:2000::1;
dead-peer-detection {
always-send;
interval 10;
threshold 3;
}
local-identity distinguished-name;
remote-identity distinguished-name container OU=SLT;
external-interface ge-0/0/0.0;
version v1-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
470
protocol esp;
encryption-algorithm aes-256-gcm;
lifetime-seconds 3000;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group19;
}
proposals IPSEC_PROP;
}
vpn IPSEC_VPN_SPOKE_1 {
bind-interface st0.1;
ike {
gateway IKE_GW_SPOKE_1;
ipsec-policy IPSEC_POL;
}
establish-tunnels immediately;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/1.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
471
ge-0/0/0.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ROOT-CA {
ca-identity ROOT-CA;
enrollment {
url http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll;
retry 5;
retry-interval 0;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 2
Step-by-Step Procedure
473
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 2:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet6 address 2001:db8:5000::2/64
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:6000::1/64
user@host# set st0 unit 1 family inet6 address 2001:db8:7000::3/64
[edit routing-options]
user@host# set rib inet6.0 static route 2001:db8:2000::/64 next-hop 2001:db8:5000::1
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security zones, show security policies,
and show security pki commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet6 {
address 2001:db8:5000::2/64;
}
}
}
ge-0/0/1 {
unit 0 {
family inet6 {
address 2001:db8:6000::1/64;
}
}
}
st0 {
unit 1 {
family inet6 {
address 2001:db8:7000::3/64;
}
}
}
476
[edit]
user@host# show protocols
ospf3 {
traceoptions {
file ospf;
flag all;
}
area 0.0.0.0 {
interface st0.1 {
interface-type p2mp;
demand-circuit;
dynamic-neighbors;
}
interface ge-0/0/1.0;
}
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route 2001:db8:2000::/64 next-hop [ 2001:db8:3000::1 2001:db8:5000::1 ];
}
}
[edit]
user@host# show security ike
traceoptions {
file ik;
flag all;
}
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group19;
authentication-algorithm sha-384;
encryption-algorithm aes-256-cbc;
lifetime-seconds 6000;
}
policy IKE_POL {
mode main;
proposals IKE_PROP;
certificate {
local-certificate SPOKE2;
}
}
gateway IKE_GW_SPOKE_2 {
477
ike-policy IKE_POL;
address 2001:db8:2000::1;
dead-peer-detection {
always-send;
interval 10;
threshold 3;
}
local-identity distinguished-name;
remote-identity distinguished-name container OU=SLT;
external-interface ge-0/0/0.0;
version v1-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
encryption-algorithm aes-256-gcm;
lifetime-seconds 3000;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group19;
}
proposals IPSEC_PROP;
}
vpn IPSEC_VPN_SPOKE_2 {
bind-interface st0.1;
ike {
gateway IKE_GW_SPOKE_2;
ipsec-policy IPSEC_POL;
}
establish-tunnels on-traffic;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
478
interfaces {
ge-0/0/1.0;
st0.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/0.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
user@host# show security pki
ca-profile ROOT-CA {
ca-identity ROOT-CA;
enrollment {
url http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll;
retry 5;
retry-interval 0;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
479
Verification
IN THIS SECTION
Purpose
Verify the IKE status.
Action
Meaning
The show security ike sa command lists all active IKE Phase 1 SAs. If no SAs are listed, there was a problem
with Phase 1 establishment. Check the IKE policy parameters and external interface settings in your
configuration. Phase 1 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec status.
480
Action
Meaning
The show security ipsec sa command lists all active IKE Phase 2 SAs. If no SAs are listed, there was a
problem with Phase 2 establishment. Check the IKE policy parameters and external interface settings in
your configuration. Phase 2 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec next-hop tunnels.
Action
From operational mode, enter the show security ipsec next-hop-tunnels command.
Meaning
The next-hop gateways are the IP addresses for the st0 interfaces of the spokes. The next hop should be
associated with the correct IPsec VPN name.
Verifying OSPFv3
Purpose
Verify that OSPFv3 references the IP addresses for the st0 interfaces of the spokes.
Action
From operational mode, enter the show ospf3 neighbor detail command.
Hub:
Spoke 1:
Spoke 2:
SEE ALSO
IN THIS SECTION
Requirements | 483
Overview | 483
Configuration | 485
Verification | 498
This example shows how to configure traffic selectors, instead of dynamic routing protocols, to forward
packets through a VPN tunnel in an AutoVPN deployment. When traffic selectors are configured, the
secure tunnel (st0) interface must be in point-to-point mode. Traffic selectors are configured on both the
hub and spoke devices.
483
Requirements
• Two SRX Series devices connected and configured in a chassis cluster. The chassis cluster is the AutoVPN
hub.
• Digital certificates enrolled in the hub and the spoke devices that allow the devices to authenticate each
other.
• Obtain the address of the certificate authority (CA) and the information they require (such as the challenge
password) when you submit requests for local certificates. See “Understanding Local Certificate Requests”
on page 1214.
• Enroll the digital certificates in each device. See “Example: Loading CA and Local Certificates Manually”
on page 1224.
Overview
In this example, traffic selectors are configured on the AutoVPN hub and spoke. Only traffic that conforms
to the configured traffic selector is forwarded through the tunnel. On the hub, the traffic selector is
configured with the local IP address 192.0.0.0/8 and the remote IP address 172.0.0.0/8. On the spoke,
the traffic selector is configured with the local IP address 172.0.0.0/8 and the remote IP address 192.0.0.0/8.
The traffic selector IP addresses configured on the spoke can be a subset of the traffic selector IP addresses
configured on the hub. This is known as traffic selector flexible match.
Certain Phase 1 and Phase 2 IKE tunnel options configured on the AutoVPN hubs and spokes must have
the same values. Table 46 on page 483 shows the values used in this example:
Table 46: Phase 1 and Phase 2 Options for AutoVPN Hubs and Spokes with Traffic Selectors
Option Value
IKE proposal:
Table 46: Phase 1 and Phase 2 Options for AutoVPN Hubs and Spokes with Traffic Selectors (continued)
Option Value
IKE policy:
Mode main
Certificate local-certificate
IKE gateway:
Version v1-only
IPsec proposal:
Protocol esp
150,000 kilobytes
IPsec policy:
Topology
Figure 24 on page 485 shows the SRX Series devices to be configured for this example.
485
reth 0 .0
19 2.168 .81.1/ 8
CHASSIS CLUSTER
HUB
reth 1.0
10 .2.2.1/24
ge- 0/ 0 /3 .0
10 .2.2.253/ 24
SPOKE
SRX Series
d evice
ge- 0/ 0 / 1.0
172.16 .1.1/24
172.16 .1.253/ 24
g0 4 3184
Configuration
IN THIS SECTION
Starting with Junos OS Release 15.1X49-D120, you can configure the CLI option
reject-duplicate-connection at the [edit security ike gateway gateway-name dynamic] hierarchy level to
retain an existing tunnel session and reject negotiation requests for a new tunnel with the same IKE ID.
By default, an existing tunnel is tear down when a new tunnel with the same IKE ID is established. The
reject-duplicate-connection option is only supported when ike-user-type group-ike-id or ike-user-type
shared-ike-id is configured for the IKE gateway; the aaa access-profile profile-name configuration is not
supported with this option.
Use the CLI option reject-duplicate-connection only when you are certain that reestablishment of a new
tunnel with the same IKE ID should be rejected.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/2 gigether-options redundant-parent reth1
user@host# set ge-0/0/3 gigether-options redundant-parent reth0
user@host# set ge-8/0/2 gigether-options redundant-parent reth1
user@host# set ge-8/0/3 gigether-options redundant-parent reth0
user@host# set lo0 unit 0 family inet address 10.100.1.100/24
user@host# set lo0 redundant-pseudo-interface-options redundancy-group 1
user@host# set reth0 redundant-ether-options redundancy-group 1
user@host# set reth0 unit 0 family inet address 192.168.81.1/8
user@host# set reth1 redundant-ether-options redundancy-group 1
user@host# set reth1 unit 0 family inet address 10.2.2.1/24
user@host# set st0 unit 1 family inet
Results
From configuration mode, confirm your configuration by entering the show interfaces, show security ike,
show security ipsec, show security pki, show security zones, and show security policies commands. If the
output does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show interfaces
ge-0/0/2 {
gigether-options {
redundant-parent reth1;
}
}
ge-0/0/3 {
gigether-options {
redundant-parent reth0;
}
}
lo0 {
unit 0 {
family inet {
address 10.100.1.100/24;
}
}
redundant-pseudo-interface-options {
redundancy-group 1;
}
490
}
reth0 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 192.168.81.1/8;
}
}
}
reth1 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 10.2.2.1/24;
}
}
}
st0 {
unit 1 {
family inet;
}
}
[edit]
user@host# show security ike
proposal prop_ike {
authentication-method rsa-signatures;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy ikepol1 {
mode main;
proposals prop_ike;
certificate {
local-certificate Hub_ID;
}
}
gateway HUB_GW {
ike-policy ikepol1;
dynamic distinguished-name wildcard DC=Domain_component;
491
all;
}
protocols {
all;
}
}
interfaces {
st0.1;
reth0.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
lo0.0;
reth1.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Configure interfaces.
494
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 172.16.1.1/24
user@host# set ge-0/0/3 unit 0 family inet address 10.2.2.253/24
user@host# set st0 unit 1 family inet
Results
From configuration mode, confirm your configuration by entering the show interfaces, show security ike,
show security ipsec, show security pki, show security zones, and show security policies commands. If the
output does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 172.16.1.1/24;
}
496
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 10.2.2.253/24;
}
}
}
st0 {
unit 1 {
family inet;
}
}
[edit]
user@host# show security ike
proposal prop_ike {
authentication-method rsa-signatures;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy ikepol1 {
mode main;
proposals prop_ike;
certificate {
local-certificate Spoke1_ID;
}
}
gateway SPOKE_GW {
ike-policy ikepol1;
address 10.2.2.1;
local-identity distinguished-name;
remote-identity distinguished-name container DC=Domain_component;
external-interface ge-0/0/3.0;
version v1-only;
}
[edit]
user@host# show security ipsec
proposal prop_ipsec {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-192-cbc;
lifetime-seconds 3600;
497
lifetime-kilobytes 150000;
}
policy ipsecpol1 {
perfect-forward-secrecy {
keys group5;
}
proposals prop_ipsec;
}
vpn SPOKE_VPN {
bind-interface st0.1;
ike {
gateway SPOKE_GW;
ipsec-policy ipsecpol1;
}
traffic-selector ts1 {
local-ip 172.0.0.0/8;
remote-ip 192.0.0.0/8;
}
establish-tunnels immediately;
}
[edit]
user@host# show security pki
ca-profile rsa {
ca-identity rsa;
revocation-check {
disable;
}
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
st0.1;
ge-0/0/3.0;
}
}
498
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Verifying Tunnels
Purpose
Verify that tunnels are established between the AutoVPN hub and spoke.
Action
From operational mode, enter the show security ike security-associations and show security ipsec
security-associations commands on the hub.
node0:
--------------------------------------------------------------------------
Index State Initiator cookie Responder cookie Mode Remote Address
node0:
--------------------------------------------------------------------------
Total active tunnels: 1
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<77594650 ESP:aes-cbc-192/sha1 ac97cb1 2799/ 150000 - root 500 10.2.2.253
node0:
--------------------------------------------------------------------------
From operational mode, enter the show security ike security-associations and show security ipsec
security-associations commands on the spoke.
Tunnel events:
Tue Dec 30 2014 11:30:20 -0800: IPSec SA negotiation successfully completed
(1 times)
Tue Dec 30 2014 11:30:20 -0800: IKE SA negotiation successfully completed (1
times)
Tue Dec 30 2014 11:26:11 -0800: Tunnel is ready. Waiting for trigger event or
peer to trigger negotiation (1 times)
Location: FPC 1, PIC 0, KMD-Instance 1
Direction: inbound, SPI: 828dc013, AUX-SPI: 0
Hard lifetime: Expires in 2991 seconds
Lifesize Remaining: 150000 kilobytes
Soft lifetime: Expires in 2369 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (192 bits)
Anti-replay service: counter-based enabled, Replay window size: 64
Location: FPC 1, PIC 0, KMD-Instance 1
Direction: outbound, SPI: ac97cb1, AUX-SPI: 0
Hard lifetime: Expires in 2991 seconds
Lifesize Remaining: 150000 kilobytes
Soft lifetime: Expires in 2369 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (192 bits)
Anti-replay service: counter-based enabled, Replay window size: 64
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. The show security
ipsec security-associations command lists all active IKE Phase 2 SAs. The hub shows one active tunnel to
the spoke while the spoke shows one active tunnel to the hub.
If no SAs are listed for IKE Phase 1, then there was a problem with Phase 1 establishment. Check the IKE
policy parameters and external interface settings in your configuration. Phase 1 proposal parameters must
match on the hub and spoke.
If no SAs are listed for IKE Phase 2, then there was a problem with Phase 2 establishment. Check the IKE
policy parameters and external interface settings in your configuration. Phase 2 proposal parameters must
match on the hub and spoke.
Purpose
Verify the traffic selectors.
Action
502
From operational mode, enter the show security ipsec traffic-selector interface-name st0.1 command
on the hub.
node0:
--------------------------------------------------------------------------
Source IP Destination IP Interface
Tunnel-id IKE-ID
192.0.0.0-192.255.255.255 172.0.0.0-172.255.255.255 st0.1
77594650 DC=Domain_component, CN=Spoke1_ID, OU=Sales, O=XYZ, L=Sunnyvale,
ST=CA, C=US
From operational mode, enter the show security ipsec traffic-selector interface-name st0.1 command
on the spoke.
Meaning
A traffic selector is an agreement between IKE peers to permit traffic through a tunnel if the traffic matches
a specified pair of local and remote addresses. Only traffic that conforms to a traffic selector is permitted
through an SA. Traffic selectors are negotiated between the initiator and the responder (the SRX Series
hub).
SEE ALSO
IN THIS SECTION
Requirements | 503
Overview | 504
Configuration | 506
Verification | 525
Georedundancy is the deployment of multiple geographically distant sites so that traffic can continue to
flow over a provider network even if there is a power outage, a natural disaster, or other catastrophic
event that affects a site. In a mobile provider network, multiple Evolved Node B (eNodeB) devices can be
connected to the core network through georedundant IPsec VPN gateways on SRX Series devices. The
alternate routes to the eNodeB devices are distributed to the core network using a dynamic routing
protocol.
This example configures AutoVPN hubs with multiple traffic selectors on SRX Series devices to ensure
that there are georedundant IPsec VPN gateways to eNodeB devices. Auto route insertion (ARI) is used
to automatically insert routes toward the eNodeB devices in the routing tables on the hubs. ARI routes
are then distributed to the provider’s core network through BGP.
Requirements
• Two SRX Series devices connected and configured in a chassis cluster. The chassis cluster is AutoVPN
hub A.
• eNodeB devices that can establish IPsec VPN tunnels with AutoVPN hubs. eNodeB devices are third-party
network equipment providers that initiate a VPN tunnel with AutoVPN hubs.
• Digital certificates enrolled in the hubs and the eNodeB devices that allow the devices to authenticate
each other.
504
• Obtain the address of the certificate authority (CA) and the information they require (such as the challenge
password) when you submit requests for local certificates. See “Understanding Local Certificate Requests”
on page 1214.
• Enroll the digital certificates in each device. See “Example: Loading CA and Local Certificates Manually”
on page 1224.
This example uses the BGP dynamic routing protocol to advertise routes toward the eNodeB devices to
the core network.
Overview
In this example, two AutoVPN hubs are configured with multiple traffic selectors on SRX Series devices
to provide georedundant IPsec VPN gateways to eNodeB devices. ARI automatically inserts routes to the
eNodeB devices in the routing tables on the hubs. ARI routes are then distributed to the provider’s core
network through BGP.
Certain Phase 1 and Phase 2 IKE tunnel options configured on the AutoVPN hubs and eNodeB devices
must have the same values. Table 47 on page 504 shows the values used in this example:
Table 47: Phase 1 and Phase 2 Options for Georedundant AutoVPN Hubs
Option Value
IKE proposal:
IKE policy:
Certificate local-certificate
IKE gateway:
Table 47: Phase 1 and Phase 2 Options for Georedundant AutoVPN Hubs (continued)
Option Value
Version v2-only
IPsec proposal:
Protocol esp
IPsec policy:
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview. For
simplicity, the configuration on the SRX Series devices allows all types of inbound traffic; this configuration
is not recommended for production deployments.
Topology
Figure 25 on page 505 shows the SRX Series devices to be configured for this example.
Configuration
IN THIS SECTION
Configuring Hub A
Step-by-Step Procedure
508
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure hub A:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/2 gigether-options redundant-parent reth1
user@host# set ge-0/0/3 gigether-options redundant-parent reth0
user@host# set ge-8/0/2 gigether-options redundant-parent reth1
user@host# set ge-8/0/3 gigether-options redundant-parent reth0
user@host# set lo0 unit 0 family inet address 100.100.1.100/24
user@host# set lo0 redundant-pseudo-interface-options redundancy-group 1
user@host# set reth0 redundant-ether-options redundancy-group 1
user@host# set reth0 unit 0 family inet address 172.168.2.1/16
user@host# set reth1 redundant-ether-options redundancy-group 1
user@host# set reth1 unit 0 family inet address 2.2.2.1/24
user@host# set st0 unit 1 family inet
Results
From configuration mode, confirm your configuration by entering the show interfaces show security ike,
show security ipsec, show protocols bgp, show policy-options, show security pki, show security zones,
and show security policies commands. If the output does not display the intended configuration, repeat
the instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
511
ge-0/0/2 {
gigether-options {
redundant-parent reth1;
}
}
ge-0/0/3 {
gigether-options {
redundant-parent reth0;
}
}
ge-8/0/2 {
gigether-options {
redundant-parent reth1;
}
}
ge-8/0/3 {
gigether-options {
redundant-parent reth0;
}
}
lo0 {
unit 0 {
family inet {
address 100.100.1.100/24;
}
}
redundant-pseudo-interface-options {
redundancy-group 1;
}
}
reth0 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 172.168.2.1/16;
}
}
}
reth1 {
redundant-ether-options {
redundancy-group 1;
}
512
unit 0 {
family inet {
address 2.2.2.1/24;
}
}
}
st0 {
unit 1 {
family inet;
}
}
[edit]
user@host# show security ike
proposal prop_ike {
authentication-method rsa-signatures;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy ph1_ike_policy {
proposals prop_ike;
certificate {
local-certificate HubA_certificate;
}
}
gateway HUB_GW {
ike-policy ph1_ike_policy;
dynamic {
distinguished-name {
wildcard DC=Common_component;
}
ike-user-type group-ike-id;
}
dead-peer-detection {
probe-idle-tunnel;
}
local-identity distinguished-name;
external-interface reth1;
version v2-only;
}
[edit]
user@host# show security ipsec
proposal prop_ipsec {
protocol esp;
513
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-256-cbc;
}
policy ph2_ipsec_policy {
perfect-forward-secrecy {
keys group5;
}
proposals prop_ipsec;
}
vpn HUB_VPN {
bind-interface st0.1;
ike {
gateway HUB_GW;
ipsec-policy ph2_ipsec_policy;
}
traffic-selector ts1 {
local-ip 172.0.0.0/8;
remote-ip 50.0.0.0/8;
}
traffic-selector ts2 {
local-ip 172.0.0.0/8;
remote-ip 30.0.0.0/8;
}
}
[edit]
user@host# show protocols bgp
group internal-peers {
type internal;
local-address 172.168.2.1;
export [ inject_ts1_routes inject_ts2_routes inject_up_routes ];
neighbor 172.168.2.4;
}
[edit]
user@host# show policy-options
policy-statement inject_ts1_routes {
term cp_allow {
from {
protocol static;
route-filter 30.1.2.0/24 orlonger;
route-filter 30.1.1.0/24 orlonger;
}
then {
next-hop self;
accept;
514
}
}
}
policy-statement inject_ts2_routes {
term mp_allow {
from {
protocol static;
route-filter 50.1.1.0/24 orlonger;
route-filter 50.1.2.0/24 orlonger;
}
then {
next-hop self;
accept;
}
}
}
policy-statement inject_up_routes {
term up_allow {
from {
protocol static;
route-filter 172.168.1.0/24 orlonger;
route-filter 172.168.2.0/24 orlonger;
}
then {
next-hop self;
accept;
}
}
}
[edit]
user@host# show security pki
ca-profile csa {
ca-identity csa;
revocation-check {
disable;
}
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
515
protocols {
all;
}
}
interfaces {
st0.1;
reth0.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
lo0.0;
reth1.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Hub B
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure hub B:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 4.4.4.1/24
user@host# set ge-0/0/2 unit 0 family inet address 172.169.1.1/16
user@host# set lo0 unit 0 family inet address 100.100.1.101/24
user@host# set st0 unit 1 family inet
Results
From configuration mode, confirm your configuration by entering the show interfaces show security ike,
show security ipsec, show protocols bgp, show security pki, show security zones, and show security
520
policies commands. If the output does not display the intended configuration, repeat the instructions in
this example to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 4.4.4.1/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 172.169.1.1/16;
}
}
}
lo0 {
unit 0 {
family inet {
address 100.100.1.101/24;
}
}
}
st0 {
unit 1 {
family inet;
}
}
[edit]
user@host# show security ike
proposal prop_ike {
authentication-method rsa-signatures;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy ph1_ike_policy {
proposals prop_ike;
certificate {
local-certificate HubB_certificate;
}
}
521
gateway HUB_GW {
ike-policy ph1_ike_policy;
dynamic {
distinguished-name {
wildcard DC=Common_component;
}
ike-user-type group-ike-id;
}
dead-peer-detection {
probe-idle-tunnel;
}
local-identity distinguished-name;
external-interface reth1;
version v2-only;
}
[edit]
user@host# show security ipsec
proposal prop_ipsec {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-256-cbc;
}
policy ph2_ipsec_policy {
perfect-forward-secrecy {
keys group5;
}
proposals prop_ipsec;
}
vpn HUB_VPN {
bind-interface st0.1;
ike {
gateway HUB_GW;
ipsec-policy ph2_ipsec_policy;
}
traffic-selector ts1 {
local-ip 172.0.0.0/8;
remote-ip 50.0.0.0/8;
}
traffic-selector ts2 {
local-ip 172.0.0.0/8;
remote-ip 30.0.0.0/8;
}
}
[edit]
522
}
}
}
[edit]
user@host# show security pki
ca-profile csa {
ca-identity csa;
revocation-check {
disable;
}
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
st0.1;
ge-0/0/2.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
lo0.0;
}
}
[edit]
user@host# show security policies
default-policy {
524
permit-all;
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The eNodeB configuration in this example is provided for reference. Detailed eNodeB configuration
information is beyond the scope of this document. The eNodeB configuration must include the following
information:
• Phase 1 and Phase 2 proposals that match the configurations on the SRX Series hubs
Results
The eNodeB devices in this example use strongSwan open source software for IPsec-based VPN
connections:
config setup
plutostart=yes
plutodebug=all
charondebug="ike 4, cfg 4, chd 4, enc 1"
charonstart=yes #ikev2 deamon"
nat_traversal=yes #<======= need to enable even no nat_t
conn %default
ikelifetime=60m
keylife=45m
rekeymargin=2m
keyingtries=4
mobike=no
conn Hub_A
keyexchange=ikev2
authby=pubkey
ike=aes256-sha-modp1536
esp=aes256-sha1-modp1536
leftcert=/usr/local/etc/ipsec.d/certs/fight02Req.pem.Email.crt
left=5.5.5.1 # self if
leftsubnet=30.1.1.0/24 # left subnet
leftid="CN=fight02, DC=Common_component, OU=Dept, O=Company, L=City, ST=CA,
525
conn Hub_B
keyexchange=ikev2
authby=pubkey
ike=aes256-sha-modp1536
esp=aes192-sha1-modp1536
leftcert=/usr/local/etc/ipsec.d/certs/fight02Req.pem.Email.crt
left=5.5.5.1 # self if
leftsubnet=30.1.1.0/24 # self net for proxy id
leftid="CN=fight02, DC=Common_component, OU=Dept, O=Company, L=City, ST=CA,
C=US " # self id
right=4.4.4.1 # peer if
rightsubnet=80.1.1.0/24 # peer net for proxy id
rightid="DC=Domain_component, CN=HubB_certificate, OU=Dept, O=Company, L=City,
ST=CA, C=US " # peer id
auto=add
leftfirewall=yes
dpdaction=restart
dpddelay=10
dpdtimeout=120
rekeyfuzz=10%
reauth=no
Verification
IN THIS SECTION
Purpose
Verify that tunnels are established between the AutoVPN hub and eNodeB devices.
Action
From operational mode, enter the show security ike security-associations and show security ipsec
security-associations commands on the hub.
node0:
--------------------------------------------------------------------------
Index State Initiator cookie Responder cookie Mode Remote Address
node0:
--------------------------------------------------------------------------
Total active tunnels: 2
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<77594626 ESP:aes-cbc-192/sha1 a82bbc3 3600/ 64 - root 500 1.1.1.1
>77594626 ESP:aes-cbc-192/sha1 c930a858 3600/ 64 - root 500 1.1.1.1
<69206018 ESP:aes-cbc-192/sha1 2b437fc 3600/ 64 - root 500 5.5.5.1
>69206018 ESP:aes-cbc-192/sha1 c6e02755 3600/ 64 - root 500 5.5.5.1
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. The show security
ipsec security-associations command lists all active IKE Phase 2 SAs. The hub shows two active tunnels,
one to each eNodeB device.
If no SAs are listed for IKE Phase 1, then there was a problem with Phase 1 establishment. Check the IKE
policy parameters and external interface settings in your configuration. Phase 1 proposal parameters must
match on the hub and eNodeB devices.
527
If no SAs are listed for IKE Phase 2, then there was a problem with Phase 2 establishment. Check the IKE
policy parameters and external interface settings in your configuration. Phase 2 proposal parameters must
match on the hub and eNodeB devices.
Purpose
Verify the traffic selectors.
Action
From operational mode, enter the show security ipsec traffic-selector interface-name st0.1 command.
node0:
--------------------------------------------------------------------------
Source IP Destination IP Interface
Tunnel-id IKE-ID
80.1.1.0-80.1.1.255 30.1.1.0-30.1.1.255 st0.1
69206018 DC=Common_component, CN=enodebA, OU=Dept, O=Company, L=City, ST=CA,
C=US
80.1.1.0-80.1.1.255 50.1.1.0-50.1.1.255 st0.1
77594626 DC=Common_component, CN=enodebB, OU=Dept, O=Company, L=City, ST=CA,
C=US
Meaning
A traffic selector is an agreement between IKE peers to permit traffic through a tunnel if the traffic matches
a specified pair of local and remote addresses. Only traffic that conforms to a traffic selector is permitted
through an SA. Traffic selectors are negotiated between the initiator and the responder (the SRX Series
hub).
Purpose
Verify that the ARI routes are added to the routing table.
Action
From operational mode, enter the show route command.
Meaning
Auto route insertion (ARI) automatically inserts a static route for the remote network and hosts protected
by a remote tunnel endpoint. A route is created based on the remote IP address configured in the traffic
selector. In the case of traffic selectors, the configured remote address is inserted as a route in the routing
instance associated with the st0 interface that is bound to the VPN.
Static routes to the eNodeB destinations 30.1.1.0/24 and 50.1.1.0/24 are added to the routing table on
the SRX Series hub. These routes are reachable through the st0.1 interface.
SEE ALSO
Release Description
17.4R1 Starting with Junos OS Release 17.4R1, IPv6 address is supported on AutoVPN.
17.4R1 Starting with Junos OS Release 17.4R1, AutoVPN networks that use secure tunnel interfaces
in point-to-point mode support IPv6 addresses for traffic selectors and for IKE peers.
15.1X49-D120 Starting with Junos OS Release 15.1X49-D120, you can configure the CLI option
reject-duplicate-connection at the [edit security ike gateway gateway-name dynamic]
hierarchy level to retain an existing tunnel session and reject negotiation requests for a new
tunnel with the same IKE ID.
RELATED DOCUMENTATION
IN THIS SECTION
Example: Improving Network Resource Utilization with Auto Discovery VPN Dynamic Tunnels | 538
Enabling OSPF to Update Routes Quickly After ADVPN Shortcut Tunnels Are Established | 624
Auto Discovery VPN (ADVPN) dynamically establishes VPN tunnels between spokes to avoid routing
traffic through the Hub.
IN THIS SECTION
Auto Discovery VPN (ADVPN) is a technology that allows the central HUB to dynamically inform spokes
about a better path for traffic between two spokes. When both spokes acknowledge the information from
the HUB, they establish a shortcut tunnel and change the routing topology for the host to reach the other
side without sending traffic through the HUB.
ADVPN Protocol
ADVPN use an extension of IKEv2 protocol to exchange messages between two peers, which allows the
spokes to establish a shortcut tunnel between each other. Devices that support the ADVPN extension
send an ADVPN_SUPPORTED notification in the IKEv2 Notify payload including its capability information
and the ADVPN version number during the initial IKE exchange. A device that supports ADVPN can act
as either a shortcut suggester or a shortcut partner, but not both.
Establishing a Shortcut
An IPsec VPN gateway can act as a shortcut suggester when it notices that traffic is exiting a tunnel with
one of its peers and entering a tunnel with another peer. Figure 26 on page 531 shows traffic from Spoke
1 to Spoke 3 passing through the hub.
Hub
INTERNET
g042808
When ADVPN is configured on the devices, ADVPN shortcut capability information is exchanged between
the hub and the spokes. As long as Spokes 1 and 3 have previously advertised ADVPN shortcut partner
capability to the hub, the hub can suggest that Spokes 1 and 3 establish a shortcut between each other.
The shortcut suggester uses its already established IKEv2 SAs with the peers to begin a shortcut exchange
with one of the two peers. If the peer accepts the shortcut exchange, then the shortcut suggester begins
532
a shortcut exchange with the other peer. The shortcut exchange includes information to allow the peers
(referred to as shortcut partners) to establish IKE and IPsec SAs with each other. The creation of the
shortcut between the shortcut partners starts only after both peers accept the shortcut exchange.
Figure 27 on page 532 shows traffic passing through a shortcut between Spokes 1 and 3. Traffic from Spoke
1 to Spoke 3 does not need to traverse the hub.
Hub
INTERNET
g042807
Spoke 1 Spoke 2 Spoke 3
The shortcut suggester chooses one of the shortcut partners to act as the initiator for the shortcut; the
other partner acts as the responder. If one of the partners is behind a NAT device, then the partner behind
the NAT device is chosen as the initiator. If none of the partners is behind a NAT device, then the suggester
randomly chooses one of the partners as the initiator; the other partner acts as the responder. If both
partners are behind NAT devices, then a shortcut cannot be created between them; the suggester does
not send a shortcut exchange to any of the peers.
The shortcut suggester begins the shortcut exchange with the responder first. If the responder accepts
the shortcut suggestion, then the suggester notifies the initiator.
Using information contained in the shortcut suggester’s notification, the shortcut initiator establishes an
IKEv2 exchange with the responder, and a new IPsec SA is established between the two partners. On each
partner, the route to the network behind its partner now points to the shortcut instead of to the tunnel
between the partner and the suggester. Traffic originating behind one of the partners that is destined to
a network behind the other shortcut partner flows over the shortcut.
533
If the partners decline the shortcut suggestion, then the partners notify the suggester with the reason for
the rejection. In this case, traffic between the partners continues to flow through the shortcut suggester.
Shortcut Attributes
The shortcut receives some of its attributes from the shortcut suggester while other attributes are inherited
from the suggester-partner VPN tunnel configuration. Table 48 on page 533 shows the parameters of the
shortcut.
ADVPN Configuration
Antireplay Configuration
DF bit Configuration
Protocol Configuration
Shortcut Termination
By default, the shortcut lasts indefinitely. Shortcut partners terminate the shortcut if traffic falls below a
specified rate for a specified time. By default, the shortcut is terminated if traffic falls below 5 packets per
second for 900 seconds; the idle time and idle threshold values are configurable for partners. The shortcut
can be manually deleted on either shortcut partner with the clear security ike security-association or clear
security ipsec security-association commands to clear the corresponding IKE or IPsec SA. Either of the
shortcut partners can terminate the shortcut at any time by sending an IKEv2 delete payload to the other
shortcut partner.
When the shortcut is terminated, the corresponding IKE SA and all child IPsec SAs are deleted. After the
shortcut is terminated, the corresponding route is deleted on both shortcut partners and traffic between
the two peers again flows through the suggester. Shortcut termination information is sent from a partner
to the suggester.
The lifetime of a shortcut is independent of the tunnel between the shortcut suggester and shortcut
partner. The shortcut is not terminated simply because the tunnel between the suggester and partner is
terminated.
• ADVPN is only supported for site-to-site communications. Configuring an ADVPN suggester is only
allowed on AutoVPN hubs.
• You cannot configure both suggester and partner roles. When ADVPN is enabled on a gateway, you
cannot disable both suggester and partner roles on the gateway.
535
• As mentioned previously, you cannot create a shortcut between partners that are both behind NAT
devices. The suggester can initiate a shortcut exchange if only one of the partners is behind a NAT device
or if no partners are behind NAT devices.
1. Starting in Junos OS Release 19.2R1, on SRX300, SRX320, SRX340, SRX345, SRX550, SRX1500,
vSRX 2.0 (with 2 vCPUs), and vSRX 3.0 (with 2 vCPUs) Series devices, Protocol Independent Multicast
(PIM) using point-to-multipoint (P2MP) mode supports Auto Discovery VPN in which a new p2mp
interface type is introduced for PIM. The p2mp interface tracks all PIM joins per neighbor to ensure
multicast forwarding or replication only happens to those neighbors that are in joined state.
• IKEv1
• Policy-based VPN
• Traffic selectors
• Preshared key
SEE ALSO
Tunnel flaps or catastrophic changes can cause both static tunnels and shortcut tunnels to go down. When
this happens, traffic to a specific destination might be routed through an unexpected shortcut tunnel
instead of through an expected static tunnel.
In Figure 28 on page 536, static tunnels exist between the hub and each of the spokes. OSPF adjacencies
are established between the hub and spokes. Spoke A also has a shortcut tunnel with Spoke B and OSPF
adjacencies are established between the spokes. The hub (the shortcut suggester) recognizes that if
connectivity between the hub and Spoke A goes down, Spoke A’s network can be reached through the
shortcut tunnel between Spoke B and Spoke A.
536
Figure 28: Static Tunnels and Shortcut Tunnel Established in Hub-and-Spoke Network
In Figure 29 on page 536, the static tunnel between the hub and Spoke A is down. If there is new traffic
from Spoke C to Spoke A, Spoke C forwards the traffic to the hub because it does not have a shortcut
tunnel with Spoke A. The hub does not have an active static tunnel with Spoke A but it recognizes that
there is a shortcut tunnel between Spoke A and Spoke B, so it forwards the traffic from Spoke C to Spoke
B.
As long as both Spoke B and Spoke C support Auto Discovery VPN (ADVPN) partner capability, the hub
can suggest that the spokes establish a direct shortcut between each other. This occurs even though there
is no direct traffic between the two spokes. Traffic from Spoke C to Spoke A travels through the shortcut
tunnel between Spoke C and Spoke B, and then through the shortcut tunnel between Spoke B and Spoke
A (see Figure 30 on page 537).
537
Figure 30: Traffic Path from Spoke C to Spoke A Through Shortcut Tunnels
When the static tunnel between the hub and Spoke A is reestablished, the tunnel is advertised to all spokes.
Spoke C learns that there is a better route to reach Spoke A; instead of passing traffic through Spoke B,
it forwards traffic for Spoke A to the hub. The hub suggests that a shortcut tunnel be established between
Spoke C and Spoke A. When the shortcut tunnel is established between Spoke C and Spoke A, traffic flows
through the shortcut tunnel (see Figure 31 on page 537). Traffic between Spoke C and Spoke A no longer
travels through Spoke B, and the shortcut tunnel between Spoke B and Spoke C eventually disappears.
Figure 31: Traffic Path from Spoke C to Spoke A Through Shortcut Tunnel
You can use the connection-limit option at the [edit security ike gateway gateway-name advpn partner]
hierarchy level to set the maximum number of shortcut tunnels that can be created with different shortcut
partners using a particular gateway. The maximum number, which is also the default, is platform-dependent.
SEE ALSO
538
IN THIS SECTION
Requirements | 538
Overview | 539
Configuration | 541
Verification | 565
If you are deploying an AutoVPN network, you might be able to increase your network resource utilization
by configuring Auto Discovery VPN (ADVPN). In AutoVPN networks, VPN traffic flows through the hub
even when the traffic is travelling from one spoke to another. ADVPN allows VPN tunnels to be established
dynamically between spokes, which can result in better network resource utilization. Use this example to
configure ADVPN to enable dynamic spoke-to-spoke VPN tunnels in your AutoVPN network.
Requirements
• Digital certificates enrolled in the hub and spokes that allow the devices to authenticate each other.
1. Obtain the address of the certificate authority (CA) and the information they require (such as the
challenge password) when you submit requests for local certificates. See “Understanding Local Certificate
Requests” on page 1214.
2. Enroll the digital certificates in each device. See “Example: Loading CA and Local Certificates Manually”
on page 1224.
539
This example uses the OSPF dynamic routing protocol as well as static route configurations to forward
packets through VPN tunnels. You should be familiar with the OSPF dynamic routing protocol that is used
to forward packets through the VPN tunnels.
Overview
This example shows the configurations of an AutoVPN hub and two spokes for ADVPN. The spokes
establish IPsec VPN connections to the hub, which allows them to communicate with each other as well
as to access resources on the hub. While traffic is initially passed from one spoke to the other through the
hub, ADVPN allows the spokes to establish a direct security association between each other. The hub acts
as the shortcut suggester. On the hub, the ADVPN configuration disables the partner role. On the spokes,
ADVPN configuration disables the suggester role.
Certain Phase 1 and Phase 2 IKE tunnel options configured on the AutoVPN hub and spokes must have
the same values. Table 49 on page 539 shows the values used in this example.
Table 49: Phase 1 and Phase 2 Options for AutoVPN Hub and Spokes for ADVPN Example
Option Value
IKE proposal:
IKE policy:
Certificate local-certificate
IKE gateway:
Version v2-only
IPsec proposal:
Protocol esp
Table 49: Phase 1 and Phase 2 Options for AutoVPN Hub and Spokes for ADVPN Example (continued)
Option Value
IPsec policy:
The IKE gateway configuration on the hub and spokes include remote and local values that identify VPN
peers. Table 50 on page 540 shows the IKE gateway configuration for the hub and spokes in this example.
Spoke 2: 11.1.1.1
Spoke 2: 31.1.1.2
Remote IKE ID Distinguished name (DN) with the string DN with the string “Sales” in the OU field
“XYZ” in the organization (O) field and “Sales” in the hub’s certificate
in the organization unit (OU) field in the
spokes’ certificates
The hub authenticates the spokes’ IKE ID if the subject fields of the spokes’ certificates contain the string
“XYZ” in the O field and “Sales” in the OU field.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Topology
Figure 32 on page 541 shows the SRX Series devices to be configured for this example.
541
Configuration
IN THIS SECTION
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/3 gigether-options redundant-parent reth0
user@host# set ge-0/0/4 gigether-options redundant-parent reth1
user@host# set ge-7/0/3 gigether-options redundant-parent reth0
user@host# set ge-7/0/4 gigether-options redundant-parent reth1
user@host# set reth0 redundant-ether-options redundancy-group 1
user@host# set reth0 unit 0 family inet address 10.1.1.1/24
user@host# set reth1 redundant-ether-options redundancy-group 1
user@host# set reth1 unit 0 family inet address 11.1.1.1/24
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet address 172.16.1.1/24
[edit routing-options]
user@host# set graceful-restart
user@host# set static route 21.1.1.0/24 next-hop 11.1.1.2
user@host# set static route 31.1.1.0/24 next-hop 11.1.1.2
user@host# set router-id 172.16.1.1
6. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security pki, show security zones,
and show security policies commands. If the output does not display the intended configuration, repeat
the instructions in this example to correct the configuration.
546
[edit]
user@host# show interfaces
ge-0/0/3 {
gigether-options {
redundant-parent reth0;
}
}
ge-0/0/4 {
gigether-options {
redundant-parent reth1;
}
}
ge-7/0/3 {
gigether-options {
redundant-parent reth0;
}
}
ge-7/0/4 {
gigether-options {
redundant-parent reth1;
}
}
reth0 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 10.1.1.1/24;
}
}
}
reth1 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 11.1.1.1/24;
}
}
}
st0 {
unit 1 {
547
multipoint;
family inet {
address 172.16.1.1/24;
}
}
}
[edit]
user@host# show protocols
ospf {
graceful-restart {
restart-duration 300;
notify-duration 300;
no-strict-lsa-checking;
}
area 0.0.0.0 {
interface st0.1 {
interface-type p2mp;
metric 10;
retransmit-interval 1;
dead-interval 40;
demand-circuit;
dynamic-neighbors;
}
interface reth0.0;
}
}
[edit]
user@host# show routing-options
graceful-restart;
static {
route 21.1.1.0/24 next-hop 11.1.1.2;
route 31.1.1.0/24 next-hop 11.1.1.2;
}
router-id 172.16.1.1;
[edit]
user@host# show security ike
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy IKE_POL {
proposals IKE_PROP;
548
certificate {
local-certificate Suggester_Certificate_ID;
}
}
gateway SUGGESTER_GW {
ike-policy IKE_POL;
dynamic {
distinguished-name {
wildcard O=XYZ, OU=Sales;
}
ike-user-type group-ike-id;
}
dead-peer-detection {
}
local-identity distinguished-name;
external-interface reth1.0
local-address 11.1.1.1;
advpn {
partner {
disable;
}
suggester {
]
}
version v2-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-256-cbc;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group5;
}
proposals IPSEC_PROP;
}
vpn SUGGESTER_VPN {
bind-interface st0.1;
ike {
gateway SUGGESTER_GW;
ipsec-policy IPSEC_POL;
549
}
}
[edit]
user@host# show security pki
ca-profile advpn {
ca-identity advpn;
enrollment {
url http://10.157.92.176:8080/scep/advpn/;
}
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
st0.1;
reth0.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
reth1.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
550
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure spoke 1:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/3 gigether-options redundant-parent reth0
user@host# set ge-0/0/4 gigether-options redundant-parent reth1
user@host# set ge-7/0/3 gigether-options redundant-parent reth0
user@host# set ge-7/0/4 gigether-options redundant-parent reth1
user@host# set reth0 redundant-ether-options redundancy-group 1
user@host# set reth0 unit 0 family inet address 25.1.1.1/24
user@host# set reth1 redundant-ether-options redundancy-group 1
user@host# set reth1 unit 0 family inet address 21.1.1.2/24
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet address 172.16.1.2/24
[edit routing-options]
user@host# set graceful-restart
user@host# set static route 11.1.1.0/24 next-hop 21.1.1.1
user@host# set static route 31.1.1.0/24 next-hop 21.1.1.1
user@host# set router-id 172.16.1.2
6. Configure zones.
Results
554
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security pki, show security zones,
and show security policies commands. If the output does not display the intended configuration, repeat
the instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/3 {
gigether-options {
redundant-parent reth0;
}
}
ge-0/0/4 {
gigether-options {
redundant-parent reth1;
}
}
ge-7/0/3 {
gigether-options {
redundant-parent reth0;
}
}
ge-7/0/4 {
gigether-options {
redundant-parent reth1;
}
}
reth0 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 25.1.1.1/24;
}
}
}
reth1 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 21.1.1.2/24;
555
}
}
}
st0 {
unit 1 {
multipoint;
family inet {
address 172.16.1.2/24;
}
}
}
[edit]
user@host# show protocols
ospf {
graceful-restart {
restart-duration 300;
notify-duration 300;
no-strict-lsa-checking;
}
area 0.0.0.0 {
interface st0.1 {
interface-type p2mp;
metric 15;
retransmit-interval 1;
dead-interval 40;
demand-circuit;
dynamic-neighbors;
}
interface reth0.0;
}
}
[edit]
user@host# show routing-options
graceful-restart;
static {
route 11.1.1.0/24 next-hop 21.1.1.1;
route 31.1.1.0/24 next-hop 21.1.1.1;
}
router-id 172.16.1.2;
[edit]
user@host# show security ike
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group5;
556
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy IKE_POL {
proposals IKE_PROP;
certificate {
local-certificate Partner1_Certificate_ID;
}
}
gateway PARTNER_GW {
ike-policy IKE_POL;
address 11.1.1.1;
local-identity distinguished-name;
remote-identity distinguished-name container OU=Sales;
external-interface reth1;
local-address 21.1.1.2;
advpn {
suggester {
disable;
}
partner {
}
}
version v2-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-256-cbc;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group5;
}
proposals IPSEC_PROP;
}
vpn PARTNER_VPN {
bind-interface st0.1;
ike {
gateway PARTNER_GW;
ipsec-policy IPSEC_POL;
}
557
establish-tunnels immediately;
}
[edit]
user@host# show security pki
ca-profile advpn {
ca-identity advpn;
enrollment {
url http://10.157.92.176:8080/scep/advpn/;
}
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
st0.1;
reth0.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
reth1.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
558
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure spoke 2:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/2 unit 0 family inet address 31.1.1.2/24
user@host# set ge-0/0/4 unit 0 family inet address 36.1.1.1/24
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet address 172.16.1.3/24
[edit routing-options]
user@host# set graceful-restart
user@host# set static route 11.1.1.0/24 next-hop 31.1.1.1
user@host# set static route 21.1.1.0/24 next-hop 31.1.1.1
user@host# set router-id 172.16.1.3
6. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security pki, show security zones,
and show security policies commands. If the output does not display the intended configuration, repeat
the instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/2 {
562
unit 0 {
family inet {
address 31.1.1.2/24;
}
}
}
ge-0/0/4{
unit 0 {
family inet {
address 36.1.1.1/24;
}
}
}
st0 {
unit 1 {
multipoint;
family inet {
address 172.16.1.3/24;
}
}
}
[edit]
user@host# show protocols
ospf {
graceful-restart {
restart-duration 300;
notify-duration 300;
no-strict-lsa-checking;
}
area 0.0.0.0 {
interface st0.1 {
interface-type p2mp;
metric 15;
retransmit-interval 1;
dead-interval 40;
demand-circuit;
dynamic-neighbors;
}
interface ge-0/0/4.0;
}
}
[edit]
user@host# show routing-options
graceful-restart;
563
static {
route 11.1.1.0/24 next-hop 31.1.1.1;
route 21.1.1.0/24 next-hop 31.1.1.1;
}
router-id 172.16.1.3;
[edit]
user@host# show security ike
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy IKE_POL {
proposals IKE_PROP;
certificate {
local-certificate Partner2_Certificate_ID
}
}
gateway PARTNER_GW {
ike-policy IKE_POL;
address 11.1.1.1;
local-identity distinguished-name;
remote-identity distinguished-name container OU=Sales;
external-interface ge-0/0/2.0;
local-address 31.1.1.2;
advpn {
suggester{
disable;
}
partner {
}
}
version v2-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-256-cbc;
}
policy IPSEC_POL {
perfect-forward-secrecy {
564
keys group5;
}
proposals IPSEC_PROP;
}
vpn PARTNER_VPN {
bind-interface st0.1;
ike {
gateway PARTNER_GW;
ipsec-policy IPSEC_POL;
}
establish-tunnels immediately;
}
[edit]
user@host# show security pki
ca-profile advpn {
ca-identity advpn;
enrollment {
url http://10.157.92.176:8080/scep/advpn/;
}
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/4.0;
st0.1;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
565
}
interfaces {
ge-0/0/2.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Confirm that the configuration is working properly. First, verify that tunnels are established between the
AutoVPN hub and spokes. When traffic is passed from one spoke to another through the hub, a shortcut
can be established between the spokes. Verify that the shortcut partners have established a tunnel between
them and that a route to the peer is installed on the partners.
Purpose
Verify that tunnels are established between the AutoVPN hub and spokes. Initial traffic from one spoke
to another must travel through the hub.
Action
From operational mode, enter the show security ike security-associations and show security ipsec
security-associations commands on the hub and spokes.
node1:
--------------------------------------------------------------------------
Index State Initiator cookie Responder cookie Mode Remote Address
node1:
--------------------------------------------------------------------------
IKE peer 31.1.1.2, Index 10957048, Gateway Name: SUGGESTER_GW
Auto Discovery VPN:
Type: Static, Local Capability: Suggester, Peer Capability: Partner
Suggester Shortcut Suggestions Statistics:
Suggestions sent : 0
Suggestions accepted: 0
Suggestions declined: 0
Role: Responder, State: UP
Initiator cookie: 2d58d8fbc396762d, Responder cookie: 46145be580c68be0
Exchange type: IKEv2, Authentication method: RSA-signatures
Local: 11.1.1.1:500, Remote: 31.1.1.2:500
Lifetime: Expires in 28196 seconds
Peer ike-id: DC=XYZ, CN=partner2, OU=Sales, O=XYZ, L=NewYork, ST=NY, C=US
Xauth user-name: not available
Xauth assigned IP: 0.0.0.0
Algorithms:
Authentication : hmac-sha1-96
Encryption : aes256-cbc
Pseudo random function: hmac-sha1
Diffie-Hellman group : DH-group-5
Traffic statistics:
Input bytes : 2030
Output bytes : 2023
Input packets: 4
Output packets: 4
IPSec security associations: 2 created, 0 deleted
Phase 2 negotiations in progress: 1
node1:
--------------------------------------------------------------------------
Total active tunnels: 2
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<201326593 ESP:aes-cbc-256/sha1 44ccf265 2999/ unlim - root 500 31.1.1.2
node1:
--------------------------------------------------------------------------
node0:
--------------------------------------------------------------------------
Index State Initiator cookie Responder cookie Mode Remote Address
node0:
--------------------------------------------------------------------------
IKE peer 11.1.1.1, Index 578872, Gateway Name: PARTNER_GW
Auto Discovery VPN:
Type: Static, Local Capability: Partner, Peer Capability: Suggester
Partner Shortcut Suggestions Statistics:
Suggestions received: 0
Suggestions accepted: 0
Suggestions declined: 0
Role: Initiator, State: UP
Initiator cookie: fa05ee6d0f2cfb22, Responder cookie: 16f5ca836b118c0e
Exchange type: IKEv2, Authentication method: RSA-signatures
Local: 21.1.1.2:500, Remote: 11.1.1.1:500
Lifetime: Expires in 28183 seconds
Peer ike-id: DC=XYZ, CN=suggester, OU=Sales, O=XYZ, L=Sunnyvale, ST=CA, C=US
571
node0:
--------------------------------------------------------------------------
Total active tunnels: 1
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<67108866 ESP:aes-cbc-256/sha1 de912bcd 2985/ unlim - root 500 11.1.1.1
node0:
--------------------------------------------------------------------------
Version: IKEv2
DF-bit: clear, Bind-interface: st0.1
Port: 500, Nego#: 0, Fail#: 0, Def-Del#: 0 Flag: 0x8608a29
Tunnel events:
Tue Jan 13 2015 12:58:11 -0800: IPSec SA negotiation successfully completed
(1 times)
Tue Jan 13 2015 12:58:11 -0800: Tunnel is ready. Waiting for trigger event or
peer to trigger negotiation (1 times)
Tue Jan 13 2015 12:58:11 -0800: IKE SA negotiation successfully completed (1
times)
Direction: inbound, SPI: de912bcd, AUX-SPI: 0
Hard lifetime: Expires in 2980 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2358 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (256 bits)
Anti-replay service: counter-based enabled, Replay window size: 64
Direction: outbound, SPI: 98a2b155, AUX-SPI: 0
Hard lifetime: Expires in 2980 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2358 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (256 bits)
Anti-replay service: counter-based enabled, Replay window size: 64
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. The show security
ipsec security-associations command lists all active IKE Phase 2 SAs. The hub shows two active tunnels,
one to each spoke. Each spoke shows an active tunnel to the hub.
576
If no SAs are listed for IKE Phase 1, then there was a problem with Phase 1 establishment. Check the IKE
policy parameters and external interface settings in your configuration. Phase 1 proposal parameters must
match on the hub and spokes.
If no SAs are listed for IKE Phase 2, then there was a problem with Phase 2 establishment. Check the IKE
policy parameters and external interface settings in your configuration. Phase 2 proposal parameters must
match on the hub and spokes.
The show route protocol ospf command displays entries in the routing table that were learned from the
OSPF protocol. The show ospf neighbor command displays information about OSPF neighbors.
Purpose
The AutoVPN hub can act as a shortcut suggester when it notices that traffic is exiting a tunnel with one
of its spokes and entering a tunnel with another spoke. A new IPsec SA, or shortcut, is established between
the two shortcut partners. On each partner, the route to the network behind its partner now points to the
shortcut tunnel instead of to the tunnel between the partner and the suggester (hub).
Action
From operational mode, enter the show security ike security-associations, show security ipsec
security-associations, show route protocol ospf, and show ospf neighbor commands on the spokes.
node0:
--------------------------------------------------------------------------
Index State Initiator cookie Responder cookie Mode Remote Address
node0:
--------------------------------------------------------------------------
IKE peer 31.1.1.2, Index 10957048, Gateway Name: SUGGESTER_GW
Auto Discovery VPN:
Type: Static, Local Capability: Suggester, Peer Capability: Partner
Suggester Shortcut Suggestions Statistics:
577
Suggestions sent : 1
Suggestions accepted: 1
Suggestions declined: 0
Role: Responder, State: UP
Initiator cookie: 2d58d8fbc396762d, Responder cookie: 46145be580c68be0
Exchange type: IKEv2, Authentication method: RSA-signatures
Local: 11.1.1.1:500, Remote: 31.1.1.2:500
Lifetime: Expires in 27781 seconds
Peer ike-id: DC=XYZ, CN=partner2, OU=Sales, O=XYZ, L=NewYork, ST=NY, C=US
Xauth user-name: not available
Xauth assigned IP: 0.0.0.0
Algorithms:
Authentication : hmac-sha1-96
Encryption : aes256-cbc
Pseudo random function: hmac-sha1
Diffie-Hellman group : DH-group-5
Traffic statistics:
Input bytes : 260
Output bytes : 548
Input packets: 3
Output packets: 3
IPSec security associations: 0 created, 0 deleted
Phase 2 negotiations in progress: 1
node0:
--------------------------------------------------------------------------
s Total active tunnels: 2
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<201326593 ESP:aes-cbc-256/sha1 44ccf265 2584/ unlim - root 500 31.1.1.2
node0:
--------------------------------------------------------------------------
node0:
--------------------------------------------------------------------------
IKE peer 11.1.1.1, Index 578872, Gateway Name: PARTNER_GW
Auto Discovery VPN:
Type: Static, Local Capability: Partner, Peer Capability: Suggester
Partner Shortcut Suggestions Statistics:
Suggestions received: 1
Suggestions accepted: 1
Suggestions declined: 0
Role: Initiator, State: UP
Initiator cookie: fa05ee6d0f2cfb22, Responder cookie: 16f5ca836b118c0e
Exchange type: IKEv2, Authentication method: RSA-signatures
Local: 21.1.1.2:500, Remote: 11.1.1.1:500
Lifetime: Expires in 27906 seconds
Peer ike-id: DC=XYZ, CN=suggester, OU=Sales, O=XYZ, L=Sunnyvale, ST=CA, C=US
Xauth user-name: not available
Xauth assigned IP: 0.0.0.0
Algorithms:
Authentication : hmac-sha1-96
Encryption : aes256-cbc
Pseudo random function: hmac-sha1
Diffie-Hellman group : DH-group-5
Traffic statistics:
Input bytes : 2495
Output bytes : 2274
Input packets: 6
Output packets: 7
IPSec security associations: 2 created, 0 deleted
Phase 2 negotiations in progress: 1
C=US
Flags: IKE SA is created
node0:
--------------------------------------------------------------------------
Total active tunnels: 2
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<67108866 ESP:aes-cbc-256/sha1 de912bcd 2709/ unlim - root 500 11.1.1.1
node0:
--------------------------------------------------------------------------
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. The show security
ipsec security-associations command lists all active IKE Phase 2 SAs. The hub still shows two active tunnels,
one to each spoke. Each spoke shows two active tunnels, one to the hub and one to its shortcut partner.
The show route protocol ospf command shows the addition of routes to the partner and to the hub.
SEE ALSO
IN THIS SECTION
Requirements | 590
Overview | 590
Configuration | 593
Verification | 621
590
This example shows how to configure an ADVPN hub and two spokes to create a shortcut tunnel and
change the routing topology for the host to reach the other side without sending traffic through the hub.
This example configures ADVPN for IPv6 environment using OSPFv3 to forward packets through the VPN
tunnels.
Requirements
• Obtain the address of the certificate authority (CA) and the information they require (such as the challenge
password) when you submit requests for local certificates.
You should be familiar with the dynamic routing protocol that is used to forward packets through the VPN
tunnels.
Overview
This example shows the configuration of an ADVPN hub and the subsequent configurations of two spokes.
In this example, the first step is to enroll digital certificates in each device using the Simple Certificate
Enrollment Protocol (SCEP). The certificates for the spokes contain the organizational unit (OU) value
“SLT” in the subject field; the hub is configured with a group IKE ID to match the value “SLT” in the OU
field.
The spokes establish IPsec VPN connections to the hub, which allows them to communicate with each
other as well as access resources on the hub. Phase 1 and Phase 2 IKE tunnel options configured on the
ADVPN hub and all spokes must have the same values. Table 43 on page 449 shows the options used in
this example.
Table 51: Phase 1 and Phase 2 Options for ADPN Hub and Spoke Basic OSPFv3 Configurations
Option Value
IKE proposal:
Table 51: Phase 1 and Phase 2 Options for ADPN Hub and Spoke Basic OSPFv3 Configurations (continued)
Option Value
IKE policy:
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 44 on page 449 shows the options configured on the hub and on all spokes.
Table 52: ADVPN OSPFv3 Configuration for Hub and All Spokes
IKE gateway:
Remote IKE ID Distinguished name (DN) on the spoke’s DN on the hub’s certificate
certificate with the string SLT in the
organizational unit (OU) field
Spoke 2: ge-0/0/0.0
VPN:
592
Table 52: ADVPN OSPFv3 Configuration for Hub and All Spokes (continued)
Table 45 on page 450 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Topology
Figure 23 on page 451 shows the SRX Series devices to be configured for ADVPN in this example.
593
Trust Zone
2001:db8:1000::2/64
reth0
2001:db8:1000::1/64
st0.1
Hub
2001:db8:9000::1/64
rth1
2001:db8:2000::1/64
Untrust Zone
INTERNET
2001:db8:1710:f00::2
CA Server
ge-0/0/0.0 ge-0/0/0.0
2001:db8:3000::2/64 2001:db8:5000::2/64
st0.1 st0.1
Spoke 1 Spoke 2
2001:db8:9000::2/64 2001:db8:9000::3/64
ge-0/0/1.0 ge-0/0/1.0
2001:db8:4000::1/64 2001:db8:6000::1/64
2001:db8:4000::2/64 2001:db8:6000::2/64
g200268
Trust Zone Trust Zone
Configuration
IN THIS SECTION
The first section describes how to obtain CA and local certificates online using the Simple Certificate
Enrollment Protocol (SCEP) on the hub and spoke devices.
Step-by-Step Procedure
To enroll digital certificates with SCEP on the hub:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url
http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 1.1.1.1 subject
DC=example.net,CN=hub,OU=SLT,O=example,L=Bangalore,ST=KA,C=IN challenge-password <password>
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 1:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url
http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
596
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 2.2.2.1 subject
DC=example.net,CN=spoke1,OU=SLT,O=example,L=Mysore,ST=KA,C=IN challenge-password <password>
e4:24:1a:19:0d:14:2c:4b:94:a4:04:91:3f:cb:ef:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
http://ca-server1/CertEnroll/CASERVER1.crl
file://\\ca-server1\CertEnroll\CASERVER1.crl
Fingerprint:
b6:24:2a:0e:96:5d:8c:4a:11:f3:5a:24:89:7c:df:ea:d5:c0:80:56 (sha1)
31:58:7f:15:bb:d4:66:b8:76:1a:42:4a:8a:16:b3:a9 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
Step-by-Step Procedure
To enroll digital certificates with SCEP on spoke 2:
[edit]
user@host# set security pki ca-profile ca-profile1 ca-identity ca-profile1
user@host# set security pki ca-profile ca-profile1 enrollment url
http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile ca-profile1 revocation-check disable
user@host# commit
user@host> request security pki local-certificate enroll ca-profile ca-profile1 certificate-id Local1 domain-name
example.net email [email protected] ip-address 3.3.3.1 subject
DC=example.net,CN=spoke2,OU=SLT,O=example,L=Tumkur,ST=KA,C=IN challenge-password <password>
The organizational unit (OU) shown in the subject field is SLT. The IKE configuration on the hub includes
ou=SLT to identify the spoke.
599
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
[edit interfaces]
user@host# set ge-0/0/0 gigether-options redundant-parent reth1
user@host# set ge-0/0/1 gigether-options redundant-parent reth0
user@host# set ge-7/0/0 gigether-options redundant-parent reth1
user@host# set ge-7/0/1 gigether-options redundant-parent reth0
user@host# set reth0 redundant-ether-options redundancy-group 1
user@host# set reth0 unit 0 family inet
user@host# set reth0 unit 0 family inet6 address 2001:db8:1000::1/64
user@host# set reth1 redundant-ether-options redundancy-group 1
user@host# set reth1 unit 0 family inet
601
[edit routing-options]
user@host# set rib inet6.0 static route 2001:db8:3000::0/64 next-hop 2001:db8:2000::2
user@host# set rib inet6.0 static route 2001:db8:5000::0/64 next-hop 2001:db8:2000::2
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security zones, show security policies,
and show security pki show chassis cluster commands. If the output does not display the intended
configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
gigether-options {
redundant-parent reth1;
}
}
ge-0/0/1 {
gigether-options {
redundant-parent reth0;
}
}
reth0 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet;
family inet6 {
address 2001:db8:1000::1/64;
}
}
}
reth1 {
redundant-ether-options {
redundancy-group 1;
604
}
unit 0 {
family inet;
family inet6 {
address 2001:db8:2000::1/64;
}
}
}
st0 {
unit 1 {
multipoint;
family inet6 {
address 2001:db8:9000::1/64 {
primary;
}
}
}
}
[edit]
user@host# show protocols
ospf3 {
area 0.0.0.0 {
interface st0.1 {
interface-type p2mp;
demand-circuit;
dynamic-neighbors;
}
interface ge-0/0/1.0;
interface reth0.0;
}
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route 2001:db8:3000::/64 next-hop 2001:db8:2000::2;
route 2001:db8:5000::/64 next-hop 2001:db8:2000::2;
}
}
[edit]
user@host# show security ike
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group19;
605
authentication-algorithm sha-384;
encryption-algorithm aes-256-cbc;
lifetime-seconds 6000;
}
policy IKE_POL {
mode main;
proposals IKE_PROP;
certificate {
local-certificate HUB;
}
}
gateway IKE_GWA_1 {
ike-policy IKE_POL;
dynamic {
distinguished-name {
wildcard OU=SLT;
}
ike-user-type group-ike-id;
}
dead-peer-detection {
always-send;
interval 10;
threshold 3;
}
local-identity distinguished-name;
external-interface reth1;
advpn {
partner {
disable;
}
}
version v2-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
encryption-algorithm aes-256-gcm;
lifetime-seconds 3000;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group19;
}
606
proposals IPSEC_PROP;
}
vpn IPSEC_VPNA_1 {
bind-interface st0.1;
ike {
gateway IKE_GWA_1;
ipsec-policy IPSEC_POL;
}
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
st0.1;
reth1.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
reth0.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
[edit]
607
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 1:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet6 address 2001:db8:3000::2/64
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:4000::1/64
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet6 address 2001:db8:9000::2/64
[edit routing-options]
user@host# set rib inet6.0 static route 2001:db8:2000::/64 next-hop 2001:db8:3000::1
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security zones, show security policies,
611
and show security pki commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet6 {
address 2001:db8:3000::2/64;
}
}
}
ge-0/0/1 {
unit 0 {
family inet6 {
address 2001:db8:4000::1/64;
}
}
}
st0 {
unit 1 {
multipoint;
family inet6 {
address 2001:db8:9000::2/64;
}
}
}
[edit]
user@host# show protocols
ospf3 {
area 0.0.0.0 {
interface st0.1 {
interface-type p2mp;
dynamic-neighbors;
}
interface ge-0/0/1.0;
}
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route 2001:db8:2000::/64 next-hop [ 2001:db8:3000::1 2001:db8:5000::1 ];
}
}
612
[edit]
user@host# show security ike
proposal IKE_PROP {
authentication-method rsa-signatures;
dh-group group19;
authentication-algorithm sha-384;
encryption-algorithm aes-256-cbc;
lifetime-seconds 6000;
}
policy IKE_POL {
mode main;
proposals IKE_PROP;
certificate {
local-certificate SPOKE1;
}
}
gateway IKE_GW_SPOKE_1 {
ike-policy IKE_POL;
address 2001:db8:2000::1;
dead-peer-detection {
always-send;
interval 10;
threshold 3;
}
local-identity distinguished-name;
remote-identity distinguished-name container OU=SLT;
external-interface ge-0/0/0.0;
advpn {
suggester {
disable;
}
}
version v2-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
encryption-algorithm aes-256-gcm;
lifetime-seconds 3000;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group19;
613
}
proposals IPSEC_PROP;
}
vpn IPSEC_VPN_SPOKE_1 {
bind-interface st0.1;
ike {
gateway IKE_GW_SPOKE_1;
ipsec-policy IPSEC_POL;
}
establish-tunnels immediately;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
st0.1;
ge-0/0/0.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/1.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
614
}
[edit]
user@host# show security pki
ca-profile ROOT-CA {
ca-identity ROOT-CA;
enrollment {
url http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll;
retry 5;
retry-interval 0;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure spoke 2:
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet6 address 2001:db8:5000::2/64
user@host# set ge-0/0/1 unit 0 family inet6 address 2001:db8:6000::1/64
user@host# set st0 unit 1 family inet6 address 2001:db8:9000::3/64
[edit routing-options]
user@host# set rib inet6.0 static route 2001:db8:2000::/64 next-hop 2001:db8:5000::1
5. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show routing-options, show security ike, show security ipsec, show security zones, show security policies,
618
and show security pki commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet6 {
address 2001:db8:5000::2/64;
}
}
}
ge-0/0/1 {
unit 0 {
family inet6 {
address 2001:db8:6000::1/64;
}
}
}
st0 {
unit 1 {
family inet6 {
address 2001:db8:9000::3/64;
}
}
}
[edit]
user@host# show protocols
ospf3 {
area 0.0.0.0 {
interface st0.1 {
interface-type p2mp;
dynamic-neighbors;
}
interface ge-0/0/1.0;
}
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route 2001:db8:2000::/64 next-hop [ 2001:db8:3000::1 2001:db8:5000::1 ];
}
}
[edit]
619
proposals IPSEC_PROP;
}
vpn IPSEC_VPN_SPOKE_2 {
bind-interface st0.1;
ike {
gateway IKE_GW_SPOKE_2;
ipsec-policy IPSEC_POL;
}
establish-tunnels immediately;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/0.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
ospf3;
}
}
interfaces {
ge-0/0/1.0;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
621
[edit]
user@host# show security pki
ca-profile ROOT-CA {
ca-identity ROOT-CA;
enrollment {
url http://2001:db8:1710:f00::2/certsrv/mscep/mscep.dll;
retry 5;
retry-interval 0;
}
revocation-check {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE status.
Action
Meaning
The show security ike sa command lists all active IKE Phase 1 SAs. If no SAs are listed, there was a problem
with Phase 1 establishment. Check the IKE policy parameters and external interface settings in your
configuration. Phase 1 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec status.
Action
Meaning
The show security ipsec sa command lists all active IKE Phase 2 SAs. If no SAs are listed, there was a
problem with Phase 2 establishment. Check the IKE policy parameters and external interface settings in
your configuration. Phase 2 proposal parameters must match on the hub and spokes.
Purpose
Verify the IPsec next-hop tunnels.
623
Action
From operational mode, enter the show security ipsec next-hop-tunnels command.
Meaning
The next-hop gateways are the IP addresses for the st0 interfaces of the spokes. The next hop should be
associated with the correct IPsec VPN name.
Verifying OSPFv3
Purpose
Verify that OSPFv3 references the IP addresses for the st0 interfaces of the spokes.
Action
From operational mode, enter the show ospf3 neighbor interface command.
SEE ALSO
Symptoms: When a shortcut tunnel is established between two shortcut partners, OSPF initiates an OSPF
hello packet. Because of the timing of the shortcut tunnel establishment and the OSPF neighbor installation,
the first packet in the tunnel might be dropped. This can cause OSPF to try again to establish an OSPF
adjacency.
By default, the interval at which the OSPF retries to establish an adjacency is 10 seconds. After a shortcut
tunnel is established, it can take more than 10 seconds for OSPF to establish an adjacency between the
partners.
Solution
Configuring a smaller retry interval, such as 1 or 2 seconds, can enable OSPF to establish adjacencies faster
over the shortcut tunnel. For example, use the following configurations:
[edit]
set protocols ospf area 0.0.0.0 interface st0.1 retransmit-interval 1
set protocols ospf area 0.0.0.0 interface st0.1 dead-interval 40
SEE ALSO
Release Description
19.2R1 Starting in Junos OS Release 19.2R1, on SRX300, SRX320, SRX340, SRX345, SRX550, SRX1500,
vSRX 2.0 (with 2 vCPUs), and vSRX 3.0 (with 2 vCPUs) Series devices, Protocol Independent
Multicast (PIM) using point-to-multipoint (P2MP) mode supports Auto Discovery VPN in which
a new p2mp interface type is introduced for PIM.
RELATED DOCUMENTATION
IN THIS SECTION
A policy-based VPN is a configuration in which an IPsec VPN tunnel created between two end points is
specified within the policy itself with a policy action for the transit traffic that meets the policy’s match
criteria.
For policy-based IPsec VPNs, a security policy specifies as its action the VPN tunnel to be used for transit
traffic that meets the policy’s match criteria. A VPN is configured independent of a policy statement. The
policy statement refers to the VPN by name to specify the traffic that is allowed access to the tunnel. For
policy-based VPNs, each policy creates an individual IPsec security association (SA) with the remote peer,
each of which counts as an individual VPN tunnel. For example, if a policy contains a group source address
and a group destination address, whenever one of the users belonging to the address set attempts to
communicate with any one of the hosts specified as the destination address, a new tunnel is negotiated
and established. Because each tunnel requires its own negotiation process and separate pair of SAs, the
use of policy-based IPsec VPNs can be more resource-intensive than route-based VPNs.
We recommend that you use route-based VPN when you want to configure a VPN between multiple
remote sites. Route-based VPNs can provide the same capabilities as policy-based VPNs.
SEE ALSO
IN THIS SECTION
Requirements | 628
Overview | 628
Configuration | 632
Verification | 645
This example shows how to configure a policy-based IPsec VPN to allow data to be securely transferred
between a branch office and the corporate office.
Requirements
Overview
In this example, you configure a policy-based VPN for a branch office in Chicago, Illinois, because you do
not need to conserve tunnel resources or configure many security policies to filter traffic through the
tunnel. Users in the Chicago office will use the VPN to connect to their corporate headquarters in Sunnyvale,
California.
Figure 34 on page 629 shows an example of a policy-based VPN topology. In this topology, the SRX Series
device is located in Sunnyvale, and an SSG Series device (or it can be another third-party device) is located
in Chicago.
629
Trust Zone
192.168.168.10/24
e0/6
192.168.168.1/24
Chicago
SSG Series Device e0/0
10.1.1.1/30
Untrust Zone
INTERNET
ge-0/0/3.0
10.1.1.2/30
Sunnyvale
SRX Series Device ge-0/0/0.0
192.168.10.1/24
Trust Zone
192.168.10.10/24
g300432
IKE IPsec tunnel negotiation occurs in two phases. In Phase 1, participants establish a secure channel in
which to negotiate the IPsec security association (SA). In Phase 2, participants negotiate the IPsec SA for
authenticating traffic that will flow through the tunnel. Just as there are two phases to tunnel negotiation,
there are two phases to tunnel configuration.
In this example, you configure interfaces, an IPv4 default route, security zones, and address books. Then
you configure IKE Phase 1, IPsec Phase 2, security policy, and TCP-MSS parameters. See
Table 54 on page 629 through Table 58 on page 632.
Table 54: Interface, Security Zone, and Address Book Information (continued)
ge-0/0/3.0 10.1.1.2/30
This security policy permits traffic from the trust vpn-tr-untr • Match criteria:
zone to the untrust zone. • source-address sunnyvale
• destination-address chicago
• application any
• Permit action: tunnel ipsec-vpn
ike-vpn-chicago
• Permit action: tunnel pair-policy vpn-untr-tr
This security policy permits traffic from the untrust vpn-untr-tr • Match criteria:
zone to the trust zone. • source-address chicago
• destination-address sunnyvale
• application any
• Permit action: tunnel ipsec-vpn
ike-vpn-chicago
• Permit action: tunnel pair-policy vpn-tr-untr
This security policy permits all traffic from the trust permit-any • Match criteria:
zone to the untrust zone. • source-address any
You must put the vpn-tr-untr policy before the • source-destination any
permit-any security policy. Junos OS performs a • application any
security policy lookup starting at the top of the list.
• Action: permit
If the permit-any policy comes before the vpn-tr-untr
policy, all traffic from the trust zone will match the
permit-any policy and be permitted. Thus, no traffic
will ever match the vpn-tr-untr policy.
632
Configuration
Purpose Parameters
TCP-MSS is negotiated as part of the TCP three-way handshake and limits the maximum size MSS value: 1350
of a TCP segment to better fit the maximum transmission unit (MTU) limits on a network. This
is especially important for VPN traffic, as the IPsec encapsulation overhead, along with the IP
and frame overhead, can cause the resulting Encapsulating Security Payload (ESP) packet to
exceed the MTU of the physical interface, thus causing fragmentation. Fragmentation results
in increased use of bandwidth and device resources.
We recommend a value of 1350 as the starting point for most Ethernet-based networks with
an MTU of 1500 or greater. You might need to experiment with different TCP-MSS values to
obtain optimal performance. For example, you might need to change the value if any device in
the path has a lower MTU, or if there is any additional overhead such as PPP or Frame Relay.
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family inet address 192.168.10.1/24
user@host# set interfaces ge-0/0/3 unit 0 family inet address 10.1.1.2/30
[edit]
user@host# set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1
[edit ]
user@host# edit security zones security-zone untrust
[edit]
user@host# edit security zones security-zone trust
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security zones, and show security address-book commands. If the output does not display the
intended configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 192.168.10.1/24;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 10.1.1.2/30
}
}
}
[edit]
user@host# show routing-options
static {
635
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
}
interfaces {
ge-0/0/3.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
[edit]
user@host# show security address-book
book1 {
address sunnyvale 192.168.10.0/24;
attach {
zone trust;
}
}
book2 {
address chicago 192.168.168.0/24;
attach {
zone untrust;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IKE
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IKE:
10. Create an IKE Phase 1 gateway and define its external interface.
Results
638
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ike
proposal ike-phase1-proposal {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ike-phase1-policy {
mode main;
proposals ike-phase1-proposal;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway gw-chicago {
ike-policy ike-phase1-policy;
address 10.1.1.1;
external-interface ge-0/0/3.0;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
Step-by-Step Procedure
639
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# set security ipsec proposal ipsec-phase2-proposal
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ipsec
proposal ipsec-phase2-proposal {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-128-cbc;
}
policy ipsec-phase2-policy {
perfect-forward-secrecy {
keys group2;
}
proposals ipsec-phase2-proposal;
}
vpn ike-vpn-chicago {
ike {
gateway gw-chicago;
ipsec-policy ipsec-phase2-policy;
}
}
If you are done configuring the device, enter commit from configuration mode.
set security policies from-zone trust to-zone untrust policy vpn-tr-untr match source-address sunnyvale
set security policies from-zone trust to-zone untrust policy vpn-tr-untr match destination-address chicago
set security policies from-zone trust to-zone untrust policy vpn-tr-untr match application any
set security policies from-zone trust to-zone untrust policy vpn-tr-untr then permit tunnel ipsec-vpn
ike-vpn-chicago
set security policies from-zone trust to-zone untrust policy vpn-tr-untr then permit tunnel pair-policy vpn-untr-tr
set security policies from-zone untrust to-zone trust policy vpn-untr-tr match source-address chicago
set security policies from-zone untrust to-zone trust policy vpn-untr-tr match destination-address sunnyvale
set security policies from-zone untrust to-zone trust policy vpn-untr-tr match application any
set security policies from-zone untrust to-zone trust policy vpn-untr-tr then permit tunnel ipsec-vpn
ike-vpn-chicago
set security policies from-zone untrust to-zone trust policy vpn-untr-tr then permit tunnel pair-policy vpn-tr-untr
set security policies from-zone trust to-zone untrust policy permit-any match source-address any
set security policies from-zone trust to-zone untrust policy permit-any match destination-address any
set security policies from-zone trust to-zone untrust policy permit-any match application any
set security policies from-zone trust to-zone untrust policy permit-any then permit
insert security policies from-zone trust to-zone untrust policy vpn-tr-untr before policy permit-any
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Create the security policy to permit traffic from the trust zone to the untrust zone.
2. Create the security policy to permit traffic from the untrust zone to the trust zone.
3. Create the security policy to permit traffic from the trust zone to the untrust zone.
642
4. Reorder the security policies so that the vpn-tr-untr security policy is placed above the permit-any
security policy.
Results
From configuration mode, confirm your configuration by entering the show security policies command.
If the output does not display the intended configuration, repeat the configuration instructions in this
example to correct it.
[edit]
user@host# show security policies
from-zone trust to-zone untrust {
policy vpn-tr-untr {
match {
source-address sunnyvale;
destination-address chicago;
application any;
}
then {
permit {
tunnel {
ipsec-vpn ike-vpn-chicago;
pair-policy vpn-untr-tr;
}
}
}
}
policy permit-any {
match {
source-address any;
destination-address any;
application any;
}
643
then {
permit
}
}
}
from-zone untrust to-zone trust {
policy vpn-untr-tr {
match {
source-address chicago;
destination-address sunnyvale;
application any;
}
then {
permit {
tunnel {
ipsec-vpn ike-vpn-chicago;
pair-policy vpn-tr-untr;
}
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring TCP-MSS
Step-by-Step Procedure
To configure TCP-MSS information:
[edit]
user@host# set security flow tcp-mss ipsec-vpn mss 1350
Results
644
From configuration mode, confirm your configuration by entering the show security flow command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security flow
tcp-mss {
ipsec-vpn {
mss 1350;
}
}
If you are done configuring the device, enter commit from configuration mode.
To quickly configure this section of the example, copy the following commands, paste them into a text
file, remove any line breaks, change any details necessary to match your network configuration, copy and
paste the commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration
mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
Before starting the verification process, you need to send traffic from a host in the 192.168.10/24 network
to a host in the 192.168.168/24 network. For policy-based VPNs, a separate host must generate the
traffic; traffic initiated from the SRX Series device will not match the VPN policy. We recommend that the
test traffic be from a separate device on one side of the VPN to a second device on the other side of the
VPN. For example, initiate ping from 192.168.10.10 to 192.168.168.10.
From operational mode, enter the show security ike security-associations command. After obtaining an
index number from the command, use the show security ike security-associations index index_number
detail command.
Algorithms:
Authentication : sha1
Encryption : aes-128-cbc
Pseudo random function: hmac-sha1
Traffic statistics:
Input bytes : 852
Output bytes : 856
Input packets : 5
Output packets : 4
Flags: Caller notification sent
IPSec security associations: 1 created, 0 deleted
Phase 2 negotiations in progress: 0
Meaning
The show security ike security-associations command lists all active IKE Phase 1 security associations
(SAs). If no SAs are listed, there was a problem with Phase 1 establishment. Check the IKE policy parameters
and external interface settings in your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index detail command to get more information about the SA.
• State
• External interfaces (the interface must be the one that receives IKE packets)
The show security ike security-associations index 1 detail command lists additional information about the
security association with an index number of 1:
• Phase 1 lifetime
647
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
Purpose
Verify the IPsec Phase 2 status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index index_number
detail command.
Virtual-system: Root
Local Gateway: 192.168.168.10, Remote Gateway: 10.1.1.1
Local Identity: ipv4_subnet(any:0,[0..7]=192.168.168.0/24)
Remote Identity: ipv4_subnet(any:0,[0..7]=192.168.10.0/24)
DF-bit: clear
Policy-name: vpnpolicy-unt-tr
Meaning
The output from the show security ipsec security-associations command lists the following information:
• The ID number is 2. Use this value with the show security ipsec security-associations index command
to get more information about this particular SA.
• There is one IPsec SA pair using port 500, which indicates that no NAT-traversal is implemented.
(NAT-traversal uses port 4500 or another random high-number port.)
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
3565/ unlim value indicates that the Phase 2 lifetime expires in 3565 seconds, and that no lifesize has
been specified, which indicates that it is unlimited. Phase 2 lifetime can differ from Phase 1 lifetime, as
Phase 2 is not dependent on Phase 1 after the VPN is up.
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U (up) or D (down) is listed.
• The virtual system (vsys) is the root system, and it always lists 0.
The output from the show security ipsec security-associations index 16384 detail command lists the
following information:
• The local identity and remote identity make up the proxy ID for the SA.
A proxy ID mismatch is one of the most common reasons for a Phase 2 failure. For policy-based VPNs,
the proxy ID is derived from the security policy. The local address and remote address are derived from
the address book entries, and the service is derived from the application configured for the policy. If
Phase 2 fails because of a proxy ID mismatch, you can use the policy to confirm which address book
entries are configured. Verify that the addresses match the information being sent. Check the service
to ensure that the ports match the information being sent.
Purpose
Review ESP and authentication header counters and errors for an IPsec security association.
Action
649
From operational mode, enter the show security ipsec statistics index index_number command, using the
index number of the VPN for which you want to see statistics.
ESP Statistics:
Encrypted bytes: 920
Decrypted bytes: 6208
Encrypted packets: 5
Decrypted packets: 87
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
ESP authentication failures: 0, ESP decryption failures: 0
Bad headers: 0, Bad trailers: 0
You can also use the show security ipsec statistics command to review statistics and errors for all SAs.
To clear all IPsec statistics, use the clear security ipsec statistics command.
Meaning
If you see packet loss issues across a VPN, you can run the show security ipsec statistics or show security
ipsec statistics detail command several times to confirm that the encrypted and decrypted packet counters
are incrementing. You should also check if the other error counters are incrementing.
SEE ALSO
RELATED DOCUMENTATION
It is important to understand the differences between policy-based and route-based VPNs and why one
might be preferable to the other.
Table 59 on page 651 lists the differences between route-based VPNs and policy-based VPNs.
With route-based VPNs, a policy does not With policy-based VPN tunnels, a tunnel is treated as an object
specifically reference a VPN tunnel. that, together with source, destination, application, and action,
constitutes a tunnel policy that permits VPN traffic.
The policy references a destination address. In a policy-based VPN configuration, a tunnel policy specifically
references a VPN tunnel by name.
The number of route-based VPN tunnels that you The number of policy-based VPN tunnels that you can create
create is limited by the number of route entries or is limited by the number of policies that the device supports.
the number of st0 interfaces that the device
supports, whichever number is lower.
Route-based VPN tunnel configuration is a good With a policy-based VPN, although you can create numerous
choice when you want to conserve tunnel tunnel policies referencing the same VPN tunnel, each tunnel
resources while setting granular restrictions on policy pair creates an individual IPsec security association (SA)
VPN traffic. with the remote peer. Each SA counts as an individual VPN
tunnel.
With a route-based approach to VPNs, the In a policy-based VPN configuration, the action must be permit
regulation of traffic is not coupled to the means and must include a tunnel.
of its delivery. You can configure dozens of policies
to regulate traffic flowing through a single VPN
tunnel between two sites, and only one IPsec SA
is at work. Also, a route-based VPN configuration
allows you to create policies referencing a
destination reached through a VPN tunnel in which
the action is deny.
Route-based VPNs support the exchange of The exchange of dynamic routing information is not supported
dynamic routing information through VPN tunnels. in policy-based VPNs.
You can enable an instance of a dynamic routing
protocol, such as OSPF, on an st0 interface that is
bound to a VPN tunnel.
652
Table 59: Differences Between Route-Based VPNs and Policy-Based VPNs (continued)
Route-based configurations are used for Policy-based VPNs cannot be used for hub-and-spoke
hub-and-spoke topologies. topologies.
With route-based VPNs, a policy does not When a tunnel does not connect large networks running
specifically reference a VPN tunnel. dynamic routing protocols and you do not need to conserve
tunnels or define various policies to filter traffic through the
tunnel, a policy-based tunnel is the best choice.
Route-based VPNs do not support remote-access Policy-based VPN tunnels are required for remote-access
(dial-up) VPN configurations. (dial-up) VPN configurations.
Route-based VPNs might not work correctly with Policy-based VPNs might be required if the third party requires
some third-party vendors. separate SAs for each remote subnet.
When the security device does a route lookup to With a policy-based VPN tunnel, you can consider a tunnel as
find the interface through which it must send an element in the construction of a policy.
traffic to reach an address, it finds a route via a
secure tunnel interface (st0) , which is bound to a
specific VPN tunnel.
Route-based VPNs support NAT for st0 interfaces. Policy-based VPNs cannot be used if NAT is required for
tunneled traffic.
Proxy ID is supported for both route-based and policy-based VPNs. However, the multi-proxy ID is
supported for only route-based VPNs. The multi-proxy ID is also known as traffic selector. A traffic selector
is an agreement between IKE peers to permit traffic through a tunnel, if the traffic matches a specified
pair of local and remote addresses. You define a traffic selector within a specific route-based VPN, which
can result in multiple Phase 2 IPsec SAs. Only traffic that conforms to a traffic selector is permitted through
an SA. The traffic selector is commonly required when remote gateway devices are non-Juniper Networks
devices.
RELATED DOCUMENTATION
IN THIS SECTION
You can configure Junos class-of-service (CoS) features to provide multiple classes of service for VPNs.
On the device, you can configure multiple forwarding classes for transmitting packets, define which packets
are placed into each output queue, schedule the transmission service level for each queue, and manage
congestion.
IN THIS SECTION
Overview | 655
Rekey | 656
Commands | 656
Class of service (CoS) forwarding classes (FCs) configured on the SRX Series device can be mapped to
IPsec security associations (SAs). Packets for each FC are mapped to a different IPsec SA, thus providing
for CoS treatment on the local device and on intermediate routers.
655
• Helps you ensure different data streams, with each tunnel using a separate set of security associations.
• Helps you to facilitate the IPsec VPN deployments where differentiated traffic is required, such as
voice-over-IP.
Overview
This feature is proprietary to Juniper Networks and works with supported SRX platforms and Junos OS
releases. The VPN peer device must be an SRX Series device or vSRX instance that supports this feature
or any other product that support the same functionality in the same way as SRX Series device.
Up to 8 forwarding classes (FC) can be configured for a VPN with the multi-sa forwarding-classes at the
[edit security ipsec vpn vpn-name] hierarchy level. The number of IPsec SAs negotiated with a peer gateway
is based on the number of FCs configured for the VPN. The mapping of FCs to IPsec SAs applies to all
traffic selectors configured for the VPN.
All IPsec SAs created for the FCs of a specific VPN are represented by the same tunnel ID. Tunnel-related
events consider the state and statistics of all IPsec SAs. All IPsec SAs related to a tunnel are anchored to
the same SPU or the same thread ID on SRX Series devices or vSRX instances.
IPsec SA Negotiation
When multiple FCs are configured for a VPN, a unique IPsec SA is negotiated with the peer for each FC.
In addition, a default IPsec SA is negotiated to send packets that do not match a configured FC. The default
IPsec is negotiated even If the VPN peer device is not configured for FCs or does not support FC to IPsec
SA mapping. The default IPsec SA is the first IPsec SA to be negotiated and the last SA to be torn down.
Depending on the number of FCs configured. When IPsec SAs are in the process of negotiating, packets
may arrive with an FC for which an IPsec SA has yet to be negotiated. Until an IPsec SA for a given FC is
negotiated, the traffic is sent to the default IPsec SA. A packet with an FC that does not match any of the
installed IPsec SAs is sent on the default IPsec SA.
Mapping of FCs to IPsec SAs is done on the local VPN gateway. The local and peer gateways may have
FCs configured in a different order. Each peer gateway maps FCs in the order in which IPsec SA negotiations
are completed. Thus, the local and peer gateways might have different FC to IPsec SA mappings. A gateway
stops negotiating new IPsec SAs once the configured number of FCs is reached. A peer gateway may
initiate more IPsec SAs than the number of FCs configured on the local gateway. In this case, the local
gateway accepts the additional IPsec SA requests—up to 18 IPsec SAs. The local gateway uses the other
IPsec SAs only for decrypting incoming IPsec traffic. If a packet is received with an FC that does not match
any configured FC, the packet is sent on the default FC IPsec SA.
656
If a delete notification is received for the default IPsec SA from the peer device, only the default IPsec SA
is deleted and the default IPsec SA is negotiated newly. During this time, traffic which might go on default
IPsec SA is be dropped. The VPN tunnel is brought down only if the default IPsec SA is the last SA.
If the establish-tunnels immediately option is configured and committed for the VPN, the SRX Series
device negotiates IPsec SA without waiting for traffic to arrive. If negotiations do not complete for an
IPsec SA for a configured FC, negotiations are retried every 60 seconds.
If the establish-tunnels on-traffic option is configured for the VPN, the SRX Series device negotiates IPsec
SAs when the first data packet arrives; the FC for the first packet does not matter. With either option, the
default IPsec SA is negotiated first, then each IPsec SA is negotiated one by one in the order in which the
FCs are configured on the device.
Rekey
When using Multi SAs with Differentiated Services Code Point (DSCP) traffic steering with traffic selectors,
the following behavior occurs during rekey. When the traffic selectors performs rekeying, if one or more
of the traffic selectors are unable to rekey for any reason, the specific SA is brought down when the lifetime
expire. In this case, traffic that use to match the specific SA is sent through the default traffic selector
instead.
When FCs are added or deleted from a VPN, the IKE and IPsec SAs for the VPN are brought up or down
and restarts the negotiations. The clear security ipsec security-associations command clears all IPsec SAs.
When DPD is configured with this feature, the optimized mode sends probes only when there is outgoing
traffic and no incoming traffic on any of the IPsec SA. While the probe-idle mode sends probes only when
there is no outgoing and no incoming traffic on any of the IPsec SAs. VPN monitoring is not supported
with DPD feature.
Commands
The show security ipsec sa details index tunnel-id command displays all IPsec SA details including the FC
name. The show security ipsec stats index tunnel-id command displays statistics for each FC.
657
The following VPN features are supported with CoS-based IPsec VPNs:
• AutoVPN.
• Traffic selectors.
SEE ALSO
A traffic selector is an agreement between IKE peers to permit traffic through a VPN tunnel if the traffic
matches a specified pair of local and remote addresses. Only traffic that conforms to a traffic selector is
permitted through the associated security association (SA).
• One or multiple traffic selectors in a route-based site-to-site VPN with the same FCs.
• Multiple traffic selectors, with different FCs for each traffic selector. This scenario requires separate
VPN configurations.
This topic describes the VPN configurations and the IPsec SA that are negotiated for each scenario.
In the following scenarios, three FCs are configured on the SRX Series device:
forwarding-classes {
queue 7 voip-data;
queue 6 web-data;
queue 5 control-data;
}
658
In the first scenario, VPN vpn1 is configured with a single traffic selector ts1 and the three FCs:
ipsec {
vpn vpn1 {
ts1 {
local-ip 3.3.3.0/24;
remote-ip 4.4.4.0/24;
}
multi-sa {
forwarding-class web-data;
forwarding-class voip-data
forwarding-class control-data;
}
}
}
In the configuration above, four IPsec SAs are negotiated for traffic selector ts1—one for the default IPsec
SA and three for the IPsec SAs that are mapped to FCs.
In the second scenario, VPN vpn1 is configured with two traffic selectors ts1 and ts2 and the three FCs:
ipsec {
vpn vpn1 {
ts1 {
local-ip 3.3.3.0/24;
remote-ip 4.4.4.0/24;
}
ts2 {
local-ip 6.6.6.0/24;
remote-ip 7.7.7.0/24;
}
multi-sa {
forwarding-class web-data;
forwarding-class voip-data
forwarding-class control-data;
}
}
}
659
In the configuration above, four IPsec SAs are negotiated for traffic selector ts1 and four IPsec SAs are
negotiated for traffic selector ts2. For each traffic selector, there is one IPsec SA negotiated for the default
IPsec SA and three IPsec SAs negotiated for the IPsec SAs that are mapped to FCs.
In the third scenario, traffic selectors ts1 and ts2 support different sets of FCs. The traffic selectors need
to be configured for different VPNs:
ipsec {
vpn vpn1 {
bind-interface st0.0;
ts1 {
local-ip 3.3.3.0/24;
remote-ip 4.4.4.0/24;
}
multi-sa {
forwarding-class web-data;
forwarding-class voip-data;
forwarding-class control-data;
}
vpn vpn2 {
bind-interface st0.0;
ts2 {
local-ip 6.6.6.0/24;
remote-ip 7.7.7.0/24;
}
multi-sa {
forwarding-class web-data;
forwarding-class voip-data;
}
}
In the configuration above, four IPsec SAs are negotiated for traffic selector ts1 in VPN vpn1—one for the
default IPsec SA and three for the IPsec SAs that are mapped to FCs.
SEE ALSO
IN THIS SECTION
Requirements | 660
Overview | 660
Configuration | 663
Verification | 682
This example shows how to configure a CoS-based IPsec VPNs with multiple IPsec SAs to allow packets
mapping for each forwarding class to a different IPsec SA, thus providing for CoS treatment on the local
device and on intermediate routers.
This feature is proprietary to Juniper Networks and only works with supported SRX platforms and Junos
OS releases. The VPN peer device must be an SRX Series device or vSRX instance that supports this
feature.
Requirements
• Understand how Class of service (CoS) forwarding classes (FCs) configured on the SRX Series device
can be mapped to IPsec security associations (SAs). See Understanding CoS-Based IPsec VPNs with
Multiple IPsec SAs.
• Understand Traffic Selectors and CoS-Based IPsec VPNs. See Understanding Traffic Selectors and
CoS-Based IPsec VPNs.
Overview
In this example, you configure an IPsec route-based VPN for a branch office in Chicago, because you do
not need to conserve tunnel resources or configure many security policies to filter traffic through the
tunnel. Users in the Chicago office will use the VPN to connect to their corporate headquarters in Sunnyvale.
Figure 35 on page 661 shows an example of an IPsec route-based VPN topology. In this topology, one SRX
Series device is located in Sunnyvale, and one SRX Series device is located in Chicago.
661
In this example, you configure interfaces, an IPv4 default route and security zones. Then you configure
IKE, IPsec, a security policy, and CoS parameters. See Table 60 on page 661 through Table 63 on page 663.
ge-0/0/3.0 10.1.1.2/30
Table 60: Interface, Static Route, and Security Zone Information (continued)
The security policy permits traffic from the vpn • Match criteria:
trust zone to the vpn zone. • source-address sunnyvale
• destination-address chicago
• application any
• Action: permit
The security policy permits traffic from the vpn • Match criteria:
vpn zone to the trust zone. • source-address chicago
• destination-address sunnyvale
• application any
• Action: permit
Configuration
IN THIS SECTION
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.1/24
user@host# set interfaces ge-0/0/3 unit 0 family inet address 10.1.1.2/30
user@host# set interfaces st0 unit 0 family inet address 10.10.11.10/24
[edit]
user@host# set routing-options static route 0.0.0.0/0 next-hop st0.0
[edit ]
user@host# edit security zones security-zone untrust
[edit]
user@host# edit security zones security-zone trust
[edit]
user@host# edit security zones security-zone vpn
Results
666
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
and show security zones commands. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 192.0.2.1/24;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 10.1.1.2/30;
}
}
}
st0 {
unit 0 {
family inet {
address 10.10.11.10/24;
}
}
}
[edit]
user@host# show routing-options
static {
route 0.0.0.0/0 next-hop st0.0;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
protocols {
all;
667
}
}
interfaces {
ge-0/0/3.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone vpn-chicago {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
st0.0;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring CoS
set class-of-service classifiers dscp ba-classifier forwarding-class best-effort loss-priority high code-points
000000
set class-of-service classifiers dscp ba-classifier forwarding-class ef-class loss-priority high code-points 000001
set class-of-service classifiers dscp ba-classifier forwarding-class af-class loss-priority high code-points 001010
set class-of-service classifiers dscp ba-classifier forwarding-class network-control loss-priority high code-points
000011
set class-of-service classifiers dscp ba-classifier forwarding-class res-class loss-priority high code-points 000100
set class-of-service classifiers dscp ba-classifier forwarding-class web-data loss-priority high code-points 000101
set class-of-service classifiers dscp ba-classifier forwarding-class control-data loss-priority high code-points
000111
set class-of-service classifiers dscp ba-classifier forwarding-class voip-data loss-priority high code-points 000110
set class-of-service forwarding-classes queue 7 voip-data
set class-of-service forwarding-classes queue 6 control-data
set class-of-service forwarding-classes queue 5 web-data
set class-of-service forwarding-classes queue 4 res-class
set class-of-service forwarding-classes queue 2 af-class
set class-of-service forwarding-classes queue 1 ef-class
set class-of-service forwarding-classes queue 0 best-effort
set class-of-service forwarding-classes queue 3 network-control
set class-of-service interfaces ge-0/0/3 unit 0 classifiers dscp ba-classifier
set class-of-service interfaces ge-0/0/3 unit 0 scheduler-map sched_1
set class-of-service scheduler-maps sched_1 forwarding-class voip-data scheduler Q7
set class-of-service scheduler-maps sched_1 forwarding-class control-data scheduler Q6
set class-of-service scheduler-maps sched_1 forwarding-class web-data scheduler Q5
set class-of-service scheduler-maps sched_1 forwarding-class res-class scheduler Q4
set class-of-service scheduler-maps sched_1 forwarding-class af-class scheduler Q2
set class-of-service scheduler-maps sched_1 forwarding-class ef-class scheduler Q1
set class-of-service scheduler-maps sched_1 forwarding-class best-effort scheduler Q0
set class-of-service scheduler-maps sched_1 forwarding-class network-control scheduler Q3
set class-of-service schedulers Q7 transmit-rate percent 5
set class-of-service schedulers Q7 priority strict-high
set class-of-service schedulers Q6 transmit-rate percent 25
set class-of-service schedulers Q6 priority high
set class-of-service schedulers Q5 transmit-rate remainder
set class-of-service schedulers Q5 priority high
set class-of-service schedulers Q4 transmit-rate percent 25
set class-of-service schedulers Q4 priority medium-high
set class-of-service schedulers Q3 transmit-rate remainder
set class-of-service schedulers Q3 priority medium-high
set class-of-service schedulers Q2 transmit-rate percent 10
set class-of-service schedulers Q2 priority medium-low
set class-of-service schedulers Q1 transmit-rate percent 10
set class-of-service schedulers Q1 priority medium-low
set class-of-service schedulers Q0 transmit-rate remainder
669
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure CoS:
[edit class-of-service]
user@host# edit classifiers dscp ba-classifier
user@host# set import default
4. Define eight forwarding classes (queue names) for the eight queues.
[edit class-of-service]
user@host# set interfaces ge-0/0/3 unit 0 classifiers dscp ba-classifier
[edit class-of-service]
user@host# set interfaces ge-0/0/3 unit 0 scheduler-map sched_1
7. Configure the scheduler map to associate schedulers with defined forwarding classes.
[edit class-of-service]
user@host# set scheduler-maps sched_1 forwarding-class voip-data scheduler Q7
user@host# set scheduler-maps sched_1 forwarding-class control-data scheduler Q6
user@host# set scheduler-maps sched_1 forwarding-class web-data scheduler Q5
user@host# set scheduler-maps sched_1 forwarding-class res-class scheduler Q4
user@host# set scheduler-maps sched_1 forwarding-class af-class scheduler Q2
user@host# set scheduler-maps sched_1 forwarding-class ef-class scheduler Q1
user@host# set scheduler-maps sched_1 forwarding-class best-effort scheduler Q0
user@host# set scheduler-maps sched_1 forwarding-class network-control scheduler Q3
Results
From configuration mode, confirm your configuration by entering the show class-of-service command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show class-of-service
classifiers {
dscp ba-classifier {
import default;
forwarding-class best-effort {
loss-priority high code-points 000000;
}
forwarding-class ef-class {
loss-priority high code-points 000001;
}
forwarding-class af-class {
loss-priority high code-points 001010;
}
forwarding-class network-control {
loss-priority high code-points 000011;
}
forwarding-class res-class {
loss-priority high code-points 000100;
}
forwarding-class web-data {
loss-priority high code-points 000101;
}
forwarding-class control-data {
loss-priority high code-points 000111;
}
forwarding-class voip-data {
loss-priority high code-points 000110;
}
}
}
forwarding-classes {
queue 7 voip-data;
queue 6 control-data;
queue 5 web-data;
queue 4 res-class;
queue 2 af-class;
queue 1 ef-class;
queue 0 best-effort;
672
queue 3 network-control;
}
interfaces {
ge-0/0/3 {
unit 0 {
classifiers {
dscp ba-classifier;
}
}
}
ge-0/0/3 {
unit 0 {
scheduler-map sched_1;
}
}
}
scheduler-maps {
sched_1 {
forwarding-class voip-data scheduler Q7;
forwarding-class control-data scheduler Q6;
forwarding-class web-data scheduler Q5;
forwarding-class res-class scheduler Q4;
forwarding-class af-class scheduler Q2;
forwarding-class ef-class scheduler Q1;
forwarding-class best-effort scheduler Q0;
forwarding-class network-control scheduler Q3;
}
}
schedulers {
Q7 {
transmit-rate percent 5;
priority strict-high;
}
Q6 {
transmit-rate percent 25;
priority high;
}
Q5 {
transmit-rate {
remainder;
}
priority high;
}
Q4 {
673
If you are done configuring the device, enter commit from configuration mode.
Configuring IKE
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IKE:
Results
676
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ike
proposal ike-proposal {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy ike-policy {
mode main;
proposals ike-proposal;
pre-shared-key ascii-text "$ABC123";
}
gateway gw-sunnyvale {
ike policy ike-policy;
address 10.2.2.2;
external-interface ge-0/0/3.0;
version v2-only;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# set security ipsec traceoptions flag all
[edit]
user@host# set security ipsec proposal ipsec_prop
13. Specify that the tunnel be brought up immediately to negotiate IPsec SA when the first data packet
arrives to be sent.
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ipsec
traceoptions {
flag all;
}
proposal ipsec_prop {
protocol esp;
authentication-algorithm hmac-sha-256;
encryption-algorithm aes256-cbc;
}
proposal ipsec_prop {
lifetime-seconds 3600;
}
policy ipsec_pol {
680
proposals ipsec_prop;
}
vpn ipsec_vpn1 {
bind-interface st0.0;
multi-sa {
forwarding-class ef-class;
forwarding-class af-class;
forwarding-class res-class;
forwarding-class web-data;
forwarding-class control-data;
forwarding-class voip-data;
forwarding-class network-control;
forwarding-class best-effort;
}
ike {
gateway gw_sunnyvale;
ipsec-policy ipsec_pol;
}
traffic-selector ipsec_vpn1_TS1 {
local-ip 203.0.113.2/25;
remote-ip 192.0.2.30/24;
}
establish-tunnels immediately;
}
If you are done configuring the device, enter commit from configuration mode.
set security policies from-zone trust to-zone vpn policy vpn match source-address sunnyvale
set security policies from-zone trust to-zone vpn policy vpn match destination-address chicago
set security policies from-zone trust to-zone vpn policy vpn match application any
set security policies from-zone trust to-zone vpn policy vpn then permit
set security policies from-zone vpn to-zone trust policy vpn match source-address chicago
set security policies from-zone vpn to-zone trust policy vpn match destination-address sunnyvale
set security policies from-zone vpn to-zone trust policy vpn match application any
set security policies from-zone vpn to-zone trust policy vpn then permit
Enable security policies trace options for troubleshooting the policy-related issues.
681
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Create the security policy to permit traffic from the trust zone to the vpn zone.
2. Create the security policy to permit traffic from the vpn zone to the trust zone.
Results
From configuration mode, confirm your configuration by entering the show security policies command.
If the output does not display the intended configuration, repeat the configuration instructions in this
example to correct it.
[edit]
user@host# show security policies
from-zone trust to-zone vpn {
policy vpn {
match {
source-address sunnyvale;
destination-address chicago;
application any;
}
then {
permit;
}
}
}
from-zone vpn to-zone trust {
682
policy vpn {
match {
source-address chicago;
destination-address sunnyvale;
application any;
}
then {
permit;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IPsec status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index 131073
detail and show security ipsec statistics index 131073 commands.
For brevity, the show command outputs does not display all the values of the configuration. Only a subset
of the configuration is displayed. Rest of the configuration on the system has been replaced with ellipses
(...).
...
ESP Statistics:
Encrypted bytes: 952
Decrypted bytes: 588
Encrypted packets: 7
Decrypted packets: 7
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
ESP authentication failures: 0, ESP decryption failures: 0
Bad headers: 0, Bad trailers: 0
FC Name Encrypted Pkts Decrypted Pkts Encrypted bytes Decrypted bytes
best-effort 7 7 952 588
custom_q1 0 0 0 0
custom_q2 0 0 0 0
network-control 0 0 0 0
custom_q4 0 0 0 0
custom_q5 0 0 0 0
custom_q6 0 0 0 0
custom_q7 0 0 0 0
default 0 0 0 0
Meaning
The output from the show security ipsec security-associations command lists the following information:
• The ID number is 131073. Use this value with the show security ipsec security-associations index
command to get more information about this particular SA.
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
1949/ unlim value indicates that the Phase lifetime expires in 1949 seconds, and that no lifesize has
been specified, which indicates that it is unlimited.
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U indicates that monitoring is up, and D indicates that monitoring is down.
The show security ike security-associations index 131073 detail command lists additional information
about the SA with an index number of 131073:
• The local identity and remote identity make up the proxy ID for the SA. A proxy ID mismatch is one of
the most common causes for a Phase failure. If no IPsec SA is listed, confirm that Phase proposals,
including the proxy ID settings, are correct for both peers.
The show security ipsec statistics index 131073 command lists statistics for each forwarding class name.
• We recommend running this command multiple times to observe any packet loss issues across a VPN.
Output from this command also displays the statistics for encrypted and decrypted packet counters,
error counters, and so on.
• You must enable security flow trace options to investigate which ESP packets are experiencing errors
and why.
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
Example: Configuring a Route-Based VPN with Only the Responder Behind a NAT Device | 689
Example: Configuring a Policy-Based VPN with Both an Initiator and a Responder Behind a NAT Device | 725
Network Address Translation-Traversal (NAT-T) is a method used for managing IP address translation-related
issues encountered when the data protected by IPsec passes through a device configured with NAT for
address translation.
Understanding NAT-T
Network Address Translation-Traversal (NAT-T) is a method for getting around IP address translation
issues encountered when data protected by IPsec passes through a NAT device for address translation.
Any changes to the IP addressing, which is the function of NAT, causes IKE to discard packets. After
detecting one or more NAT devices along the datapath during Phase 1 exchanges, NAT-T adds a layer of
User Datagram Protocol (UDP) encapsulation to IPsec packets so they are not discarded after address
translation. NAT-T encapsulates both IKE and ESP traffic within UDP with port 4500 used as both the
source and destination port. Because NAT devices age out stale UDP translations, keepalive messages are
required between the peers.
NAT-T is enabled by default therefore you must use the no-nat-traversal statement at the [edit security
ike gateway gateway-name hierarchy level for disabling the NAT-T.
• Static NAT, where there is a one-to-one relationship between the private and public addresses. Static
NAT works in both inbound and outbound directions.
• Dynamic NAT, where there is a many-to-one or many-to-many relationship between the private and
public addresses. Dynamic NAT works in the outbound direction only.
• Only the IKEv1 or IKEv2 initiator is behind a NAT device. Multiple initiators can be behind separate NAT
devices. Initiators can also connect to the responder through multiple NAT devices.
• Both the IKEv1 or IKEv2 initiator and the responder are behind a NAT device.
Dynamic endpoint VPN covers the situation where the initiator's IKE external address is not fixed and is
therefore not known by the responder. This can occur when the initiator's address is dynamically assigned
by an ISP or when the initiator's connection crosses a dynamic NAT device that allocates addresses from
a dynamic address pool.
Configuration examples for NAT-T are provided for the topology in which only the responder is behind a
NAT device and the topology in which both the initiator and responder are behind a NAT device. Site-to-site
IKE gateway configuration for NAT-T is supported on both the initiator and responder. A remote IKE ID
is used to validate a peer’s local IKE ID during Phase 1 of IKE tunnel negotiation. Both the initiator and
responder require a local-identity and a remote-identity setting.
On SRX5400, SRX5600, and SRX5800 devices, the IPsec NAT-T tunnel scaling and sustaining issues are
as follows:
• For a given private IP address, the NAT device should translate both 500 and 4500 private ports to the
same public IP address.
• The total number of tunnels from a given public translated IP cannot exceed 1000 tunnels.
Starting from Junos OS Release 19.2R1, PowerMode IPSec (PMI) for NAT-T is supported only on SRX5400,
SRX5600, and SRX5800 devices equipped with SRX5K-SPC3 Services Processing Card (SPC), or with
vSRX.
SEE ALSO
IN THIS SECTION
Requirements | 690
Overview | 690
690
Configuration | 695
Verification | 717
This example shows how to configure a route-based VPN with a responder behind a NAT device to allow
data to be securely transferred between a branch office and the corporate office.
Requirements
Overview
In this example, you configure a route-based VPN for a branch office in Chicago, Illinois, because you want
to conserve tunnel resources but still get granular restrictions on VPN traffic. Users in the Chicago office
will use the VPN to connect to their corporate headquarters in Sunnyvale, California.
Figure 36 on page 691 shows an example of a topology for route-based VPN with only the responder behind
a NAT device.
691
Figure 36: Route-Based VPN Topology with Only the Responder Behind a NAT Device
Trust zone
33.1.1.2
ge-0/0/3.0
SRX Series device 33.1.1.1/24
Chicago st0.1
(initiator) 31.1.1.2/24
ge-0/0/1.0
1.0.0.1/24
Untrust Internet
zone
ge-0/0/1.0
1.0.0.2/24
ge-0/0/2.0
71.1.1.2/24
ge-0/0/2.0
SRX Series device 71.1.1.1/24
Sunnyvale st0.1
(responder) 31.1.1.1/24
ge-0/0/3.0
32.1.1.1/24
g034203
In this example, you configure interfaces, routing options, security zones, and security policies for both an
initiator in Chicago and a responder in Sunnyvale. Then you configure IKE Phase 1 and IPsec Phase 2
parameters.
Packets sent from the initiator with a destination address 1.1.1.1/32 are translated to the destination
address 71.1.1.1/32 on the NAT device.
See Table 64 on page 691 through Table 66 on page 693 for specific configuration parameters used for the
initiator in the examples.
Table 64: Interface, Routing Options, Zones, and Security Policies for the Initiator
Table 64: Interface, Routing Options, Zones, and Security Policies for the Initiator (continued)
ge-0/0/3 33.1.1.1/24
Table 65: IKE Phase 1 Configuration Parameters for the Initiator (continued)
See Table 67 on page 693 through Table 69 on page 695 for specific configuration parameters used for the
responder in the examples.
Table 67: Interface, Routing Options, Zones, and Security Policies for the Responder
ge-0/0/3 32.1.1.1/24
Table 67: Interface, Routing Options, Zones, and Security Policies for the Responder (continued)
Configuration
IN THIS SECTION
Configuring Interface, Routing Options, Security Zones, and Security Policies for the Initiator | 695
Configuring Interfaces, Routing Options, Security Zones, and Security Policies for the Responder | 706
Configuring Interface, Routing Options, Security Zones, and Security Policies for the Initiator
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure interface, static route, security zone, and security policy information:
[edit]
user@host# set interfaces ge-0/0/1 unit 0 family inet address 1.0.0.1/24
user@host# set interfaces ge-0/0/3 unit 0 family inet address 33.1.1.1/24
user@host# set interfaces st0 unit 1 family inet address 31.1.1.2/24
[edit]
user@host# set routing-options static route 32.1.1.0/24 next-hop st0.1
user@host# set routing-options static route 1.1.1.1/32 next-hop 1.0.0.2
[edit ]
user@host# set security zones security-zone untrust
697
[edit]
user@host# set security zones security-zone trust host-inbound-traffic protocols all
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security zones, show security address-book, and show security policiescommands. If the output
does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 1.0.0.1/24;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 33.1.1.1/24;
}
}
}
st0 {
unit 1 {
family inet {
address 31.1.1.2/24
}
}
}
[edit]
user@host# show routing-options
699
static {
route 32.1.1.0/24 next-hop st0.1;
route 1.1.1.1/32 next-hop 1.0.0.2;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
}
interfaces {
st0.1;
ge-0/0/1.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/3.0;
}
[edit]
[edit]
user@host# show security address-book
book1 {
address Chicago-lan 33.1.1.1/24;
attach {
zone trust;
}
}
book2 {
address Sunnyvale-lan 32.1.1.1/24;
attach {
zone untrust;
}
700
}
[edit]
user@host# show security policies
from-zone trust to-zone untrust {
policy to-sunnyvale {
match {
source-address Chicago-lan;
destination-address Sunnyvale-lan;
application any;
}
then {
permit;
}
}
}
from-zone untrust to-zone trust {
policy from-sunnyvale {
match {
source-address Sunnyvale-lan;
destination-address Chicago-lan;
application any;
}
then {
permit;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IKE:
10. Create an IKE Phase 1 gateway and define its external interface.
Results
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show security ike
proposal ike_prop {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm 3des-cbc;
}
policy ike_pol {
mode main;
proposals ike_prop;
pre-shared-key ascii-text “$ABC123”;
}
gateway gw1 {
ike-policy ike_poly;
address 1.1.1.1;
local-identity user-at-hostname [email protected];
remote-identity user-at-hostname [email protected];
external-interface ge-0/0/1.0;
}
If you are done configuring the device, enter commit from configuration mode.
704
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# set security ipsec proposal ipsec_prop
11. Specify that the tunnel be brought up immediately without waiting for a verification packet to be sent.
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
[edit]
user@host# show security ipsec
proposal ipsec_prop {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm 3des-cbc;
}
policy ipsec_pol {
perfect-forward-secrecy {
keys group2;
}
proposals ipsec_prop;
}
vpn vpn1 {
bind-interface st0.1;
ike {
gateway gw1;
ipsec-policy ipsec_pol;
}
establish-tunnels immediately;
}
proposals ipsec_prop;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Interfaces, Routing Options, Security Zones, and Security Policies for the Responder
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/2 unit 0 family inet address 71.1.1.1/24
user@host# set interfaces ge-0/0/3 unit 0 family inet address 32.1.1.1/24
user@host# set interfaces st0 unit 1 family inet address 31.1.1.1/24
[edit]
user@host# set routing-options static route 0.0.0.0/0 next-hop 71.1.1.2
user@host# set routing-options static route 33.1.1.0/24 next-hop st0.1
[edit ]
user@host# set security zones security-zone untrust
708
[edit]
user@host# set security zones security-zone trust host-inbound-traffic protocols all
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security zones, show security address-book, and show security policies commands. If the output
does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show interfaces
ge-0/0/2 {
unit 0 {
family inet {
address 71.1.1.1/24;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 32.1.1.1/24;
}
}
}
st0 {
unit 1 {
family inet {
address 31.1.1.1/24
}
}
}
[edit]
user@host# show routing-options
710
static {
route 0.0.0.0/0 next-hop 71.1.1.2;
route 33.1.1.0/24 next-hop st0.1;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
}
interfaces {
ge-0/0/2.0;
st0.1;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/3.0;
}
}
[edit]
user@host# show security address-book
book1 {
address Sunnyvale-lan 32.1.1.1/24;
attach {
zone trust;
}
}
book2 {
address Chicago-lan 33.1.1.1/24;
attach {
zone untrust;
}
711
}
[edit]
user@host# show security policies
from-zone trust to-zone untrust {
policy to-chicago {
match {
source-address Sunnyvale-lan;
destination-address Chicago-lan;
application any;
}
then {
permit;
}
}
}
from-zone untrust to-zone trust {
policy from-chicago {
match {
source-address Chicago-lan;
destination-address Sunnyvale-lan;
application any;
}
then {
permit;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IKE:
10. Create an IKE Phase 1 gateway and define its external interface.
Results
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show security ike
proposal ike_prop {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm 3des-cbc;
}
policy ike_pol {
mode main;
proposals ike_prop;
pre-shared-key ascii-text “$ABC123”;
}
gateway gw1 {
ike-policy ike_pol;
address 1.0.0.1;
local-identity user-at-hostname "[email protected]";
remote-identity user-at-hostname "[email protected]";
external-interface ge-0/0/2.0;
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# set security ipsec proposal ipsec_prop
11. Specify that the tunnel be brought up immediately without waiting for a verification packet to be sent.
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
717
[edit]
user@host# show security ipsec
proposal ipsec_prop {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm 3des-cbc;
}
policy ipsec_pol {
perfect-forward-secrecy {
keys group2;
}
proposals ipsec_prop;
}
vpn vpn1 {
bind-interface st0.1;
ike {
gateway gw1;
ipsec-policy ipsec_pol;
}
establish-tunnels immediately;
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
718
Action
Before starting the verification process, you must send traffic from a host in the 33.1.1.0 network to a
host in the 32.1.1.0 network. For route-based VPNs, traffic can be initiated by the SRX Series device
through the tunnel. We recommend that when testing IPsec tunnels, test traffic be sent from a separate
device on one side of the VPN to a second device on the other side of the VPN. For example, initiate a
ping operation from 33.1.1.2 to 32.1.1.2.
From operational mode, enter the show security ike security-associations command. After obtaining an
index number from the command, use the show security ike security-associations index index_number
detail command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index detail command to get more information about the SA.
• Remote address—Verify that the remote IP address is correct and that port 500 is being used for
peer-to-peer communication.
• External interfaces (the interface must be the one that receives IKE packets)
The show security ike security-associations command lists additional information about security
associations:
• Phase 1 lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
• Role information
Purpose
Verify the IPsec status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index index_number
detail command.
Virtual-system: root
Local Gateway: 1.0.0.1, Remote Gateway: 1.1.1.1
Local Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Remote Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Version: IKEv1
DF-bit: clear
Direction: inbound, SPI: ac23df79, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 3186 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2578 seconds
Mode: Tunnel, Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc
Anti-replay service: counter-based enabled, Replay window size: 64
Meaning
The output from the show security ipsec security-associations command lists the following information:
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
2532/ unlim value indicates that the Phase 2 lifetime expires in 2532 seconds, and that no lifesize has
been specified, which indicates that it is unlimited. Phase 2 lifetime can differ from Phase 1 lifetime, as
Phase 2 is not dependent on Phase 1 after the VPN is up.
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U indicates that monitoring is up, and D indicates that monitoring is down.
• The virtual system (vsys) is the root system, and it always lists 0.
Purpose
Verify the IKE Phase 1 status.
Action
From operational mode, enter the show security ike security-associations command. After obtaining an
index number from the command, use the show security ike security-associations index index_number
detail command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index detail command to get more information about the SA.
• Remote address—Verify that the remote IP address is correct and that port 500 is being used for
peer-to-peer communication.
• External interfaces (the interface must be the one that receives IKE packets)
The show security ike security-associations command lists additional information about security
associations:
• Phase 1 lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
• Role information
Purpose
Verify the IPsec status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index index_number
detail command.
Virtual-system: root
Local Gateway: 71.1.1.1, Remote Gateway: 1.0.0.1
Local Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Remote Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Version: IKEv1
DF-bit: clear
Direction: inbound, SPI: a5224cd9, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 3523 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2923 seconds
Mode: Tunnel, Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc
Anti-replay service: counter-based enabled, Replay window size: 64
Meaning
The output from the show security ipsec security-associations command lists the following information:
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
3571/ unlim value indicates that the Phase 2 lifetime expires in 3571 seconds, and that no lifesize has
been specified, which indicates that it is unlimited. Phase 2 lifetime can differ from Phase 1 lifetime, as
Phase 2 is not dependent on Phase 1 after the VPN is up.
725
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U indicates that monitoring is up, and D indicates that monitoring is down.
• The virtual system (vsys) is the root system, and it always lists 0.
The output from the show security ipsec security-associations index index_iddetail command lists the
following information:
• The local identity and remote identity make up the proxy ID for the SA.
A proxy ID mismatch is one of the most common causes for a Phase 2 failure. If no IPsec SA is listed,
confirm that Phase 2 proposals, including the proxy ID settings, are correct for both peers. For route-based
VPNs, the default proxy ID is local=0.0.0.0/0, remote=0.0.0.0/0, and service=any. Issues can occur with
multiple route-based VPNs from the same peer IP. In this case, a unique proxy ID for each IPsec SA must
be specified. For some third-party vendors, the proxy ID must be manually entered to match.
• Another common reason for Phase 2 failure is not specifying the ST interface binding. If IPsec cannot
complete, check the kmd log or set trace options.
SEE ALSO
IN THIS SECTION
Requirements | 726
Overview | 726
Configuration | 731
Verification | 758
This example shows how to configure a policy-based VPN with both an initiator and a responder behind
a NAT device to allow data to be securely transferred between a branch office and the corporate office.
726
Requirements
Overview
In this example, you configure a policy-based VPN for a branch office in Chicago, Illinois, because you
want to conserve tunnel resources but still get granular restrictions on VPN traffic. Users in the branch
office will use the VPN to connect to their corporate headquarters in Sunnyvale, California.
In this example, you configure interfaces, routing options, security zones, security policies for both an
initiator and a responder.
Figure 37 on page 727 shows an example of a topology for a VPN with both an initiator and a responder
behind a static NAT device.
727
Figure 37: Policy-Based VPN Topology with Both an Initiator and a Responder Behind a NAT Device
Trust Zone
10.1.99.2
ge-0/0/1.0
10.1.99.1/24
NAT Router
Policy-based Tunnel
ge-0/0/1.0
1.1.100.23
Untrust Zone
Internet
ge-0/0/1.0
1.1.100.22
NAT Router
ge-0/0/0.0
13.168.11.100
ge-0/0/0.0
13.168.11.100/24
10.2.99.2
In this example, you configure interfaces, an IPv4 default route, and security zones. Then you configure
IKE Phase 1, including local and remote peers, IPsec Phase 2, and the security policy. Note in the example
above, the responder’s private IP address 13.168.11.1 is hidden by the static NAT device and mapped to
public IP address 1.1.100.1.
See Table 70 on page 728 through Table 73 on page 729 for specific configuration parameters used for the
initiator in the examples.
728
Table 70: Interface, Routing Options, and Security Zones for the Initiator
ge-0/0/1 10.1.99.1/24
1.1.100.0/24 12.168.99.100
The security policy permits tunnel traffic from pol1 • Match criteria:
the trust zone to the untrust zone. • source-address any
• destination-address any
• application any
• Action: permit tunnel ipsec-vpn first_vpn
The security policy permits tunnel traffic from pol1 • Match criteria:
the untrust zone to the trust zone. • application any
• Action: permit tunnel ipsec-vpn first_vpn
See Table 74 on page 729 through Table 77 on page 731 for specific configuration parameters used for the
responder in the examples.
Table 74: Interface, Routing Options, and Security Zones for the Responder
ge-0/0/1 10.2.99.1/24
1.1.100.0/24 13.168.11.100
730
Table 74: Interface, Routing Options, and Security Zones for the Responder (continued)
The security policy permits tunnel traffic from pol1 • Match criteria:
the trust zone to the untrust zone. • source-address any
• destination-address any
• application any
• Action: permit tunnel ipsec-vpn first_vpn
The security policy permits tunnel traffic from pol1 • Match criteria:
the untrust zone to the trust zone. • application any
• Action: permit tunnel ipsec-vpn first_vpn
Configuration
IN THIS SECTION
Configuring Interface, Routing Options, and Security Zones for the Initiator | 731
Configuring Interface, Routing Options, and Security Zones for the Responder | 745
Configuring Interface, Routing Options, and Security Zones for the Initiator
[edit]
set interfaces ge-0/0/0 unit 0 family inet address 12.168.99.100/24
set interfaces ge-0/0/1 unit 0 family inet address 10.1.99.1/24
set routing-options static route 10.2.99.0/24 next-hop 12.168.99.1
set routing-options static route 1.1.100.0/24 next-hop 12.168.99.1
set security zones security-zone trust host-inbound-traffic system-services all
set security zones security-zone trust host-inbound-traffic protocols all
set security zones security-zone trust interfaces ge-0/0/1.0
set security zones security-zone untrust interfaces ge-0/0/0.0
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family inet address 12.168.99.100/24
user@host# set interfaces ge-0/0/1 unit 0 family inet address 10.1.99.1/24
[edit]
user@host# set routing-options static route 10.2.99.0/24 next-hop 12.168.99.1
user@host# set routing-options static route 1.1.100.0/24 next-hop 12.168.99.1
[edit ]
user@host# set security zones security-zone trust host-inbound-traffic protocols all
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
and show security zones commands If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 12.168.99.100/24;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 10.1.99.1/24;
}
}
}
[edit]
user@host# show routing-options
static {
route 10.2.99.0/24 next-hop 12.168.99.1;
route 1.1.100.0/24 next-hop 12.168.99.1;
}
[edit]
user@host# show security zones
security-zone trust {
734
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
}
}
security-zone untrust {
host-inbound-traffic {
}
interfaces {
ge-0/0/0.0;
}
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
735
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IKE:
10. Create an IKE Phase 1 gateway and define its external interface.
Results
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show security ike
737
proposal ike_prop {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm md5;
encryption-algorithm 3des-cbc;
}
policy ike_pol {
mode aggressive;
proposals ike_prop;
pre-shared-key ascii-text "$ABC123”
}
gateway gate {
ike-policy ike_pol;
address 13.168.11.100;
local-identity hostname chicago;
external-interface ge-0/0/0.0;
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# edit security ipsec proposal ipsec_prop
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
[edit]
user@host# show security ipsec
proposal ipsec_prop {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm 3des-cbc;
}
policy ipsec_pol {
perfect-forward-secrecy {
keys group1;
}
proposals ipsec_prop;
}
vpn first_vpn {
ike {
gateway gate;
ipsec-policy ipsec_pol;
}
establish-tunnels immediately;
}
If you are done configuring the device, enter commit from configuration mode.
set security policies from-zone trust to-zone untrust policy pol1 match source-address any
set security policies from-zone trust to-zone untrust policy pol1 match destination-address any
set security policies from-zone trust to-zone untrust policy pol1 match application any
set security policies from-zone trust to-zone untrust policy pol1 then permit tunnel ipsec-vpn first_vpn
set security policies from-zone untrust to-zone trust policy pol1 match application any
740
set security policies from-zone untrust to-zone trust policy pol1 then permit tunnel ipsec-vpn first_vpn
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Create the security policy to permit traffic from the trust zone to the untrust zone.
2. Create the security policy to permit traffic from the untrust zone to the trust zone.
Results
From configuration mode, confirm your configuration by entering the show security policies command.
If the output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
[edit]
user@host# show security policies
from-zone trust to-zone untrust {
policy pol1 {
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
tunnel {
ipsec-vpn first_vpn;
}
741
}
}
}
}
from-zone untrust to-zone trust {
policy pol1 {
match {
application any;
}
then {
permit {
tunnel {
ipsec-vpn first_vpn;
}
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet address 12.168.99.1/24
user@host# set ge-0/0/1 unit 0 family inet address 1.1.100.23/24
2. Configure zones.
3. Configure NAT.
user@host# set from-zone untrust to-zone trust policy allow-all then permit
[edit routing-options
user@host# set static route 0.0.0.0/0 next-hop 1.1.100.22
Results
From configuration mode, confirm your configuration by entering the show security nat command. If the
output does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show security nat
source {
rule-set ipsec {
from zone trust;
to zone untrust;
rule 1 {
match {
source-address 0.0.0.0/0;
}
then {
source-nat {
interface;
}
}
}
}
}
}
policies {
from-zone trust to-zone untrust {
policy allow-all {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
744
}
}
from-zone untrust to-zone trust {
policy allow-all {
match {
application any;
}
then {
permit;
}
}
}
}
zones {
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone untrust {
host-inbound-traffic {
}
interfaces {
ge-0/0/1.0;
}
}
}
}
interfaces {
ge-0/0/0 {
unit 0 {
family inet {
address 12.168.99.1/24;
}
}
}
745
ge-0/0/1 {
unit 0 {
family inet {
address 1.1.100.23/24;
}
}
}
}
routing-options {
static {
route 0.0.0.0/0 next-hop 1.1.100.22;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Interface, Routing Options, and Security Zones for the Responder
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family inet address 13.168.11.100/24
user@host# set interfaces ge-0/0/1 unit 0 family inet address 10.2.99.1/24
746
[edit]
user@host# set routing-options static route 10.1.99.0/24 next-hop 13.168.11.1
user@host# set routing-options static route 1.1.100.0/24 next-hop 13.168.11.1
[edit]
user@host# set security zones security-zone trust host-inbound-traffic protocols all
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
and show security zones commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 13.168.11.100/24;
}
}
747
}
ge-0/0/1 {
unit 0 {
family inet {
address 10.2.99.1/24;
}
}
}
[edit]
user@host# show routing-options
static {
route 10.1.99.0/24 next-hop 13.168.11.1;
route 1.1.100.0/24 next-hop 13.168.11.1;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
}
interfaces {
ge-0/0/0.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
}
}
If you are done configuring the device, enter commit from configuration mode.
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IKE:
9. Create an IKE Phase 1 gateway and define its dynamic host name.
10. Create an IKE Phase 1 gateway and define its external interface.
Results
750
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show security ike
proposal ike_prop {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm md5;
encryption-algorithm 3des-cbc;
}
policy ike_pol {
mode aggressive;
proposals ike_prop;
pre-shared-key ascii-text "$ABC123";
}
gateway gate {
ike-policy ike_pol;
dynamic hostname chicago;
external-interface ge-0/0/0.0;
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
751
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# edit security ipsec proposal ipsec_prop
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
[edit]
user@host# show security ipsec
proposal ipsec_prop {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm 3des-cbc;
}
policy ipsec_pol {
perfect-forward-secrecy {
keys group1;
}
proposals ipsec_prop;
}
vpn first_vpn {
ike {
gateway gate;
ipsec-policy ipsec_pol;
}
}
If you are done configuring the device, enter commit from configuration mode.
set security policies from-zone trust to-zone untrust policy pol1 match source-address any
set security policies from-zone trust to-zone untrust policy pol1 match destination-address any
set security policies from-zone trust to-zone untrust policy pol1 match application any
set security policies from-zone trust to-zone untrust policy pol1 then permit tunnel ipsec-vpn first_vpn
set security policies from-zone untrust to-zone trust policy pol1 match application any
set security policies from-zone untrust to-zone trust policy pol1 then permit tunnel ipsec-vpn first_vpn
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Create the security policy to permit traffic from the trust zone to the untrust zone.
2. Create the security policy to permit traffic from the untrust zone to the trust zone.
Results
From configuration mode, confirm your configuration by entering the show security policies command.
If the output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
[edit]
user@host# show security policies
from-zone trust to-zone untrust {
policy pol1 {
match {
source-address any;
destination-address any;
application any;
}
754
then {
permit {
tunnel {
ipsec-vpn first_vpn;
}
}
}
}
}
from-zone untrust to-zone trust {
policy pol1 {
match {
application any;
}
then {
permit {
tunnel {
ipsec-vpn first_vpn;
}
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet address 13.168.11.1/24
user@host# set ge-0/0/1 unit 0 family inet address 1.1.100.22/24
2. Configure zones.
3. Configure NAT.
user@host# set from-zone trust to-zone untrust policy allow-all match source-address any
user@host# set from-zone trust to-zone untrust policy allow-all match destination-address any
user@host# set from-zone trust to-zone untrust policy allow-all match application any
user@host# set from-zone trust to-zone untrust policy allow-all then permit
user@host# set from-zone untrust to-zone trust policy allow-all match application any
user@host# set from-zone untrust to-zone trust policy allow-all then permit
[edit routing-options
user@host# set static route 0.0.0.0/0 next-hop 1.1.100.23
Results
From configuration mode, confirm your configuration by entering the show security nat command. If the
output does not display the intended configuration, repeat the instructions in this example to correct the
configuration.
[edit]
user@host# show security nat
nat {
source {
rule-set ipsec {
from zone trust;
to zone untrust;
rule 1 {
match {
source-address 0.0.0.0/0;
}
then {
source-nat {
interface;
}
}
}
}
}
}
policies {
from-zone trust to-zone untrust {
policy allow-all {
match {
source-address any;
757
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone untrust to-zone trust {
policy allow-all {
match {
application any;
}
then {
permit;
}
}
}
}
zones {
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone untrust {
host-inbound-traffic {
}
interfaces {
ge-0/0/1.0;
}
}
}
}
interfaces {
ge-0/0/0 {
758
unit 0 {
family inet {
address 13.168.11.1/24;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 1.1.100.22/24;
}
}
}
}
routing-options {
static {
route 0.0.0.0/0 next-hop 1.1.100.23;
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
Before starting the verification process, you must send traffic from a host in the 10.1.99.0 network to a
host in the 10.2.99.0 network. For route-based VPNs, traffic can be initiated by the SRX Series device
759
through the tunnel. We recommend that when testing IPsec tunnels, test traffic be sent from a separate
device on one side of the VPN to a second device on the other side of the VPN. For example, initiate a
ping operation from 10.1.99.2 to 10.2.99.2.
From operational mode, enter the show security ike security-associations command. After obtaining an
index number from the command, use the show security ike security-associations index index_number
detail command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index detail command to get more information about the SA.
• Remote address—Verify that the remote IP address is correct and that port 4500 is being used for
peer-to-peer communication.
• Both peers in the IPsec SA pair are using port 4500, which indicates that NAT-T is implemented.
(NAT-T uses port 4500 or another random high-numbered port.)
• Peer IKE ID—Verify the remote (responder) ID is correct. In this example, the hostname is sunnyvale.
• External interfaces (the interface must be the one that receives IKE packets)
The show security ike security-associations command lists additional information about security
associations:
• Phase 1 lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
761
• Role information
Purpose
Verify the IPsec status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index index_number
detail command.
Wed Apr 08 2020 19:13:09: User cleared IPSec SA from CLI (1 times)
Wed Apr 08 2020 19:13:09: IKE SA negotiation successfully completed (5 times)
Wed Apr 08 2020 19:12:18: User cleared IPSec SA from CLI (1 times)
Wed Apr 08 2020 19:12:12: IPSec SA negotiation successfully completed (1 times)
Wed Apr 08 2020 19:12:12: User cleared IPSec SA from CLI (1 times)
Wed Apr 08 2020 19:06:52: Peer's IKE-ID validation failed during negotiation
(2 times)
Wed Apr 08 2020
: Negotiation failed with error code NO_PROPOSAL_CHOSEN received from peer
(2 times)
Wed Apr 08 2020 19:05:26: Peer's IKE-ID validation failed during negotiation
(1 times)
Wed Apr 08 2020
: Negotiation failed with error code NO_PROPOSAL_CHOSEN received from peer
(1 times)
Wed Apr 08 2020 19:04:26: Peer's IKE-ID validation failed during negotiation
(1 times)
Wed Apr 08 2020
: Negotiation failed with error code NO_PROPOSAL_CHOSEN received from peer
(1 times)
Wed Apr 08 2020 19:03:26: Peer's IKE-ID validation failed during negotiation
(1 times)
Direction: inbound, SPI: aff3ac30, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 1093 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 453 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-md5-96, Encryption: 3des-cbc
Anti-replay service: counter-based enabled, Replay window size: 64
Direction: outbound, SPI: 40539d12, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 1093 seconds
763
Meaning
The output from the show security ipsec security-associations command lists the following information:
• Both peers in the IPsec SA pair are using port 4500, which indicates that NAT-T is implemented. (NAT-T
uses port 4500 or another random high-numbered port.).
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
3390/ unlimited value indicates that the Phase 2 lifetime expires in 3390 seconds, and that no lifesize
has been specified, which indicates that it is unlimited. Phase 2 lifetime can differ from Phase 1 lifetime,
as Phase 2 is not dependent on Phase 1 after the VPN is up.
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U indicates that monitoring is up, and D indicates that monitoring is down.
• The virtual system (vsys) is the root system, and it always lists 0.
Purpose
Verify the IKE Phase 1 status.
Action
From operational mode, enter the show security ike security-associations command. After obtaining an
index number from the command, use the show security ike security-associations index index_number
detail command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index detail command to get more information about the SA.
• Remote address—Verify that the remote IP address is correct and that port 4500 is being used for
peer-to-peer communication.
765
• Peer IKE ID—Verify the local ID for the peer is correct. In this example, the hostname is chicago.
• External interfaces (the interface must be the one that receives IKE packets)
The show security ike security-associations command lists additional information about security
associations:
• Phase 1 lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
• Role information
Purpose
Verify the IPsec status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index index_number
detail command.
Wed Apr 08 2020 19:14:15: User cleared IPSec SA from CLI (1 times)
Wed Apr 08 2020 19:13:39: IPSec SA negotiation successfully completed (3 times)
Wed Apr 08 2020 19:10:20: User cleared IPSec SA from CLI (1 times)
Wed Apr 08 2020 19:10:08: IPSec SA negotiation successfully completed (1 times)
Meaning
The output from the show security ipsec security-associations command lists the following information:
• Both peers in the IPsec SA pair are using port 4500, which indicates that NAT-T is implemented. (NAT-T
uses port 4500 or another random high-numbered port.)
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
3571/ unlim value indicates that the Phase 2 lifetime expires in 3571 seconds, and that no lifesize has
been specified, which indicates that it is unlimited. Phase 2 lifetime can differ from Phase 1 lifetime, as
Phase 2 is not dependent on Phase 1 after the VPN is up.
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U indicates that monitoring is up, and D indicates that monitoring is down.
• The virtual system (vsys) is the root system, and it always lists 0.
SEE ALSO
IN THIS SECTION
Requirements | 768
Overview | 768
Configuration | 770
Verification | 785
This example shows how to configure a route-based VPN where the IKEv2 initiator is a dynamic endpoint
behind a NAT device.
Requirements
Overview
In this example, an IPsec VPN is configured between the branch office (IKEv2 initiator) and headquarters
(IKEv2 responder) to secure network traffic between the two locations. The branch office is located behind
the NAT device. The branch office address is assigned dynamically and is unknown to the responder. The
initiator is configured with the remote identity of the responder for tunnel negotiation. This configuration
establishes a dynamic endpoint VPN between the peers across the NAT device.
Figure 38 on page 769 shows an example of a topology with NAT-Traversal (NAT-T) and dynamic endpoint
VPN.
769
In this example, the initiator’s IP address, 192.179.100.50, which has been dynamically assigned to the
device, is hidden by the NAT device and translated to 100.10.1.253.
• The local identity configured on the initiator must match the remote gateway identity configured on the
responder.
• Phase 1 and Phase 2 options must match between the initiator and responder.
In this example, the default security policy that permits all traffic is used for all devices. More restrictive
security policies should be configured for production environments. See Security Policies Overview.
Starting with Junos OS Release 12.1X46-D10 and Junos OS Release 17.3R1, the default value for the
nat-keepalive option configured at the [edit security ike gateway gateway-name] hierarchy level has been
changed from 5 seconds to 20 seconds.
In SRX1400, SRX3400, SRX3600, SRX5600, and SRX5800 devices, IKE negotiations involving NAT traversal
do not work if the IKE peer is behind a NAT device that will change the source IP address of the IKE packets
during the negotiation. For example, if the NAT device is configured with DIP, it changes the source IP
because the IKE protocol switches the UDP port from 500 to 4500. (Platform support depends on the
Junos OS release in your installation.)
770
Configuration
IN THIS SECTION
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 192.179.100.50/24
user@host# set ge-0/0/2 unit 0 family inet address 192.179.2.20/24
user@host# set st0 unit 0 family inet address 172.168.100.1/16
[edit routing-options]
user@host# set static route 192.179.1.0/24 next-hop st0.0
3. Configure zones.
Results
773
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security zones, show security ike, show security ipsec, and show security policies commands. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 192.179.100.50/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 192.179.2.20/24;
}
}
}
st0 {
unit 0 {
family inet {
address 172.168.100.1/16;
}
}
}
[edit]
user@host# show routing-options
static {
route 192.179.1.0/24 next-hop st0.0;
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
774
interfaces {
ge-0/0/2.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
st0.0;
}
}
[edit]
user@host# show security ike
proposal IKE_PROP {
authentication-method pre-shared-keys;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy IKE_POL {
proposals IKE_PROP;
pre-shared-key ascii-text "$ABC123”
}
gateway HQ_GW{
ike-policy IKE_POL;
address 100.10.1.50;
local-identity hostname branch.example.net;
external-interface ge-0/0/1.0;
version v2-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-256-cbc;
}
775
policy IPSEC_POL {
perfect-forward-secrecy {
keys group5;
}
proposals IPSEC_PROP;
}
vpn HQ_VPN {
bind-interface st0.0;
ike {
gateway HQ_GW;
ipsec-policy IPSEC_POL;
}
establish-tunnels immediately;
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
776
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 100.10.1.253/24
user@host# set fe-0/0/2 unit 0 family inet address 192.179.100.253/24
2. Configure zones.
3. Configure NAT.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show security
zones, show security nat source, and show security policies commands. If the output does not display the
intended configuration, repeat the configuration instructions in this example to correct it.
777
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 100.10.1.253/24;
}
}
}
fe-0/0/2 {
unit 0 {
family inet {
address 192.179.100.253/24;
}
}
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
fe-0/0/2.0;
}
}
778
[edit]
user@host# show security nat source
rule-set DYNAMIC {
from zone untrust;
to zone trust;
rule R2R3 {
match {
source-address 0.0.0.0/0;
}
then {
source-nat {
interface;
}
}
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
2. Configure interfaces.
[edit interfaces]
user@host# set ge-0/0/1 gigether-options redundant-parent reth0
user@host# set ge-0/0/2 gigether-options redundant-parent reth1
user@host# set ge-8/0/1 gigether-options redundant-parent reth0
user@host# set ge-8/0/2 gigether-options redundant-parent reth1
user@host# set reth0 redundant-ether-options redundancy-group 1
user@host# set reth0 unit 0 family inet address 192.179.1.10/24
user@host# set reth1 redundant-ether-options redundancy-group 1
user@host# set reth1 unit 0 family inet address 100.10.1.50/24
user@host# set st0 unit 0 family inet address 172.168.100.2/16
[edit routing-options]
user@host# set static route 192.179.2.0/24 next-hop st0.0
user@host# set static route 192.179.100.0/24 next-hop 100.10.1.253
4. Configure zones.
Results
From configuration mode, confirm your configuration by entering the show chassis cluster, show interfaces,
show routing-options, show security zones, show security ike, show security ipsec, and show security
policies commands. If the output does not display the intended configuration, repeat the configuration
instructions in this example to correct it.
782
[edit]
user@host# show chassis cluster
reth-count 5;
redundancy-group 1 {
node 0 priority 220;
node 1 priority 149;
interface-monitor {
ge-0/0/1 weight 255;
ge-8/0/1 weight 255;
ge-0/0/2 weight 255;
ge-8/0/2 weight 255;
}
}
[edit]
user@host# show interfaces
ge-0/0/1 {
gigether-options {
redundant-parent reth0;
}
}
ge-0/0/2 {
gigether-options {
redundant-parent reth1;
}
}
ge-8/0/1 {
gigether-options {
redundant-parent reth0;
}
}
ge-8/0/2 {
gigether-options {
redundant-parent reth1;
}
}
reth0 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 192.179.1.10/24;
}
}
783
}
reth1 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 100.10.1.50/24;
}
}
}
st0 {
unit 0{
family inet {
address 172.168.100.2/16;
}
}
}
[edit]
user@host# show routing-options
static {
route 192.179.2.0/24 next-hop st0.0;
route 192.179.100.0/24 next-hop 100.10.1.253;
}
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
reth0.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
784
protocols {
all;
}
}
interfaces {
st0.0;
reth1.0;
}
}
[edit]
user@host# show security ike
proposal IKE_PROP {
authentication-method pre-shared-keys;
dh-group group5;
authentication-algorithm sha1;
encryption-algorithm aes-256-cbc;
}
policy IKE_POL {
proposals IKE_PROP;
pre-shared-key ascii-text “$ABC123”
}
gateway Branch_GW {
ike-policy IKE_POL;
dynamic hostname branch.example.net;
dead-peer-detection optimized;
external-interface reth1.0;
version v2-only;
}
[edit]
user@host# show security ipsec
proposal IPSEC_PROP {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-256-cbc;
}
policy IPSEC_POL {
perfect-forward-secrecy {
keys group5;
}
proposals IPSEC_PROP;
}
vpn Branch_VPN {
bind-interface st0.0;
ike {
785
gateway Branch_GW;
ipsec-policy IPSEC_POL;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
From operational mode on node 0, enter the show security ike security-associations command. After
obtaining an index number from the command, use the show security ike security-associations detail
command.
node0:
Index State Initiator cookie Responder cookie Mode Remote Address
1367024684 UP f82c54347e2f3fb1 020e28e1e4cae003 IKEv2 100.10.1.253
node0:
IKE peer 100.10.1.253, Index 1367024684, Gateway Name: Branch_GW
Location: FPC 5, PIC 0, KMD-Instance 2
Role: Responder, State: UP
Initiator cookie: f82c54347e2f3fb1, Responder cookie: 020e28e1e4cae003
Exchange type: IKEv2, Authentication method: Pre-shared-keys
Local: 100.10.1.50:4500, Remote: 100.10.1.253:2541
Lifetime: Expires in 3593 seconds
Peer ike-id: branch.example.net
Xauth assigned IP: 0.0.0.0
Algorithms:
Authentication : hmac-sha1-96
Encryption : aes256-cbc
Pseudo random function: hmac-sha1
Diffie-Hellman group : DH-group-5
Traffic statistics:
Input bytes : 683
Output bytes : 400
Input packets: 2
Output packets: 1
IPSec security associations: 0 created, 0 deleted
Phase 2 negotiations in progress: 1
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index index_id detail command to get more information about the SA.
• Remote address—Verify that the local IP address is correct and that port 4500 is being used for
peer-to-peer communication.
• External interfaces (the interface must be the one that sends IKE packets)
The show security ike security-associations command lists additional information about security
associations:
• Phase 1 lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
• Role information
Purpose
Verify the IPsec status.
Action
From operational mode on node 0, enter the show security ipsec security-associations command. After
obtaining an index number from the command, use the show security ipsec security-associations detail
command.
node0
Total active tunnels: 1
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<77856771 ESP:aes-cbc-256/sha1 4ad5af40 7186/unlim - root 2541 100.10.1.253
node0
ID: 77856771 Virtual-system: root, VPN Name: Branch_VPN
Local Gateway: 100.10.1.50, Remote Gateway: 100.10.1.253
Local Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Remote Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Version: IKEv2
DF-bit: clear
Bind-interface: st0.0
Meaning
The output from the show security ipsec security-associations command lists the following information:
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
lifetime value indicates that the Phase 2 lifetime expires in 7186 seconds, and that no lifesize has been
specified, which indicates that it is unlimited. Phase 2 lifetime can differ from Phase 1 lifetime, as Phase
2 is not dependent on Phase 1 after the VPN is up.
• The virtual system (vsys) is the root system, and it always lists 0.
The output from the show security ipsec security-associations index index_id detail command lists the
following information:
• The local identity and remote identity make up the proxy ID for the SA.
A proxy ID mismatch is one of the most common causes for a Phase 2 failure. If no IPsec SA is listed,
confirm that Phase 2 proposals, including the proxy ID settings, match for both peers. For route-based
VPNs, the default proxy ID is local=0.0.0.0/0, remote=0.0.0.0/0, and service=any. Issues can occur with
multiple route-based VPNs from the same peer IP. In this case, a unique proxy ID for each IPsec SA must
be specified. For some third-party vendors, the proxy ID must be manually entered to match.
• Another common reason for Phase 2 failure is not specifying the ST interface binding. If IPsec cannot
complete, check the kmd log or set trace options.
789
SEE ALSO
Release Description
12.1X46-D10 Starting with Junos OS Release 12.1X46-D10 and Junos OS Release 17.3R1, the default
value for the nat-keepalive option configured at the [edit security ike gateway
gateway-name] hierarchy level has been changed from 5 seconds to 20 seconds.
RELATED DOCUMENTATION
IN THIS SECTION
Dual-stack tunnels—parallel IPv4 and IPv6 tunnels over a single physical interface to a peer—are supported
for route-based site-to-site VPNs. A physical interface configured with both IPv4 and IPv6 addresses can
be used as an external interface for IPv4 and IPv6 gateways on the same peer or on different peers at the
same time.
In VPN tunnel mode, IPsec encapsulates the original IP datagram—including the original IP header—within
a second IP datagram. The outer IP header contains the IP address of the gateway, while the inner header
contains the ultimate source and destination IP addresses. The outer and inner IP headers can have a
protocol field of IPv4 or IPv6. SRX Series devices support four tunnel modes for route-based site-to-site
VPNs.
IPv4-in-IPv4 tunnels encapsulate IPv4 packets inside IPv4 packets, as shown in Figure 39 on page 791. The
protocol fields for both the outer and the inner headers are IPv4.
IPv6-in-IPv6 tunnels encapsulate IPv6 packets inside IPv6 packets, as shown in Figure 40 on page 792. The
protocol fields for both the outer and inner headers are IPv6.
792
IPv6-in-IPv4 tunnels encapsulate IPv6 packets inside IPv4 packets, as shown in Figure 41 on page 792. The
protocol field for the outer header is IPv4 and the protocol field for the inner header is IPv6.
IPv4-in-IPv6 tunnels encapsulate IPv4 packets inside IPv6 packets, as shown in Figure 42 on page 792. The
protocol field for the outer header is IPv6 and the protocol field for the inner header is IPv4.
A single IPsec VPN tunnel can carry both IPv4 and IPv6 traffic. For example, an IPv4 tunnel can operate
in both IPv4-in-IPv4 and IPv6-in-IPv4 tunnel modes at the same time. To allow both IPv4 and IPv6 traffic
over a single IPsec VPN tunnel, the st0 interface bound to that tunnel must be configured with both family
inet and family inet6.
793
A physical interface configured with both IPv4 and IPv6 addresses can be used as the external interface
for parallel IPv4 and IPv6 tunnels to a peer in a route-based site-to-site VPN. This feature is known as
dual-stack tunnels and requires separate st0 interfaces for each tunnel.
For policy-based VPNs, IPv6-in-IPv6 is the only tunnel mode supported and it is only supported on SRX300,
SRX320, SRX340, SRX345, and SRX550HM devices.
Dual-stack tunnels—parallel IPv4 and IPv6 tunnels over a single physical interface to a peer—are supported
for route-based site-to-site VPNs. A physical interface configured with both IPv4 and IPv6 addresses can
be used as the external interface to IPv4 and IPv6 gateways on the same peer or on different peers at the
same time. In Figure 43 on page 793, the physical interfaces reth0.0 and ge-0/0/0.1 support parallel IPv4
and IPv6 tunnels between two devices.
In Figure 43 on page 793, separate secure tunnel (st0) interfaces must be configured for each IPsec VPN
tunnel. Parallel IPv4 and IPv6 tunnels that are bound to the same st0 interface are not supported.
A single IPsec VPN tunnel can carry both IPv4 and IPv6 traffic. For example, an IPv4 tunnel can operate
in both IPv4-in-IPv4 and IPv6-in-IPv4 tunnel modes at the same time. To allow both IPv4 and IPv6 traffic
over a single IPsec VPN tunnel, the st0 interface bound to that tunnel must be configured with both family
inet and family inet6.
If multiple addresses in the same address family are configured on the same external interface to a VPN
peer, we recommend that you configure local-address at the [edit security ike gateway gateway-name]
hierarchy level.
If local-address is configured, the specified IPv4 or IPv6 address is used as the local gateway address. If
only one IPv4 and one IPv6 address is configured on a physical external interface, local-address configuration
is not required.
The local-address value must be an IP address that is configured on an interface on the SRX Series device.
We recommend that local-address belong to the external interface of the IKE gateway. If local-address
does not belong to the external interface of the IKE gateway, the interface must be in the same zone as
the external interface of the IKE gateway and an intra-zone security policy must be configured to permit
traffic.
The local-address value and the remote IKE gateway address must be in the same address family, either
IPv4 or IPv6.
794
If local-address is not configured, the local gateway address is based on the remote gateway address. If
the remote gateway address is an IPv4 address, the local gateway address is the primary IPv4 address of
the external physical interface. If the remote gateway address is an IPv6 address, the local gateway address
is the primary IPv6 address of the external physical interface.
SEE ALSO
IN THIS SECTION
Requirements | 794
Overview | 794
Configuration | 797
Verification | 803
This example shows how to configure parallel IPv4 and IPv6 tunnels over a single external physical interface
to a peer for route-based site-to-site VPNs.
Requirements
Before you begin, read “Understanding VPN Tunnel Modes” on page 791.
The configuration shown in this example is only supported with route-based site-to-site VPNs.
Overview
In this example, a redundant Ethernet interface on the local device supports parallel IPv4 and IPv6 tunnels
to a peer device:
• The IPv4 tunnel carries IPv6 traffic; it operates in IPv6-in-IPv4 tunnel mode. The secure tunnel interface
st0.0 bound to the IPv4 tunnel is configured with family inet6 only.
795
• The IPv6 tunnel carries both IPv4 and IPv6 traffic; it operates in both IPv4-in-IPv6 and IPv6-in-IPv6
tunnel modes. The secure tunnel interface st0.1 bound to the IPv6 tunnel is configured with both family
inet and family inet6.
Table 78 on page 795 shows the Phase 1 options used in this example. The Phase 1 option configuration
includes two IKE gateway configurations, one to the IPv6 peer and the other to the IPv4 peer.
Option Value
Mode Aggressive
Table 79 on page 796 shows the Phase 2 options used in this example. The Phase 2 option configuration
includes two VPN configurations, one for the IPv6 tunnel and the other for the IPv4 tunnel.
Option Value
Protocol ESP
Proposal ipsec_proposal
The following static routes are configured in the IPv6 routing table:
A static route is configured in the default (IPv4) routing table to route IPv4 traffic to 30.0.0.0/24 through
st0.1.
797
Flow-based processing of IPv6 traffic must be enabled with the mode flow-based configuration option at
the [edit security forwarding-options family inet6] hierarchy level.
Topology
In Figure 44 on page 797, the SRX Series device A supports IPv4 and IPv6 tunnels to device B. IPv6 traffic
to 3000::1/128 is routed through the IPv4 tunnel, while IPv6 traffic to 3000::2/128 and IPv4 traffic to
30.0.0.0/24 are routed through the IPv6 tunnel.
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/1 gigether-options redundant-parent reth1
user@host# set ge-8/0/1 gigether-options redundant-parent reth1
user@host# set reth1 redundant-ether-options redundancy-group 1
user@host# set reth1 unit 0 family inet address 20.0.0.1/24
user@host# set reth1 unit 0 family inet6 address 2000::1/64
[edit interfaces]
799
[edit routing-options]
user@host# set static route 30.0.0.0/24 next-hop st0.1
Results
From configuration mode, confirm your configuration by entering the show interfaces, show security ike,
show security ipsec, show routing-options, and show security forwarding-options commands. If the output
does not display the intended configuration, repeat the configuration instructions in this example to correct
it.
[edit]
user@host# show interfaces
ge-0/0/1 {
gigether-options {
redundant-parent reth1;
}
}
ge-8/0/1 {
gigether-options {
redundant-parent reth1;
}
}
801
reth1 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 20.0.0.1/24;
}
family inet6 {
address 2000::1/64;
}
}
}
st0 {
unit 0 {
family inet;
family inet6;
}
unit 1 {
family inet6;
}
}
[edit]
user@host# show security ike
proposal ike_proposal {
authentication-method pre-shared-keys;
authentication-algorithm md5;
encryption-algorithm 3des-cbc;
lifetime-seconds 3600;
}
policy ike_policy {
mode aggressive;
proposals ike_proposal;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway ike_gw_v6 {
ike-policy ike_policy;
address 2000::2;
external-interface reth1.0;
version v2-only;
}
gateway ike_gw_4 {
ike-policy ike_policy;
address 20.0.0.2;
802
external-interface reth1.0;
}
[edit]
user@host# show security ipsec
proposal ipsec_proposal {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm 3des-cbc;
}
policy ipsec_policy {
proposals ipsec_proposal;
}
vpn test_s2s_v6 {
bind-interface st0.1;
ike {
gateway ike_gw_v6;
ipsec-policy ipsec_policy;
}
establish-tunnels immediately;
}
vpn test_s2s_v4 {
bind-interface st0.0;
ike {
gateway ike_gw_4;
ipsec-policy ipsec_policy;
}
}
[edit]
user@host# show routing-options
rib inet6.0 {
static {
route 3000::1/128 next-hop st0.0;
route 3000::2/128 next-hop st0.1;
}
}
static {
route 30.0.0.0/24 next-hop st0.1;
}
[edit]
user@host# show security forwarding-options
family {
inet6 {
mode flow-based;
}
803
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
From operational mode, enter the show security ike security-associations command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. Check the IKE policy parameters and external interface
settings in your configuration. Phase 1 proposal parameters must match on the peer devices.
804
Purpose
Verify the IPsec Phase 2 status.
Action
From operational mode, enter the show security ipsec security-associations command.
Meaning
The show security ipsec security-associations command lists all active IKE Phase 2 SAs. If no SAs are
listed, there was a problem with Phase 2 establishment. Check the IKE policy parameters and external
interface settings in your configuration. Phase 2 proposal parameters must match on the peer devices.
Verifying Routes
Purpose
Verify active routes.
Action
From operational mode, enter the show route command.
Meaning
The show route command lists active entries in the routing tables.
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
SRX Series devices support IPsec VPN tunnels in a chassis cluster setup. In an active/passive chassis cluster,
all VPN tunnels terminate on the same node. In an active/active chassis cluster, VPN tunnels can terminate
on either node.
In an active/passive chassis cluster, all VPN tunnels terminate on the same node, as shown in
Figure 45 on page 807.
Mobile
ENode B CHASSIS CLUSTER Management
Entity
Serving
ENode B Gateway
In an active/active chassis cluster, VPN tunnels can terminate on either node. Both nodes in the chassis
cluster can actively pass traffic through VPN tunnels on both nodes at the same time, as shown in
Figure 46 on page 808. This deployment is known as dual active-backup IPsec VPN chassis clusters.
808
Mobile
CHASSIS CLUSTER Management
ENode B
Entity
g043158
Serving
ENode B Gateway
The following features are supported with dual active-backup IPsec VPN chassis clusters:
• VPN monitoring.
• Insertion of Services Processing Cards (SPCs) on a chassis cluster device without disrupting the traffic
on the existing VPN tunnels. See “Understanding VPN Support for Inserting Services Processing Cards”
on page 52.
• Fragmented traffic.
• The loopback interface can be configured as the external interface for the VPN.
Dual active-backup IPsec VPN chassis clusters cannot be configured with Z-mode flows. Z-mode flows
occur when traffic enters an interface on a chassis cluster node, passes through the fabric link, and exits
through an interface on the other cluster node.
SEE ALSO
IN THIS SECTION
Requirements | 809
Overview | 809
Configuration | 811
Verification | 815
This example shows how to configure a redundancy group (RG) for a loopback interface in order to prevent
VPN failure. Redundancy groups are used to bundle interfaces into a group for failover purpose in a chassis
cluster setup.
Requirements
• Two switches
Understand chassis cluster redundant Ethernet interfaces. See Chassis Cluster User Guide for SRX Series
Devices.
Overview
An Internet Key Exchange (IKE) gateway needs an external interface to communicate with a peer device.
In a chassis cluster setup, the node on which the external interface is active selects a Services Processing
Unit (SPU) to support the VPN tunnel. IKE and IPsec packets are processed on that SPU. Therefore, the
active external interface decides the anchor SPU.
In a chassis cluster setup, the external interface is a redundant Ethernet interface. A redundant Ethernet
interface can go down when its physical (child) interfaces are down. You can configure a loopback interface
as an alternative physical interface to reach the peer gateway. Loopback interfaces can be configured on
810
any redundancy group. This redundancy group configuration is only checked for VPN packets, because
only VPN packets must find the anchor SPU through the active interface.
You must configure lo0.x in a custom virtual router, since lo0.0 is in the default virtual router and only one
loopback interface is allowed in a virtual router.
Figure 47 on page 810 shows an example of a loopback chassis cluster VPN topology. In this topology, the
SRX Series chassis cluster device is located in Sunnyvale, California. The SRX Series chassis cluster device
works as a single gateway in this setup. The SSG Series device (or a third-party device) is located in Chicago,
Illinois. This device acts as a peer device to the SRX chassis cluster and it helps to build a VPN tunnel.
Configuration
Step-by-Step Procedure
To configure a redundancy group for a loopback interface:
[edit interfaces]
user@host# set lo0 redundant-pseudo-interface-options redundancy-group 1
812
[edit interfaces]
user@host# set lo0 unit 1 family inet address 10.3.3.3/30
[edit routing-instances]
user@host# set vr1 instance-type virtual-router
user@host# set vr1 interface lo0.1
user@host# set vr1 interface reth0.0
user@host# set vr1 interface reth1.0
user@host# set vr1 interface st0.0
user@host# set vr1 routing-options static route 192.168.168.1/24 next-hop st0.0
4. Configure the loopback interface as an external interface for the IKE gateway.
Results
From configuration mode, confirm your configuration by entering the show interfaces lo0, show
routing-instances, show security ike, and show security ipsec commands. If the output does not display
the intended configuration, repeat the instructions in this example to correct the configuration.
[edit]
user@host# show interfaces lo0
unit 1 {
family inet {
address 10.3.3.3/30;
}
}
redundant-pseudo-interface-options {
redundancy-group 1;
}
[edit]
user@host# show routing-instances
vr1 {
instance-type virtual-router;
interface lo0.1;
interface reth0.0;
interface reth1.0;
interface st0.0;
routing-options {
static {
route 192.168.168.1/24 next-hop st0.0;
}
}
}
[edit]
user@host# show security ike
policy ike-policy1 {
mode main;
proposal-set standard;
pre-shared-key ascii-text "$ABC123";
}
gateway t-ike-gate {
814
ike-policy ike-policy1;
address 10.2.2.2;
external-interface lo0.1;
}
[edit]
user@host# show security ipsec
proposal p2-std-p1 {
authentication-algorithm hmac-sha1-96;
encryption-algorithm 3des-cbc;
lifetime-seconds 180;
}
proposal p2-std-p2 {
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-128-cbc;
lifetime-seconds 180;
}
policy vpn-policy1 {
perfect-forward-secrecy {
keys group2;
}
proposals [ p2-std-p1 p2-std-p2 ];
}
policy vpn-policy2 {
perfect-forward-secrecy {
keys group2;
}
proposals [ p2-std-p1 p2-std-p2 ];
}
vpn t-ike-vpn {
bind-interface st0.0;
ike {
gateway t-ike-gate;
proxy-identity {
local 10.10.10.1/24;
remote 192.168.168.1/24;
}
ipsec-policy vpn-policy1;
}
}
If you are done configuring the device, enter commit from configuration mode.
815
Verification
Purpose
Verify that the configuration for redundancy groups for loopback interfaces is correct.
Action
From operational mode, enter the show chassis cluster interfaces command.
Meaning
The show chassis cluster interfaces command displays the chassis cluster interfaces information. If the
status of the Redundant-pseudo-interface Information field shows the lo0 interface as Up and the status
of the Redundant-ethernet Information field shows reth0, reth1, and reth2 fields as Up then your
configuration is correct.
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
Juniper Networks supports manual and autokey IKE with preshared keys configurations for IPv6 IPsec
VPN.
A route-based site-to-site VPN tunnel with a point-to-point secure tunnel interface can operate in
IPv4-in-IPv4, IPv6-in-IPv6, IPv6-in-IPv4, or IPv4-in-IPv6 tunnel modes. IPv6 addresses can be in the outer
IP header, which represents the tunnel endpoint, or in the inner IP header, which represents the final
source and destination addresses for a packet.
Table 80 on page 818 defines the support for IPv6 addresses in VPN features.
IKEv1 and IKEv2 Yes Unless specified, all supported features are applicable
for IKEv1 and IKEv2.
Policy-based VPN Yes IPv6 policy-based VPNs are not supported on SRX
Series devices in chassis cluster configurations. IPv6
policy-based VPNs are only supported with
IPv6-in-IPv6 tunnels on standalone SRX300, SRX320,
SRX340, SRX345, and SRX550HM devices.
Group VPN No –
Logical system No –
820
Chassis cluster Yes IPsec VPN with active-active mode is supported only
on SRX300, SRX320, SRX340, SRX345, and
SRX550HM devices for route-based IPv6 tunnels.
IPsec VPN with active-active mode is not supported
on SRX5400, SRX5600, and SRX5800 devices.
Local address selection Yes When multiple addresses in the same address family
are configured on a physical external interface to a
VPN peer, we recommend that you also configure
local-address at the [edit security ike gateway
gateway-name] hierarchy level.
ISSU Yes –
DNS name as IKE gateway address Yes As with IPv4 tunnels, peer gateway address changes
in the DNS name are not supported with IPv6
tunnels.
NAT-Traversal (NAT-T) for IPv4 IKE peers Yes NAT-T is supported only for IPv6-in-IPv4 and
IPv4-in-IPv4 tunnel modes with IKEv1. IPv6-in-IPv6
and IPv4-in-IPv6 tunnel modes are not supported.
IKEv2 is not supported for NAT-T. NAT-T from IPv6
to IPv4 or from IPv4 to IPv6 is not supported.
821
Dead peer detection (DPD) and DPD gateway Yes DPD gateway failover is only supported for different
failover gateway addresses within the same family. Failover
from an IPv6 gateway address to an IPv4 gateway
address, or vice versa, is not supported.
ESP and AH transport modes No These modes are not supported for IPv4.
ESP and AH tunnel modes Yes AH tunnel mode with mutable extension headers
and options is not supported.
Dual-stack (parallel IPv4 and IPv6 tunnels) over Yes For route-based site-to-site VPNs. A single IPv4
a single physical interface tunnel can operate in both IPv4-in-IPv4 and
IPv6-in-IPv4 tunnel modes and a single IPv6 tunnel
can operate in both IPv4-in-IPv6 and IPv6-in-IPv6
tunnel modes.
822
IPv6 extension headers Yes IPv6 extension headers and IPv4 options for IKE and
IPsec packets are accepted but are not processed.
AH with mutable EHs and options is not supported.
Multicast traffic No –
PKI Support:
SEE ALSO
IN THIS SECTION
Internet Key Exchange (IKE) is part of the IPsec suite of protocols. It automatically enables two tunnel
endpoints to set up security associations (SAs) and negotiate secret keys with each other. There is no need
to manually configure the security parameters. IKE also provides authentication for communicating peers.
• Internet Security Association and Key Management Protocol (ISAKMP) Identification Payload
ISAKMP identification payload is used to identify and authenticate the communicating IPv6 peers. Two
ID types (ID_IPV6_ADDR and ID_IPV6_ADDR_SUBNET) are enabled for IPv6. The ID type indicates the
type of identification to be used. The ID_IPV6_ADDR type specifies a single 16-octet IPv6 address. This
ID type represents an IPv6 address. The ID_IPV6_ADDR_SUBNET type specifies a range of IPv6 addresses
824
represented by two 16-octet values. This ID type represents an IPv6 network mask. Table 81 on page 824
lists the ID types and their assigned values in the identification payload.
ID Type Value
RESERVED 0
ID_IPV4_ADDR 1
ID_FQDN 2
ID_USER_FQDN 3
ID_IPV4_ADDR_SUBNET 4
ID_IPV6_ADDR 5
ID_IPV6_ADDR_SUBNET 6
ID_IPV4_ADDR_RANGE 7
ID_IPV6_ADDR_RANGE 8
ID_DER_ASN1_DN 9
ID_DER_ASN1_GN 10
ID_KEY_ID 11
ID_LIST 12
The ID_IPV6_ADDR_RANGE type specifies a range of IPv6 addresses represented by two 16-octet
values. The first octet value represents the starting IPv6 address and the second octet value represents
the ending IPv6 address in the range. All IPv6 addresses falling between the first and last IPv6 addresses
are considered to be part of the list.
• Proxy ID
A proxy ID is used during Phase 2 of IKE negotiation. It is generated before an IPsec tunnel is established.
A proxy ID identifies the SA to be used for the VPN. Two proxy IDs are generated—local and remote.
The local proxy ID refers to the local IPv4 or IPv6 address/network and subnet mask. The remote proxy
ID refers to the remote IPv4 or IPv6 address/network and subnet mask.
825
• Security Association
An SA is an agreement between VPN participants to support secure communication. SAs are differentiated
based on three parameters—security parameter index (SPI), destination IPv6 address, and security
protocol (either AH or ESP). The SPI is a unique value assigned to an SA to help identify an SA among
multiple SAs. In an IPv6 packet, the SA is identified from the destination address in the outer IPv6 header
and the security protocol is identified from either the AH or the ESP header.
IN THIS SECTION
IPv4 Options and IPv6 Extension Headers with AH and ESP | 826
After IKE negotiations are completed and the two IKE gateways have established Phase 1 and Phase 2
SAs, IPv6 IPsec employs authentication and encryption technologies to secure the IPv6 packets. Because
IPv6 addresses are 128 bits long compared to IPv4 addresses, which are 32-bits long, IPv6 IPsec packet
processing requires more resources.
Devices with IPv6 addressing do not perform fragmentation. IPv6 hosts should either perform path MTU
discovery or send packets smaller than the IPv6 minimum MTU size of 1280 bytes.
AH Protocol in IPv6
The AH protocol provides data integrity and data authentication for IPv6 packets. IPv6 IPsec uses extension
headers (for example, hop-by-hop and routing options) that must be arranged in a particular way in the
IPv6 datagram. In AH tunnel mode, the AH header immediately follows the new outer IPv6 header similar
to that in IPv4 AH tunnel mode. The extension headers are placed after the original inner header. Therefore,
in AH tunnel mode, the entire packet is encapsulated by adding a new outer IPv6 header, followed by an
authentication header, an inner header, extension headers, and the rest of the original datagram as shown
in Figure 48 on page 826.
826
Unlike ESP, the AH authentication algorithm covers the outer header as well as any new extension headers
and options.
AH tunnel mode on SRX Series devices does not support IPv4 mutable options or IPv6 mutable extension
headers. See Table 82 on page 827.
New IP Header New Extension ESP Header Original IP Header Original Extension Payload
Headers or Options Headers or Options
Encrypted
g031049
Authenticated
You can calculate the AH ICV over the IPv6 header fields that are either immutable in transit or predictable
in value upon arrival at the tunnel endpoints. You can also calculate the AH ICV over the AH header and
the upper level protocol data (considered to be immutable in transit). You can calculate the ESP ICV over
the entire IPv6 packet, excluding the new outer IPv6 header and the optional extension headers.
Unlike IPv4, IPv6 has a method for tagging options as mutable in transit. IPv6 optional extension headers
contain a flag that indicates mutability. This flag determines the appropriate processing.
IPv4 mutable options and IPv6 extension headers are not supported with the AH protocol.
Table 83: IPv6 Header Construction for IPv6-in-IPv6 and IPv4-in-IPv6 Tunnel Modes
version 6. No change.
Table 84 on page 828 summarizes how the outer IPv4 header relates to the inner IPv6 or IPv4 header for
IPv6-in-IPv4 or IPv4-in-IPv4 tunnel modes. In outer header fields, “Constructed” means that the value of
the outer header field is constructed independently of the value in the inner header field.
Table 84: IPv4 Header Construction for IPv6-in-IPv4 and IPv4-in-IPv4 Tunnel Modes
version 4. No change.
ID Constructed. No change.
Table 84: IPv4 Header Construction for IPv6-in-IPv4 and IPv4-in-IPv4 Tunnel Modes (continued)
For IPv6-in-IPv4 tunnel mode, the Don’t Fragment (DF) bit is cleared by default. If the df-bit set or df-bit
copy options are configured at the [edit security ipsec vpn vpn-name] hierarchy level for the corresponding
IPv4 VPN, the DF bit is set in the outer IPv4 header.
For IPv4-in-IPv4 tunnel mode, the DF bit in the outer IPv4 header is based on the df-bit option configured
for the inner IPv4 header. If df-bit is not configured for the inner IPv4 header, the DF bit is cleared in the
outer IPv4 header.
SEE ALSO
Juniper Networks supports manual and autokey IKE with preshared keys configurations for IPv6 IPsec
VPN.
• Manual VPN—In a manual VPN configuration, the secret keys and security associations (SAs) are manually
configured on the tunnel endpoints using the manual key mechanism. To create an IPv6 IPsec manual
VPN, see “Example: Configuring an IPv6 IPsec Manual VPN” on page 830.
830
• AutoKey IKE VPN—In an autoKey IKE VPN configuration, the secret keys and SAs are automatically
created using the autoKey IKE mechanism. To set up an IPv6 autoKey IKE VPN, two phases of negotiations
are required—Phase 1 and Phase 2.
• Phase 1—In this phase, the participants establish a secure channel for negotiating the IPsec SAs. For
more information on Phase 1 negotiations, see “Understanding Phase 1 of IKE Tunnel Negotiation”
on page 46.
• Phase 2—In this phase, the participants negotiate the IPsec SAs for authenticating and encrypting the
IPv6 data packets. For more information on Phase 2 negotiations, see “Understanding Phase 2 of IKE
Tunnel Negotiation” on page 48.
SEE ALSO
IN THIS SECTION
Requirements | 831
Overview | 831
Configuration | 831
Verification | 833
Requirements
• Understand how VPNs work. See “IPsec VPN Overview” on page 28.
• Understand IPv6 IPsec packet processing. See “Understanding IPv6 IKE and IPsec Packet Processing”
on page 823.
Overview
In a Manual VPN configuration, the secret keys are manually configured on the two IPsec endpoints.
• Define the IPsec protocol. Select the ESP protocol because the configuration includes both authentication
and encryption.
Configuration
set security ipsec vpn vpn-sunnyvale manual authentication algorithm hmac-md5–96 key ascii-text “$ABC123”
set security ipsec vpn vpn-sunnyvale manual encryption algorithm 3des-cbc key ascii-text “$ABC123”
set security ipsec vpn vpn-sunnyvale manual external-interface ge-0/0/14.0
set security ipsec vpn vpn-sunnyvale manual gateway 2001:db8:1212::1112
set security ipsec vpn vpn-sunnyvale manual protocol esp
set security ipsec vpn vpn-sunnyvale manual spi 12435
Step-by-Step Procedure
832
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
6. Configure an SPI.
Results
From configuration mode, confirm your configuration by entering the show security ipsec vpn vpn-sunnyvale
command. If the output does not display the intended configuration, repeat the configuration instructions
in this example to correct it.
833
[edit]
[user@host]show security ipsec vpn vpn-sunnyvale
manual {
gateway 2001:db8:1212::1112 ;
external-interface ge-0/0/14.0 ;
protocol esp ;
spi 12435 ;
authentication {
algorithm hmac-md5-96 ;
key ascii-text $ABC123” ;## SECRET DATA
}
encryption {
algorithm 3des-cbc ;
key ascii-text $ABC123”; ## SECRET DATA
}
}
Verification
IN THIS SECTION
Purpose
Determine if security algorithms are applied or not.
Action
From operational mode, enter the show security ipsec security-associations command.
SEE ALSO
IN THIS SECTION
Requirements | 834
Overview | 834
Configuration | 838
Verification | 851
This example shows how to configure a policy-based IPv6 AutoKey IKE VPN to allow IPv6 data to be
securely transferred between the branch office and the corporate office.
IPv6 policy-based VPNs are supported only on standalone SRX300, SRX320, SRX340, SRX345, and
SRX550HM devices.
Requirements
• SRX300 device
• Understand how VPNs work. See “IPsec VPN Overview” on page 28.
• Understand IPv6 IKE and IPsec packet processing. See “Understanding IPv6 IKE and IPsec Packet
Processing” on page 823.
Overview
In this example, you configure an IPv6 IKE policy-based VPN for a branch office in Chicago, Illinois, because
you do not need to conserve tunnel resources or configure many security policies to filter traffic through
the tunnel. Users in the Chicago office will use the VPN to connect to their corporate headquarters in
Sunnyvale, California.
Figure 50 on page 835 shows an example of an IPv6 IKE policy-based VPN topology. In this topology, one
SRX Series device is located in Sunnyvale, and another SRX Series device (this can be a second SRX Series
device or a third-party device) is located in Chicago.
835
Trust zone
2001:db8:0:1::/64
e0/6
SRX Series device 2001:db8:0:2::/64
Chicago
e0/0
2001:db8:0:3::/64
Untrust
Internet
zone
ge-0/0/15.0
SRX Series device 2001:db8:0:4::/64
Sunnyvale
ge-0/0/14.0
2001:db8:1:1::/64
Trust zone
2001:db8:1:2::/64
In this example, you configure interfaces, an IPv6 default route, security zones, and address books. Then
you configure IKE Phase 1, IPsec Phase 2, a security policy, and TCP-MSS parameters. See
Table 85 on page 836 through Table 89 on page 838.
836
ge-0/0/15.0 2001:db8:0:4::/64
Address book entries sunnyvale • This address is for the trust zone’s
address book.
• The address for this address book
entry is 2001:db8:1:2::/64.
This security policy permits traffic from the trust ipv6-vpn-tr-untr • Match criteria:
zone to the untrust zone. • source-address sunnyvale
• destination-address chicago
• application any
• Permit action: tunnel ipsec-vpn
ipv6-ike-vpn-chicago
• Permit action: tunnel pair-policy
ipv6-vpn-untr-tr
This security policy permits traffic from the ipv6-vpn-untr-tr • Match criteria:
untrust zone to the trust zone. • source-address chicago
• destination-address sunnyvale
• application any
• Permit action: tunnel ipsec-vpn
ipv6-ike-vpn-chicago
• Permit action: tunnel pair-policy
ipv6-vpn-tr-untr
838
This security policy permits all traffic from the permit-any • Match criteria:
trust zone to the untrust zone. • source-address any
You must put the ipv6-vpn-tr-untr policy before • source-destination any
the permit-any security policy. Junos OS performs • application any
a security policy lookup starting at the top of the
• Action: permit
list. If the permit-any policy comes before the
ipv6-vpn-tr-untr policy, all traffic from the trust
zone will match the permit-any policy and be
permitted. Thus, no traffic will ever match the
ipv6-vpn-tr-untr policy.
Configuration
Purpose Parameters
TCP-MSS is negotiated as part of the TCP three-way handshake and limits the maximum size MSS value: 1350
of a TCP segment to better fit the MTU limits on a network. This is especially important for
VPN traffic, as the IPsec encapsulation overhead, along with the IP and frame overhead, can
cause the resulting ESP packet to exceed the MTU of the physical interface, thus causing
fragmentation. Fragmentation results in increased use of bandwidth and device resources.
We recommend a value of 1350 as the starting point for most Ethernet-based networks with
an MTU of 1500 or greater. You might need to experiment with different TCP-MSS values to
obtain optimal performance. For example, you might need to change the value if any device
in the path has a lower MTU, or if there is any additional overhead such as PPP or Frame Relay.
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/14 unit 0 family inet6 address 2001:db8:1:1::/64
user@host# set interfaces ge-0/0/15 unit 0 family inet6 address 2001:db8:0:4::/64
[edit]
user@host# set routing-options static route 0.0.0.0/0 next-hop 1.1.1.1
[edit]
user@host# edit security zones security-zone untrust
[edit]
user@host# edit security zones security-zone trust
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security zones, and show security address-book commands. If the output does not display the
intended configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/14 {
unit 0 {
family inet6 {
address 2001:db8:1:1::/64;
}
841
}
}
ge-0/0/15 {
unit 0 {
family inet6 {
address 2001:db8:0:4::/64;
}
}
}
[edit]
user@host# show routing-options
static {
route 0.0.0.0/0 next-hop 1.1.1.1;
}
[edit]
user@host# show security zones
security-zone untrust {
host-inbound-traffic {
system-services {
ike;
}
}
interfaces {
ge-0/0/15.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/14.0;
}
}
[edit]
user@host# show security address-book
book1 {
address sunnyvale 2001:db8:1:2::/64;
attach {
842
zone trust;
}
}
book2 {
address chicago 2001:db8:0:1::/64;
attach {
zone untrust;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IKE
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IKE:
10. Create an IKE Phase 1 gateway and define its external interface.
Results
From configuration mode, confirm your configuration by entering the show security ike command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ike
proposal ipv6-ike-phase1-proposal {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm aes-128-cbc;
}
policy ipv6-ike-phase1-policy {
mode ;
proposals ipv6-ike-phase1-proposal;
pre-shared-key ascii-text "$9$jrHP5QFn/ApPfBIEhr1Yg4aDik.P5z3Dj9Apu1I7—dbgoJGD"; ## SECRET-DATA
}
gateway gw-chicago {
ike-policy ipv6-ike-phase1-policy;
address 2001:db8:0:3::;
external-interface ge-0/0/15.0;
845
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# set security ipsec proposal ipv6-ipsec-phase2-proposal
Results
From configuration mode, confirm your configuration by entering the show security ipsec command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ipsec
proposal ipv6-ipsec-phase2-proposal {
protocol esp;
847
authentication-algorithm hmac-sha1-96;
encryption-algorithm aes-128-cbc;
}
policy ipv6-ipsec-phase2-policy {
perfect-forward-secrecy {
keys group2;
}
proposals ipv6-ipsec-phase2-proposal;
}
vpn ipv6-ike-vpn-chicago {
ike {
gateway gw-chicago;
ipsec-policy ipv6-ipsec-phase2-policy;
}
}
If you are done configuring the device, enter commit from configuration mode.
set security policies from-zone trust to-zone untrust policy ipv6-vpn-tr-untr match source-address sunnyvale
set security policies from-zone trust to-zone untrust policy ipv6-vpn-tr-untr match destination-address chicago
set security policies from-zone trust to-zone untrust policy ipv6-vpn-tr-untr match application any
set security policies from-zone trust to-zone untrust policy ipv6-vpn-tr-untr then permit tunnel ipsec-vpn
ipv6-ike-vpn-chicago
set security policies from-zone trust to-zone untrust policy ipv6-vpn-tr-untr then permit tunnel pair-policy
ipv6-vpn-untr-tr
set security policies from-zone untrust to-zone trust policy ipv6-vpn-untr-tr match source-address chicago
set security policies from-zone untrust to-zone trust policy ipv6-vpn-untr-tr match destination-address sunnyvale
set security policies from-zone untrust to-zone trust policy ipv6-vpn-untr-tr match application any
set security policies from-zone untrust to-zone trust policy ipv6-vpn-untr-tr then permit tunnel ipsec-vpn
ipv6-ike-vpn-chicago
set security policies from-zone untrust to-zone trust policy ipv6-vpn-untr-tr then permit tunnel pair-policy
ipv6-vpn-tr-untr
set security policies from-zone trust to-zone untrust policy permit-any match source-address any
set security policies from-zone trust to-zone untrust policy permit-any match destination-address any
set security policies from-zone trust to-zone untrust policy permit-any match application any
set security policies from-zone trust to-zone untrust policy permit-any then permit
insert security policies from-zone trust to-zone untrust policy ipv6-vpn-tr-untr before policy permit-any
848
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Create the security policy to permit traffic from the trust zone to the untrust zone.
2. Create the security policy to permit traffic from the untrust zone to the trust zone.
3. Create the security policy to permit traffic from the trust zone to the untrust zone.
4. Reorder the security policies so that the vpn-tr-untr security policy is placed above the permit-any
security policy.
Results
849
From configuration mode, confirm your configuration by entering the show security policies command.
If the output does not display the intended configuration, repeat the configuration instructions in this
example to correct it.
[edit]
user@host# show security policies
from-zone trust to-zone untrust {
policy ipv6-vpn-tr-untr {
match {
source-address sunnyvale;
destination-address chicago;
application any;
}
then {
permit {
tunnel {
ipsec-vpn ipv6-ike-vpn-chicago;
pair-policy ipv6-vpn-untr-tr;
}
}
}
}
policy permit-any {
match {
source-address any;
destination-address any;
application any;
}
then {
permit
}
}
}
from-zone untrust to-zone trust {
policy ipv6-vpn-untr-tr {
match {
source-address chicago;
destination-address sunnyvale;
application any;
}
then {
permit {
tunnel {
ipsec-vpn ipv6-ike-vpn-chicago;
pair-policy ipv6-vpn-tr-untr;
850
}
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring TCP-MSS
Step-by-Step Procedure
To configure TCP-MSS information:
[edit]
user@host# set security flow tcp-mss ipsec-vpn mss 1350
Results
From configuration mode, confirm your configuration by entering the show security flow command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security flow
tcp-mss {
ipsec-vpn {
mss 1350;
}
}
If you are done configuring the device, enter commit from configuration mode.
851
Verification
IN THIS SECTION
Purpose
Verify the IKE Phase 1 status.
Action
Before starting the verification process, you need to send traffic from a host in Sunnyvale to a host in
Chicago. For policy-based VPNs, a separate host must generate the traffic; traffic initiated from the SRX
Series device will not match the VPN policy. We recommend that the test traffic be from a separate device
on one side of the VPN to a second device on the other side of the VPN. For example, initiate ping from
2001:db8:1:2::/64 to 2001:db8:0:1::/64.
From operational mode, enter the show security ike security-associations command. After obtaining an
index number from the command, use the show security ike security-associations index index_number
detail command.
Meaning
The show security ike security-associations command lists all active IKE Phase 1 security associations
(SAs). If no SAs are listed, there was a problem with Phase 1 establishment. Check the IKE policy parameters
and external interface settings in your configuration.
• Index—This value is unique for each IKE SA, which you can use in the show security ike
security-associations index index_number detail command to get more information about the SA.
• State
• External interfaces (the interface must be the one that receives IKE packets)
The show security ike security-associations index 5 detail command lists additional information about the
security association with an index number of 5:
• Phase 1 lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
Purpose
Verify the IPsec Phase 2 status.
Action
From operational mode, enter the show security ipsec security-associations command. After obtaining
an index number from the command, use the show security ipsec security-associations index index_number
detail command.
Virtual-system: Root
Local Gateway: 2001:db8:0:4::, Remote Gateway: 2001:db8:0:3::
Local Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Remote Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
DF-bit: clear
Direction: inbound, SPI: 14caf1d9, AUX-SPI: 0
854
, VPN Monitoring: -
Hard lifetime: Expires in 3440 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2813 seconds
Mode: tunnel, Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (128 bits)
Anti-replay service: counter-based enabled, Replay window size: 64
Meaning
The output from the show security ipsec security-associations command lists the following information:
• The ID number is 2. Use this value with the show security ipsec security-associations index command
to get more information about this particular SA.
• There is one IPsec SA pair using port 500, which indicates that no NAT-traversal is implemented.
(NAT-traversal uses port 4500 or another random high-number port.)
• The SPIs, lifetime (in seconds), and usage limits (or lifesize in KB) are shown for both directions. The
3597/unlim value indicates that the Phase 2 lifetime expires in 3597 seconds, and that no lifesize has
been specified, which indicates that the lifetime is unlimited. Phase 2 lifetime can differ from Phase 1
lifetime, as Phase 2 is not dependent on Phase 1 after the VPN is up.
• VPN monitoring is not enabled for this SA, as indicated by a hyphen in the Mon column. If VPN monitoring
is enabled, U (up) or D (down) is listed.
• The virtual system (vsys) is the root system, and it always lists 0.
The output from the show security ipsec security-associations index 2 detail command lists the following
information:
855
• The local and remote identities make up the proxy ID for the SA.
A proxy ID mismatch is one of the most common reasons for a Phase 2 failure. For policy-based VPNs,
the proxy ID is derived from the security policy. The local and remote addresses are derived from the
address book entries, and the service is derived from the application configured for the policy. If Phase
2 fails because of a proxy ID mismatch, you can use the policy to confirm which address book entries
are configured. Verify that the addresses match the information being sent. Check the service to ensure
that the ports match the information being sent.
For some third-party vendors, the proxy ID must be manually entered to match.
SEE ALSO
RELATED DOCUMENTATION
Group VPNv1
IN THIS SECTION
Example: Configuring Group VPNv1 Server-Member Communication for Unicast Rekey Messages | 890
Example: Configuring Group VPNv1 Server-Member Communication for Multicast Rekey Messages | 891
Group VPN is a set of features that are necessary to secure IP multicast group traffic or unicast traffic
over a private WAN that originates on or flows through a device.
An IPsec security association (SA) is a unidirectional agreement between virtual private network (VPN)
participants that defines the rules to use for authentication and encryption algorithms, key exchange
mechanisms, and secure communications. With current VPN implementations, the SA is a point-to-point
tunnel between two security devices. Group VPNv1 extends IPsec architecture to support SAs that are
shared by a group of security devices (see Figure 51 on page 858).
858
Group Server
Key Server
Group VPN
Group VPN
Group VPNv1 is supported on SRX100, SRX110, SRX210, SRX220, SRX240, and SRX650 devices. With
Group VPNv1, any-to-any connectivity is achieved by preserving the original source and destination IP
859
addresses in the outer header. Secure multicast packets are replicated in the same way as cleartext multicast
packets in the core network.
Starting with Junos OS Release 12.3X48-D30, Group VPNv1 members can interoperate with Group VPNv2
servers.
Group VPNv1 has some propriety limitations regarding RFC 6407, The Group Domain of Interpretation
(GDOI). To use Group VPN without proprietary limitations, upgrade to Group VPNv2. Group VPNv2 is
supported on vSRX instances starting with Junos OS Release 15.1X49-D30, SRX Series devices starting
with Junos OS Release 15.1X49-D40, and MX Series devices starting with Junos OS Release 15.1r2.
Group VPNv1 is based on RFC 3547, The Group Domain of Interpretation (GDOI). This RFC describes the
protocol between group members and a group server to establish SAs among group members. GDOI
messages create, maintain, or delete SAs for a group of devices. The GDOI protocol runs on port 848.
The Internet Security Association and Key Management Protocol (ISAKMP) defines two negotiation phases
to establish SAs for an AutoKey IKE IPsec tunnel. Phase 1 allows two devices to establish an ISAKMP SA.
Phase 2 establishes SAs for other security protocols, such as GDOI.
With group VPN, Phase 1 ISAKMP SA negotiation is performed between a group server and a group
member. The server and member must use the same ISAKMP policy. In Phase 2, GDOI exchanges between
the server and member establish the SAs that are shared with other group members. A group member
does not need to negotiate IPsec with other group members. GDOI exchanges in Phase 2 must be protected
by ISAKMP Phase 1 SAs.
• The groupkey-pull exchange allows a member to request SAs and keys shared by the group from the
server.
• The groupkey-push exchange is a single rekey message that allows the server to send group SAs and
keys to members before existing group SAs expire. Rekey messages are unsolicited messages sent from
the server to members.
The following are not supported in this release for group VPNv1:
• Chassis cluster
• Server clusters
• SNMP
Starting with Junos OS Release 12.3X48-D30, Group VPNv1 members on SRX100, SRX110, SRX210,
SRX220, SRX240, SRX550, and SRX650 devices can interoperate with Group VPNv2 servers. When you
configure Group VPNv1 members for use with Group VPNv2 servers, note the following limitations:
• Group VPNv2 supports the IETF draft specification IP Delivery Delay Detection Protocol for a time-based
antireplay mechanism. Therefore, IP delivery delay detection protocol-based antireplay is not supported
on Group VPNv1 members and must be disabled on the Group VPNv2 server with the deactivate security
group-vpn server group group-name anti-replay-time-window command.
• The Group VPNv2 server does not support colocation, where the group server and group member
functions exist in the same device.
• The Group VPNv2 server does not support heartbeat transmittals. Heartbeat must be disabled on the
Group VPNv1 member with the deactivate security group-vpn member ipsec vpn vpn-name
heartbeat-threshold command. We recommend using Group VPNv2 server clusters to avoid traffic
impact due to reboots or other interruptions on the Group VPNv2 server.
• Groupkey-push messages sent from the Group VPNv2 server are based on RFC 6407, The Group Domain
of Interpretation (GDOI) and are not supported on Group VPNv1 members. Therefore, groupkey-push
messages must be disabled on the Group VPNv2 server with the deactivate security group-vpn server
group group-name server-member-communication command.
Rekeys are supported with groupkey-pull messages. If there are scaling issues where Group VPNv1
members cannot complete the groupkey-pull operation before the TEK hard lifetime expires, we
recommend increasing the TEK lifetime to allow sufficient time for members to complete the groupkey-pull
operation. Juniper’s scaling numbers are qualified with a 2 hour TEK lifetime.
• If the Group VPNv2 server is rebooted or upgraded, or the SAs for the group are cleared, new members
cannot be added to the network until the next rekey occurs for existing members. New members cannot
send traffic to existing members that have old keys. As a workaround, clear the SAs on the existing
Group VPNv1 members with the clear security group-vpn member ipsec security-associations command.
• Because multicast data traffic is not supported by Group VPNv2 members, multicast data traffic cannot
be used when Group VPNv1 and Group VPNv2 members coexist in the network for the same group.
The center of a group VPN is the group server. The group server performs the following tasks:
• Manages group SAs and keys and distributes them to group members
Group members encrypt traffic based on the group SAs and keys provided by the group server.
A group server can service multiple groups. A single security device can be a member of multiple groups.
Each group is represented by a group identifier, which is a number between 1 and 65,535. The group
server and group members are linked together by the group identifier. There can be only one group identifier
per group, and multiple groups cannot use the same group identifier.
The following is a high-level view of group VPN server and member actions:
1. The group server listens on UDP port 848 for members to register. A member device must provide
correct IKE Phase 1 authentication to join the group. Preshared key authentication on a per-member
basis is supported.
2. Upon successful authentication and registration, the member device retrieves group SAs and keys from
the server with a GDOI groupkey-pull exchange.
3. The server adds the member to the membership for the group.
The server periodically sends SA and key refreshes to group members with rekey (GDOI groupkey-push)
messages. Rekey messages are sent before SAs expire; this ensures that valid keys are available for
encrypting traffic between group members.
The server also sends rekey messages to provide new keys to members when there is a change in group
membership or when the group SA has changed.
Group VPNv1 is supported on SRX100, SRX110, SRX210, SRX220, SRX240, and SRX650 devices.
Server-member communication allows the server to send GDOI groupkey-push messages to members. If
server-member communication is not configured for the group, members can send GDOI groupkey-pull
messages to register and reregister with the server, but the server is not able to send rekey messages to
members.
• Encryption algorithm used for communications between the server and member. You can specify 3des-cbc,
aes-128-cbc, aes-192-cbc, aes-256-cbc, or des-cbc. There is no default algorithm.
• Authentication algorithm (md5 or sha1) used to authenticate the member to the server. There is no
default algorithm.
• Whether the server sends unicast or multicast rekey messages to group members and parameters related
to the communication type.
• Interval at which the server sends heartbeat messages to the group member. This allows the member
to determine whether the server has rebooted, which would require the member to reregister with the
server. The default is 300 seconds.
• Lifetime for the key encryption key (KEK). The default is 3600 seconds.
Configuring server-member communication is necessary for the group server to send rekey messages to
members, but there might be situations in which this behavior is not desired. For example, if group members
are dynamic peers (such as in a home office), the devices are not always up and the IP address of a device
might be different each time it is powered up. Configuring server-member communication for a group of
dynamic peers can result in unnecessary transmissions by the server. If you want IKE Phase 1 SA negotiation
to always be performed to protect GDOI negotiation, do not configure server-member communication.
If server-member communication for a group is not configured, the membership list displayed by the show
security group-vpn server registered-members command shows group members who have registered
with the server; members can be active or not. When server-member communication for a group is
configured, the group membership list is cleared. If the communication type is configured as unicast, the
show security group-vpn server registered-members command shows only active members. If the
communication type is configured as multicast, the show security group-vpn server registered-members
command shows members who have registered with the server after the configuration; the membership
list does not necessarily represent active members because members might drop out after registration.
IN THIS SECTION
Group Keys
The group server maintains a database to track the relationship among VPN groups, group members, and
group keys. There are two kinds of group keys that the server downloads to members:
• Key Encryption Key (KEK)—Used to encrypt rekey messages. One KEK is supported per group.
• Traffic Encryption Key (TEK)—Used to encrypt and decrypt IPsec data traffic between group members.
The key associated with an SA is accepted by a group member only if there is a matching scope policy
configured on the member. An accepted key is installed for the group VPN, whereas a rejected key is
discarded.
Rekey Messages
IN THIS SECTION
If the group is configured for server-member communications, the server periodically sends SA and key
refreshes to group members with rekey (GDOI groupkey-push) messages. Rekey messages are sent before
SAs expire; this ensures that valid keys are available for encrypting traffic between group members.
The server also sends rekey messages to provide new keys to members when there is a change in group
membership or the group SA has changed (for example, a group policy is added or deleted).
Server-member communications options must be configured on the server to allow the server to send
rekey messages to group members. These options specify the type of message and the intervals at which
the messages are sent, as explained in the following sections:
• Unicast rekey messages—The group server sends one copy of the rekey message to each group member.
Upon receipt of the rekey message, members must send an acknowledgment (ACK) to the server. If the
server does not receive an ACK from a member (including retransmission of rekey messages), the server
considers the member to be inactive and removes it from the membership list. The server stops sending
rekey messages to the member.
• Multicast rekey messages—The group server sends one copy of the rekey message from the specified
outgoing interface to the configured multicast group address. Members do not send acknowledgment
864
of receipt of multicast rekey messages. The registered membership list does not necessarily represent
active members because members might drop out after initial registration. All members of the group
must be configured to support multicast messages.
IP multicast protocols must be configured to allow delivery of multicast traffic in the network. For detailed
information about configuring multicast protocols on Juniper Networks devices, see Multicast Protocols
User Guide .
Rekey Intervals
The interval at which the server sends rekey messages is calculated based on the values of the
lifetime-seconds and activation-time-delay configuration statements at the [edit security group-vpn server
group] hierarchy. The interval is calculated as lifetime-seconds minus 4*(activation-time-delay).
The lifetime-seconds for the KEK is configured as part of the server-member communications; the default
is 3600 seconds. The lifetime-seconds for the TEK is configured for the IPsec proposal; the default is 3600
seconds. The activation-time-delay is configured for the group on the server; the default is 15 seconds.
Using the default values for lifetime-seconds and activation-time-delay, the interval at which the server
sends rekey messages is 3600 minus 4*15, or 3540 seconds.
Member Registration
If a group member does not receive a new SA key from the server before the current key expires, the
member must reregister with the server and obtain updated keys with a GDOI groupkey-pull exchange.
In this case, the interval at which the server sends rekey messages is calculated as follows: lifetime-seconds
minus 3*(activation-time-delay). Using the default values for lifetime-seconds and activation-time-delay,
the interval at which the server sends rekey messages is 3600 minus 3*15, or 3555 seconds.
• The member detects a server reboot by the absence of heartbeats received from the server.
• The rekey message from the group server is lost or delayed, and the TEK lifetime has expired.
Key Activation
When a member receives a new key from the server, it waits a period of time before using the key for
encryption. This period of time is determined by the activation-time-delay configuration statement and
whether the key is received through a rekey message sent from the server or as a result of the member
reregistering with the server.
If the key is received through a rekey message sent from the server, the member waits
2*(activation-time-delay) seconds before using the key. If the key is received through member reregistration,
the member waits the number of seconds specified by the activation-time-delay value.
A member retains the two most recent keys sent from the server for each group SA installed on the
member. Both keys can be used for decryption, while the most recent key is used for encryption. The
previous key is removed the number of seconds specified by the activation-time-delay value after the
new key is activated.
865
The default for the activation-time-delay configuration statement is 15 seconds. Setting this time period
too small can result in a packet being dropped at a remote group member before the new key is installed.
Consider the network topology and system transport delays when you change the activation-time-delay
value. For unicast transmissions, the system transport delay is proportional to the number of group members.
A group VPNv1 server can send multiple traffic encryption keys (TEKs) to a group VPNv1 member in
response to a groupkey-pull request. The following describes how the group VPNv1 member handles the
existing TEK and the TEKs it receives from the server:
• If the group VPNv1 member receives two or more TEKs, it holds the most recent two TEKs and deletes
the existing TEK. Of the two held TEKs, the older TEK is activated immediately, and the newer TEK is
activated after the activation-time-delay configured on the group VPNv1 server has elapsed (the default
is 15 seconds).
• If the group VPNv1 member receives only one TEK, or if it receives a TEK through a groupkey-push
message from the server, the existing TEK is not deleted until the hard lifetime expires. The lifetime is
not shortened for the existing TEK.
The group VPNv1 member still installs a received TEK even if the TEK lifetime is less than two times the
activation-time-delay value.
When server-member communication is configured, the group VPNv1 server sends heartbeat messages
to members at specified intervals (the default interval is 300 seconds). The heartbeat mechanism allows
members to reregister with the server if the specified number of heartbeats is not received. For example,
members will not receive heartbeat messages during a server reboot. When the server has rebooted,
members reregister with the server.
Heartbeats are transmitted through groupkey-push messages. The sequence number is incremented on
each heartbeat message, which protects members from reply attacks. Unlike rekey messages, heartbeat
messages are not acknowledged by recipients and are not retransmitted by the server.
By comparing the information in the heartbeats, a member can detect whether it has missed server
information or rekey messages. The member reregisters to synchronize itself with the server.
Heartbeat messages can increase network congestion and cause unnecessary member reregistrations.
Thus, heartbeat detection can be disabled on the member if necessary.
866
Group server and group member functions are separate and do not overlap. The server and member
functions can coexist in the same physical device, which is referred as colocation mode. In colocation
mode, there is no change in terms of functionality and behavior of the server or a member, but the server
and member each need to be assigned different IP addresses so that packets can be delivered properly.
In colocation mode, there can be only one IP address assigned to the server and one IP address assigned
to the member across groups.
SEE ALSO
This topic describes the main tasks for configuring group VPNv1.
1. IKE Phase 1 negotiation. Use the [edit security group-vpn server ike] hierarchy to configure the IKE
Phase 1 SA. See “Understanding IKE Phase 1 Configuration for Group VPNv2” on page 914.
2. Phase 2 IPsec SA. See “Understanding IPsec SA Configuration for Group VPNv1” on page 868.
1. IKE Phase 1 negotiation. Use the [edit security group-vpn member ike] hierarchy to configure IKE
Phase 1 SA. See “Understanding IKE Phase 1 Configuration for Group VPNv1” on page 867.
2. Phase 2 IPsec SA. See “Understanding IPsec SA Configuration for Group VPNv1” on page 868.
3. Scope policy that determines which group policies are installed on the member. See “Understanding
Dynamic Policies for Group VPNv1” on page 869.
867
To prevent packet fragmentation issues, we recommend that the interface used by the group member to
connect to the MPLS network be configured for a maximum transmission unit (MTU) size no larger than
1400 bytes. Use the set interface mtu configuration statement to set the MTU size.
The VPN group is configured on the server with the group configuration statement at the [edit security
group-vpn server] hierarchy.
• Group identifier—A value between 1 and 65,535 that identifies the VPN group. The same group identifier
must be configured on the group member for Autokey IKE.
• Group members, as configured with the ike-gateway configuration statement. There can be multiple
instances of this configuration statement, one for each member of the group.
• Group policies—Policies that are to be downloaded to members. Group policies describe the traffic to
which the SA and keys apply. See “Understanding Dynamic Policies for Group VPNv1” on page 869.
• Server-member communication—Optional configuration that allows the server to send rekey messages
to members. See “Group VPNv1 Overview” on page 857.
• Antireplay—Optional configuration that detects packet interception and replay. See “Understanding
Antireplay for Group VPNv1” on page 870.
SEE ALSO
An IKE Phase 1 SA between the group server and a group member establishes a secure channel in which
to negotiate IPsec SAs that are shared by a group. For standard IPsec VPNs on Juniper Networks security
devices, Phase 1 SA configuration consists of specifying an IKE proposal, policy, and gateway. For group
VPNv1, the IKE Phase 1 SA configuration is similar to the configuration for standard IPsec VPNs, but is
performed at the [edit security group-vpn] hierarchy.
In the IKE proposal configuration, you set the authentication method and the authentication and encryption
algorithms that will be used to open a secure channel between participants. In the IKE policy configuration,
you set the mode (main or aggressive) in which the Phase 1 channel will be negotiated, specify the type
of key exchange to be used, and reference the Phase 1 proposal. In the IKE gateway configuration, you
reference the Phase 1 policy.
Because Group VPNv2 only supports strong algorithms, the sha-256 authentication algorithm option is
supported for Group VPNv1 members on SRX100, SRX110, SRX210, SRX220, SRX240, SRX550, and
868
SRX650 devices. When Group VPNv1 members interoperate with Group VPNv2 servers, this option must
be configured on the Group VPNv1 members with the edit security group-vpn member ike proposal
proposal-name authentication-algorithm sha-256 command. On the Group VPNv2 server,
authentication-algorithm sha-256 must be configured for IKE proposals and authentication-algorithm
hmac-sha-256-128 must be configured for IPsec proposals.
If an IKE gateway on a Group VPNv1 member is configured with more than one gateway address, the
error message “Only one remote address is allowed to be configured per IKE gateway configuration” is
displayed when the configuration is committed.
The IKE Phase 1 configuration on the group server must match the IKE Phase 1 configuration on group
members.
SEE ALSO
After the server and member have established a secure and authenticated channel in Phase 1 negotiation,
they proceed through Phase 2. Phase 2 negotiation establishes the IPsec SAs that are shared by group
members to secure data that is transmitted among members. While the IPsec SA configuration for group
VPN is similar to the configuration for standard VPNs, a group member does not need to negotiate the
SA with other group members.
Phase 2 IPsec configuration for group VPNv1 consists of the following information:
• A proposal for the security protocol, authentication, and encryption algorithm to be used for the SA.
The IPsec SA proposal is configured on the group server with the proposal configuration statement at
the [edit security group-vpn server ipsec] hierarchy.
• A group policy that references the proposal. A group policy specifies the traffic (protocol, source address,
source port, destination address, and destination port) to which the SA and keys apply. The group policy
is configured on the server with the ipsec-sa configuration statement at the [edit security group-vpn
server group ] hierarchy.
• An Autokey IKE that references the group identifier, the group server (configured with the ike-gateway
configuration statement), and the interface used by the member to connect to the group. The Autokey
IKE is configured on the member with the ipsec vpn configuration statement at the [edit security
group-vpn member] hierarchy.
SEE ALSO
869
The group server distributes group SAs and keys to members of a specified group. All members that belong
to the same group can share the same set of IPsec SAs. But not all SAs configured for a group are installed
on every group member. The SA installed on a specific member is determined by the policy associated
with the group SA and the security policies configured on the member.
In a VPN group, each group SA and key that the server pushes to a member is associated with a group
policy. The group policy describes the traffic on which the key should be used, including protocol, source
address, source port, destination address, and destination port.
Group policies that are identical (configured with the same source address, destination address, source
port, destination port, and protocol values) cannot exist for a single group. An error is returned if you
attempt to commit a configuration that contains identical group policies for a group. If this is the case, you
must delete one of the identical group policies.
On a group member, a scope policy must be configured that defines the scope of the group policy
downloaded from the server. A group policy distributed from the server is compared against the scope
policies configured on the member. For a group policy to be installed on the member, the following
conditions must be met:
• Any addresses specified in the group policy must be within the range of addresses specified in the scope
policy.
• The source port, destination port, and protocol specified in the group policy must match those configured
in the scope policy.
A scope policy can be part of an ordered list of security policies for a specific from-zone and to-zone
context. Junos OS performs a security policy lookup on incoming packets starting from the top of the
ordered list.
Depending on the position of the scope policy within the ordered list of security policies, there are several
possibilities for dynamic policy lookup:
• If the incoming packet matches a security policy before the scope policy is considered, dynamic policy
lookup does not occur.
• If an incoming policy matches a scope policy, the search process continues for a matching dynamic policy.
If there is a matching dynamic policy, that policy action (permit) is performed. If there is no matching
dynamic policy, the search process continues to search the policies below the scope policy.
In this release, only the tunnel action is allowed for a scope policy. Other actions are not supported.
You configure a scope policy on a group member by using the policies configuration statement at the [edit
security] hierarchy. Use the ipsec-group-vpn configuration statement in the permit tunnel rule to reference
the group VPN; this allows group members to share a single SA.
870
SEE ALSO
Antireplay is an IPsec feature that can detect when a packet is intercepted and then replayed by attackers.
Antireplay is enabled by default for group VPNs but can be disabled for a group with the no-anti-replay
configuration statement.
When antireplay is enabled, the group server synchronizes the time between the group members. Each
IPsec packet contains a timestamp. The group member checks whether the packet’s timestamp falls within
the configured anti-replay-time-window value (the default is 100 seconds). A packet is dropped if the
timestamp exceeds the value.
SEE ALSO
IN THIS SECTION
Requirements | 871
Overview | 871
Configuration | 872
Verification | 887
This example shows how to configure group VPNv1 to extend IPsec architecture to support SAs that are
shared by a group of security devices. Group VPNv1 is supported on SRX100, SRX110, SRX210, SRX220,
SRX240, and SRX650 devices.
871
Requirements
• Configure network interfaces on server and member devices. See Interfaces User Guide for Security
Devices.
Overview
In Figure 52 on page 871, a group VPN consists of two member devices (member1 and member2) and a
group server (the IP address of the loopback interface on the server is 20.0.0.1). The group identifier is 1.
Group server
20.0.0.1/32
MPLS network
member1
10.1.0.1/32
The Phase 2 group VPN SAs must be protected by a Phase 1 SA. Therefore, the group VPN configuration
must include configuring IKE Phase 1 negotiations on both the group server and the group members. In
addition, the same group identifier must be configured on both the group server and the group members.
Group policies are configured on the group server. All group policies configured for a group are downloaded
to group members. Scope policies configured on a group member determine which group policies are
actually installed on the member. In this example, the following group policies are configured on the group
server for downloading to all group members:
The member1 device is configured with scope policies that allow all unicast traffic to and from the 10.0.0.0/8
subnetwork. There is no scope policy configured on member1 to allow multicast traffic; therefore, the SA
policy p3 is not installed on member1.
872
The member2 device is configured with scope policies that drop traffic from 10.1.0.0/16 from the trust
zone to the untrust zone and to 10.1.0.0/16 from the untrust zone to the trust zone. Therefore the SA
policy p2 is not installed on member2.
Configuration
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p3 source 10.1.1.1/16
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p3 destination 239.1.1.1/32
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p3 source-port 0
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p3 destination-port 0
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p3 protocol 0
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
[edit]
user@host# edit interfaces
user@host# set lo0 unit 0 family inet address 20.0.0.1/32
2. Configure IKE Phase 1 SA (this configuration must match the Phase 1 SA configured on the group
members).
Results
From configuration mode, confirm your configuration by entering the show security group-vpn server
command. If the output does not display the intended configuration, repeat the configuration instructions
in this example to correct it.
[edit]
user@host# show security group-vpn server
ike {
proposal srv-prop {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm 3des-cbc;
}
policy srv-pol {
mode main;
proposals srv-prop;
875
destination-port 0;
protocol 0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Member1
Step-by-Step Procedure
877
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure member1:
1. Configure Phase 1 SA (this configuration must match the Phase 1 SA configured on the group server).
3. Configure the group identifier, IKE gateway, and interface for member1.
To prevent packet fragmentation issues, we recommend that the interface used by the group members
to connect to the MPLS network be configured for an MTU size no larger than 1400 bytes. Use the
set interface mtu configuration statement to set the MTU size.
5. Configure a scope policy from the trust zone to the untrust zone that allows unicast traffic to and from
the 10.0.0.0/8 subnetwork.
878
6. Configure a scope policy from the untrust zone to the trust zone that allows unicast traffic to and from
the 10.0.0.0/8 subnetwork.
Results
From configuration mode, confirm your configuration by entering the show security group-vpn member
and show security policies commands. If the output does not display the intended configuration, repeat
the configuration instructions in this example to correct it.
[edit]
user@member1# show security group-vpn member
ike {
proposal prop1 {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm 3des-cbc;
}
policy pol1 {
mode main;
proposals prop1;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway g1 {
ike-policy pol1;
address 20.0.0.1;
local-address 10.1.0.1;
}
}
ipsec {
vpn v1 {
ike-gateway g1;
879
group-vpn-external-interface ge-0/1/0;
group 1;
}
}
[edit]
user@member1# show security policies
from-zone trust to-zone trust {
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone trust to-zone untrust {
policy scope1 {
match {
source-address 10_subnet;
destination-address 10_subnet;
application any;
}
then {
permit {
tunnel {
ipsec-group-vpn v1;
}
}
}
}
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
880
}
from-zone untrust to-zone trust {
policy scope1 {
match {
source-address 10_subnet;
destination-address 10_subnet;
application any;
}
then {
permit {
tunnel {
ipsec-group-vpn v1;
}
}
}
}
policy default-deny {
match {
source-address any;
destination-address any;
application any;
}
then {
deny;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Member2
set security group-vpn member ike policy pol2 pre-shared-key ascii-text "$ABC123"
set security group-vpn member ike gateway g2 ike-policy pol2
set security group-vpn member ike gateway g2 address 20.0.0.1
set security group-vpn member ike gateway g2 local-address 10.2.0.1
set security group-vpn member ipsec vpn v2 ike-gateway g2
set security group-vpn member ipsec vpn v2 group-vpn-external-interface ge-0/1/0
set security group-vpn member ipsec vpn v2 group 1
set security address-book book1 address 10_subnet 10.0.0.0/8
set security address-book book1 address 10_1_0_0_16 10.1.0.0/16
set security address-book book1 address multicast_net 239.0.0.0/8
set security address-book book1 attach zone trust
set security address-book book2 address 10_subnet 10.0.0.0/8
set security address-book book2 address 10_1_0_0_16 10.1.0.0/16
set security address-book book2 address multicast_net 239.0.0.0/8
set security address-book book2 attach zone untrust
set security policies from-zone trust to-zone untrust policy deny2 match source-address 10_1_0_0_16
set security policies from-zone trust to-zone untrust policy deny2 match destination-address any
set security policies from-zone trust to-zone untrust policy deny2 match application any
set security policies from-zone trust to-zone untrust policy deny2 then reject
set security policies from-zone trust to-zone untrust policy scope2 match source -address 10_subnet
set security policies from-zone trust to-zone untrust policy scope2 match destination-address 10_subnet
set security policies from-zone trust to-zone untrust policy scope2 match application any
set security policies from-zone trust to-zone untrust policy scope2 then permit tunnel ipsec-group-vpn v2
set security policies from-zone trust to-zone untrust policy multicast-scope2 match source-address 10_subnet
set security policies from-zone trust to-zone untrust policy multicast-scope2 match destination-address
multicast-net
set security policies from-zone trust to-zone untrust policy multicast-scope2 match application any
set security policies from-zone trust to-zone untrust policy multicast-scope2 then permit tunnel ipsec-group-vpn
v2
set security policies from-zone untrust to-zone trust policy deny2 match source-address any set security policies
from-zone untrust to-zone trust policy multicast-scope2 ma tch application any set security policies from-zone
untr
set security policies from-zone untrust to-zone trust policy deny2 match destination-address 10_1_0_0_16
set security policies from-zone untrust to-zone trust policy deny2 match application any
set security policies from-zone untrust to-zone trust policy deny2 then reject
set security policies from-zone untrust to-zone trust policy scope2 match source-address 10_subnet
set security policies from-zone untrust to-zone trust policy scope2 match destination-address 10_subnet
set security policies from-zone untrust to-zone trust policy scope2 match application any
set security policies from-zone untrust to-zone trust policy scope2 then permit tunnel ipsec-group-vpn v2
set security policies from-zone untrust to-zone trust policy multicast-scope2 match source-address 10_subnet
set security policies from-zone untrust to-zone trust policy multicast-scope2 match destination-address
multicast-net
set security policies from-zone untrust to-zone trust policy multicast-scope2 match application any
882
set security policies from-zone untrust to-zone trust policy multicast-scope2 then permit tunnel ipsec-group-vpn
v2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
To configure member2:
1. Configure Phase 1 SA (this configuration must match the Phase 1 SA configured on the group server).
3. Configure the group identifier, IKE gateway, and interface for member2.
To prevent packet fragmentation issues, we recommend that the interface used by the group members
to connect to the MPLS network be configured for an MTU size no larger than 1400 bytes. Use the
set interface mtu configuration statement to set the MTU size.
6. Configure a scope policy from the trust zone to the untrust zone that blocks traffic from 10.1.0.0/16.
7. Configure a scope policy from the untrust zone to the trust zone that blocks traffic to 10.1.0.0/16.
Results
From configuration mode, confirm your configuration by entering the show security group-vpn member
and show security policies commands. If the output does not display the intended configuration, repeat
the configuration instructions in this example to correct it.
[edit]
user@member2# show security group-vpn member
ike {
884
proposal prop2 {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm 3des-cbc;
}
policy pol2 {
mode main;
proposals prop2;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway g2 {
ike-policy pol2;
address 20.0.0.1;
local-address 10.2.0.1;
}
}
ipsec {
vpn v2 {
ike-gateway g2;
group-vpn-external-interface ge-0/1/0;
group 1;
}
}
[edit]
user@member2# show security policies
from-zone trust to-zone trust {
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone trust to-zone untrust {
policy deny2 {
match {
source-address 10_1_0_0_16;
destination-address any;
885
application any;
}
then {
reject;
}
}
policy scope2 {
match {
source-address 10_subnet;
destination-address 10_subnet;
application any;
}
then {
permit {
tunnel {
ipsec-group-vpn v2;
}
}
}
}
policy multicast-scope2 {
match {
source-address 10_subnet;
destination-address multicast-net;
application any;
}
then {
permit {
tunnel {
ipsec-group-vpn v2;
}
}
}
}
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
886
}
from-zone untrust to-zone trust {
policy deny2 {
match {
source-address any;
destination-address 10_1_0_0_16;
application any;
}
then {
reject;
}
}
policy scope2 {
match {
source-address 10_subnet;
destination-address 10_subnet;
application any;
}
then {
permit {
tunnel {
ipsec-group-vpn v2;
}
}
}
}
policy multicast-scope2 {
match {
source-address 10_subnet;
destination-address multicast-net;
application any;
}
then {
permit {
tunnel {
ipsec-group-vpn v2;
}
}
}
}
policy default-deny {
match {
source-address any;
destination-address any;
887
application any;
}
then {
deny;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
View the dynamic policies installed on member1.
Action
After the group server downloads keys to member1, enter the show security dynamic-policies command
from operational mode.
Meaning
The multicast policy p3 from the server is not installed on member1 because there is no scope policy
configured on member1 that allows multicast traffic.
Purpose
View the dynamic policies installed on member 2.
Action
After the group server downloads keys to member2, enter the show security dynamic-policies command
from operational mode.
Sequence number: 1
From zone: untrust, To zone: trust
Source addresses: 10.1.1.1/32
Destination addresses: 239.1.1.1/32
Application: Unknown
IP protocol: 0, ALG: 0, Inactivity timeout: 0
Source port range: [0-0]
Destination port range: [0-0]
Tunnel: INSTANCE-gvpn_133955586, Type: IPSec, Index: 133955586
Policy: scope2–0001, action-type: permit, State: enabled, Index: 1048581,AI: disabled,
Scope Policy: 5
Policy Type: Dynamic
Sequence number: 2
From zone: trust, To zone: untrust
Source addresses: 10.2.0.0/16/0
Destination addresses: 10.1.0.0/16
Application: Unknown
IP protocol: 0, ALG: 0, Inactivity timeout: 0
Source port range: [0-0]
Destination port range: [0-0]
Tunnel: INSTANCE-gvpn_133955586, Type: IPSec, Index: 133955586
Policy: scope2–0001, action-type: permit, State: enabled, Index: 1048581,AI: disabled,
Scope Policy: 5
Policy Type: Dynamic
Sequence number: 2
From zone: trust, To zone: untrust
Source addresses: 10.1.1.1/32
Destination addresses: 239.1.1.1/32
Application: Unknown
IP protocol: 0, ALG: 0, Inactivity timeout: 0
Source port range: [0-0]
Destination port range: [0-0]
Tunnel: INSTANCE-gvpn_133955586, Type: IPSec, Index: 133955586
Meaning
The policy p2 (for traffic from 10.1.0.0/16 to 10.2.0.0/16) from the server is not installed on member2,
because it matches the deny2 security policy configured on member2.
SEE ALSO
IN THIS SECTION
Requirements | 890
Overview | 890
Configuration | 890
Verification | 891
This example shows how to enable the server to send unicast rekey messages to group members to ensure
that valid keys are available for encrypting traffic between group members. Group VPNv1 is supported
on SRX100, SRX110, SRX210, SRX220, SRX240, and SRX650 devices.
Requirements
• Configure the group server and members for IKE Phase 1 negotiation.
• Configure the group server and members for Phase 2 IPsec SA.
Overview
In this example, you specify the following server-member communication parameters for group g1:
Default values are used for server heartbeats, KEK lifetime, and retransmissions.
Configuration
Step-by-Step Procedure
891
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
Verification
To verify the configuration is working properly, enter the show security group-vpn server group g1
server-member-communication command.
SEE ALSO
IN THIS SECTION
Requirements | 892
Overview | 892
892
Configuration | 892
Verification | 894
This example shows how to enable the server to send multicast rekey messages to group members to
ensure that valid keys are available for encrypting traffic between group members. Group VPNv1 is
supported on SRX100, SRX110, SRX210, SRX220, SRX240, and SRX650 devices.
Requirements
• Configure the group server and members for IKE Phase 1 negotiation and Phase 2 IPsec SA. See “Example:
Configuring Group VPNv1 Server and Members” on page 870 or “Example: Configuring Group VPNv1
with Server-Member Colocation” on page 895.
• Configure ge-0/0/1.0, which is the interface the server will use for sending multicast messages. See
Junos OS Routing Protocols Library.
• Configure the multicast group address 226.1.1.1. See Junos OS Routing Protocols Library.
IP multicast protocols must be configured to allow delivery of multicast traffic in the network. This
example does not show multicast configuration.
Overview
In this example, you specify the following server-member communication for group g1:
• The server sends multicast rekey messages to group members by means of multicast address 226.1.1.1
and interface ge-0/0/1.0.
Default values are used for server heartbeats, KEK lifetime, and retransmissions.
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
Results
894
From configuration mode, confirm your configuration by entering the show security group-vpn server
group g1 server-member-communication command. If the output does not display the intended
configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@host# show security group-vpn server group g1 server-member-communication
communication-type multicast;
multicast-group 226.1.1.1;
multicast-outgoing-interface ge-0/0/1.0;
encryption-algorithm 3des-cbc;
sig-hash-algorithm sha1;
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that server-member communication parameters for multicast rekey message are configured properly
to ensure that valid keys are available for encrypting traffic between group members.
Action
From operational mode, enter the show security group-vpn server group g1 server-member-communication
command.
SEE ALSO
IN THIS SECTION
Requirements | 895
Overview | 895
Configuration | 896
Verification | 905
This example shows how to configure a device for colocation mode, which allows server and member
functions to coexist on the same physical device. Group VPNv1 is supported on SRX100, SRX110, SRX210,
SRX220, SRX240, and SRX650 devices.
Requirements
• Configure network interfaces on server and member devices. See Interfaces User Guide for Security
Devices.
Overview
When colocation mode is configured, group server and group member functions can coexist in the same
device. In colocation mode, the server and member must have different IP addresses so that packets are
delivered properly.
In Figure 53 on page 896, a group VPN (group identifier is 1) consists of two members (member1 and
member2) and a group server (the IP address of the loopback interface is 20.0.0.1). Note that member1
coexists in the same device as the group server. In this example, the interface that member1 uses to
connect to the MPLS network (ge-0/1/0) is assigned the IP address 10.1.0.1/32.
896
10.1.0.1/32
(ge-0/1/0)
MPLS network
Router Router
g031042
Group server/Member1 Member2
20.0.0.1/32 10.2.0.1/32
(loopback)
The configuration instructions in this topic describe how to configure the group server-member1 device
for colocation mode. To configure member2, see “Example: Configuring Group VPNv1 Server and Members”
on page 870.
To prevent packet fragmentation issues, we recommend that the interface used by the group member to
connect to the MPLS network be configured for an MTU size no larger than 1400 bytes. Use the set
interface mtu configuration statement to set the MTU size.
Configuration
set security policies from-zone trust to-zone untrust policy scope1 then permit tunnel ipsec-group-vpn v1
set security policies from-zone untrust to-zone trust policy scope1 match source-address 10_subnet
set security policies from-zone untrust to-zone trust policy scope1 match destination-address 10_subnet
set security policies from-zone untrust to-zone trust policy scope1 match application any
set security policies from-zone untrust to-zone trust policy scope1 then permit tunnel ipsec-group-vpn v1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
[edit interfaces]
user@host# set lo0 unit 0 family inet address 20.0.0.1/32
2. Configure the interface that member1 uses to connect to the MPLS network.
[edit interfaces]
user@host# set ge-0/1/0 unit 0 family inet address 10.1.0.1/32
4. Configure IKE Phase 1 SA for the server (this configuration must match the Phase 1 SA configured on
group members).
user@host# set policy srv-pol proposals srv-prop mode main pre-shared-key ascii-text
"$9$c1grK8-VYZUHX7UHqmF3Sre"
user@host# set gateway gw1 ike-policy srv-pol address 10.1.0.1
user@host# set gateway gw2 ike-policy srv-pol address 10.2.0.1
7. Configure the group identifier, IKE gateway, antireplay time, and server address on the server.
10. Configure Phase 1 SA for member1 (this configuration must match the Phase 1 SA configured for the
group server).
11. Define the policy and set the remote gateway for member1.
12. Configure the group identifier, IKE gateway, and interface for member1.
14. Configure a scope policy from the trust zone to the untrust zone that allows unicast traffic to and from
the 10.0.0.0/8 subnetwork.
15. Configure a scope policy from the untrust zone to the trust zone that allows unicast traffic to and from
the 10.0.0.0/8 subnetwork.
901
Results
From configuration mode, confirm your configuration by entering the show security group-vpn and show
security policies command. If the output does not display the intended configuration, repeat the
configuration instructions in this example to correct it.
In the list of configured security policies, make sure that the scope policies are listed before the default
policies.
[edit]
user@host# show security group-vpn
member {
ike {
proposal prop1 {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm 3des-cbc;
}
policy pol1 {
mode main;
proposals prop1;
pre-shared-key ascii-text "$9$c1grK8-VYZUHX7UHqmF3Sre"; ## SECRET-DATA
}
gateway g1 {
ike-policy pol1;
address 20.0.0.1;
local-address 10.1.0.1;
}
}
ipsec {
vpn v1 {
ike-gateway g1;
group-vpn-external-interface ge-0/1/0;
group 1;
}
}
}
server {
902
ike {
proposal srv-prop {
authentication-method pre-shared-keys;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm 3des-cbc;
}
policy srv-pol {
mode main;
proposals srv-prop;
pre-shared-key ascii-text "$9$c1grK8-VYZUHX7UHqmF3Sre"; ## SECRET-DATA
}
gateway gw1 {
ike-policy srv-pol;
address 10.1.0.1;
}
gateway gw2 {
ike-policy srv-pol;
address 10.2.0.1;
}
}
ipsec {
proposal group-prop {
authentication-algorithm hmac-sha1-96;
encryption-algorithm 3des-cbc;
lifetime-seconds 3600;
}
}
group grp1 {
group-id 1;
ike-gateway gw1;
ike-gateway gw2;
anti-replay-time-window 120;
server-address 20.0.0.1;
server-member-communication {
communication-type unicast;
encryption-algorithm aes-128-cbc;
sig-hash-algorithm md5;
certificate srv-cert;
}
ipsec-sa group-sa {
proposal group-prop;
match-policy p1 {
source 10.1.0.0/16;
903
destination 10.2.0.0/16;
source-port 0;
destination-port 0;
protocol 0;
}
match-policy p2 {
source 10.2.0.0/16;
destination 10.1.0.0/16;
source-port 0;
destination-port 0;
protocol 0;
}
match-policy p3 {
source 10.1.1.1/16;
destination 239.1.1.1/32;
source-port 0;
destination-port 0;
protocol 0;
}
}
}
}
co-location;
[edit]
user@host# show security policies
from-zone trust to-zone trust {
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone trust to-zone untrust {
policy scope1 {
match {
source-address 10_subnet;
destination-address 10_subnet;
application any;
904
}
then {
permit {
tunnel {
ipsec-group-vpn v1;
}
}
}
}
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone untrust to-zone trust {
policy default-deny {
match {
source-address any;
destination-address any;
application any;
}
then {
deny;
}
}
policy scope1 {
match {
source-address 10_subnet;
destination-address 10_subnet;
application any;
}
then {
permit {
tunnel {
ipsec-group-vpn v1;
}
}
}
905
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that the group VPN members are registered correctly.
Action
From operational mode, enter the show security group-vpn registered-members command.
Purpose
Verify the SAs for the group VPN server for IKE.
Action
From operational mode, enter the show security group-vpn server ike security-associations command.
Purpose
Verify the SAs for the group VPN server for IPsec.
Action
From operational mode, enter the show security group-vpn server ipsec security-associations command.
906
Purpose
Verify the SAs for the group VPN members for IKE.
Action
From operational mode, enter the show security group-vpn member ike security-associations command.
Purpose
Verify the SAs for the group VPN members for IPsec.
Action
From operational mode, enter the show security group-vpn member ipsec security-associations command.
SEE ALSO
Release Description
12.3X48-D30 Starting with Junos OS Release 12.3X48-D30, Group VPNv1 members can interoperate
with Group VPNv2 servers.
12.3X48-D30 Starting with Junos OS Release 12.3X48-D30, Group VPNv1 members on SRX100,
SRX110, SRX210, SRX220, SRX240, SRX550, and SRX650 devices can interoperate
with Group VPNv2 servers.
RELATED DOCUMENTATION
Group VPNv2
IN THIS SECTION
Example: Configuring Group VPNv2 Server-Member Communication for Unicast Rekey Messages | 963
Group VPNv2 introduces the concept of a trusted group to eliminate point-to-point tunnels and their
associated overlay routing. All group members share a common security association (SA), also known as
a group SA.
An IPsec security association (SA) is a unidirectional agreement between virtual private network (VPN)
participants that defines the rules to use for authentication and encryption algorithms, key exchange
mechanisms, and secure communications. With many VPN implementations, the SA is a point-to-point
tunnel between two security devices (see Figure 54 on page 908).
908
g043220
Group VPNv2 extends IPsec architecture to support SAs that are shared by a group of security devices
(see Figure 55 on page 908). With Group VPNv2, any-to-any connectivity is achieved by preserving the
original source and destination IP addresses in the outer header. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX
instances.
IPsec SA
g043221
Group VPNv2 is an enhanced version of the group VPN feature introduced in an earlier Junos OS release
for SRX Series devices. Group VPNv2 on Juniper devices support RFC 6407, The Group Domain of
Interpretation (GDOI), and interoperate with other devices that comply with RFC 6407.
Group VPNv2 is based on RFC 6407, The Group Domain of Interpretation (GDOI). This RFC describes the
protocol between group members and group servers to establish SAs among group members. GDOI
messages create, maintain, or delete SAs for a group of devices. Group VPNv2 is supported on vSRX
instances and all SRX Series devices except for SRX5400, SRX5600, and SRX5800 devices.
909
The GDOI protocol runs on UDP port 848. The Internet Security Association and Key Management Protocol
(ISAKMP) defines two negotiation phases to establish SAs for an IKE IPsec tunnel. Phase 1 allows two
devices to establish an ISAKMP SA for other security protocols, such as GDOI.
With Group VPNv2, Phase 1 ISAKMP SA negotiation is performed between a group server and a group
member. The server and member must use the same ISAKMP policy. GDOI exchanges between the server
and member establish the SAs that are shared with other group members. A group member does not need
to negotiate IPsec with other group members. GDOI exchanges must be protected by ISAKMP Phase 1
SAs.
• The groupkey-pull exchange allows a member to request SAs and keys shared by the group from the
server. Group members must register with a group server through a groupkey-pull exchange.
• The groupkey-push exchange is a single rekey message that allows the server to send group SAs and
keys to members before existing group SAs expire. Rekey messages are unsolicited messages sent from
the server to members.
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. The center of Group VPNv2 is the group controller/key
server (GCKS). A server cluster can be used to provide GCKS redundancy.
• Sends new group SAs and keys to members. Group members encrypt traffic based on the group SAs
and keys provided by the group server.
A group server can service multiple groups. A single security device can be a member of multiple groups.
Each group is represented by a group identifier, which is a number between 1 and 4,294,967,295. The
group server and group members are linked together by the group identifier. There can be only one group
identifier per group, and multiple groups cannot use the same group identifier.
The following is a high-level view of Group VPNv2 server and member actions:
1. The group server listens on UDP port 848 for members to register.
2. To register with the group server, the member first establishes an IKE SA with the server. A member
device must provide correct IKE Phase 1 authentication to join the group. Preshared key authentication
on a per-member basis is supported.
910
3. Upon successful authentication and registration, the member device retrieves group SAs and keys for
the specified group identifier from the server with a GDOI groupkey-pull exchange.
4. The server adds the member to the membership for the group.
The server sends SA and key refreshes to group members with rekey (GDOI groupkey-push) messages.
The server sends rekey messages before SAs expire to ensure that valid keys are available for encrypting
traffic between group members.
A rekey message sent by the server requires an acknowledgement (ack) message from each group member.
If the server does not receive an ack message from the member, the rekey message is retransmitted at
the configured retransmission-period (the default is 10 seconds). If there is no reply from the member
after the configured number-of-retransmission (the default is 2 times), the member is removed from the
server’s registered members. The IKE SA between the server and member is also removed.
The server also sends rekey messages to provide new keys to members when the group SA has changed.
Group VPNv2 servers only operate with Group VPNv2 members that support RFC 6407, The Group Domain
of Interpretation (GDOI).
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. The following are not supported in this release for
Group VPNv2:
• SNMP.
• Colocation of group server and member, where server and member functions coexist in the same physical
device.
Group VPNv2 is not supported in deployments where IP addresses cannot be preserved—for example,
across the Internet where NAT is used.
911
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. Server-member communication allows the server
to send GDOI groupkey-push (rekey) messages to members. If server-member communication is not
configured for the group, members can send GDOI groupkey-pull messages to register and reregister with
the server, but the server is not able to send groupkey-push messages to members.
• Authentication algorithm (sha-256 or sha-384) used to authenticate the member to the server. There is
no default algorithm.
• Encryption algorithm used for communications between the server and member. You can specify
aes-128-cbc, aes-192-cbc, or aes-256-cbc. There is no default algorithm.
• Lifetime for the key encryption key (KEK). The default is 3600 seconds.
• Number of times the group server retransmits groupkey-push messages to a group member without a
response (the default is 2 times) and the period of time between retransmissions (the default is 10
seconds).
If server-member communication for a group is not configured, the membership list displayed by the show
security group-vpn server registered-members command shows group members who have registered
with the server; members can be active or not. When server-member communication for a group is
configured, the group membership list is cleared. For unicast communication type, the show security
group-vpn server registered-members command shows only active members.
IN THIS SECTION
Group Keys
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. The group server maintains a database to track the
relationship among VPN groups, group members, and group keys. There are two kinds of group keys that
the server downloads to members:
• Key Encryption Key (KEK)—Used to encrypt SA rekey (GDOI groupkey-push) exchanges. One KEK is
supported per group.
• Traffic Encryption Key (TEK)—Used to encrypt and decrypt IPsec data traffic between group members.
The key associated with an SA is accepted by a group member only if there is a matching policy configured
on the member. An accepted key is installed for the group, whereas a rejected key is discarded.
Rekey Messages
If the group is configured for server-member communications, the server sends SA and key refreshes to
group members with rekey (GDOI groupkey-push) messages. Rekey messages are sent before SAs expire;
this ensures that valid keys are available for encrypting traffic between group members.
The server also sends rekey messages to provide new keys to members when there is a change in group
membership or the group SA has changed (for example, a group policy is added or deleted).
Server-member communications options must be configured on the server to allow the server to send
rekey messages to group members.
The group server sends one copy of the unicast rekey message to each group member. Upon receipt of
the rekey message, members must send an acknowledgment (ACK) to the server. If the server does not
receive an ACK from a member (including retransmission of rekey messages), the server considers the
member to be inactive and removes it from the membership list. The server stops sending rekey messages
to the member.
The interval at which the server sends rekey messages is based on the value of the lifetime-seconds
configuration statement at the [edit security group-vpn server group group-name] hierarchy. New keys
are generated before the expiration of the KEK and TEK keys.
The lifetime-seconds for the KEK is configured as part of the server-member communications; the default
is 3600 seconds. The lifetime-seconds for the TEK is configured for the IPsec proposal; the default is 3600
seconds.
Member Registration
If a group member does not receive a new SA key from the server before the current key expires, the
member must reregister with the server and obtain updated keys with a GDOI groupkey-pull exchange.
913
SEE ALSO
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. This topic describes the main tasks for configuring
Group VPNv2.
The group controller/key server (GCKS) manages Group VPNv2 security associations (SAs), and generates
encryption keys and distributes them to group members. You can use a Group VPNv2 server cluster to
provide GCKS redundancy. See “Understanding Group VPNv2 Server Clusters” on page 965.
1. IKE Phase 1 SA. See “Understanding IKE Phase 1 Configuration for Group VPNv2” on page 914.
2. IPsec SA. See “Understanding IPsec SA Configuration for Group VPNv2” on page 915.
3. VPN group information, including the group identifier, IKE gateways for group members, the maximum
number of members in the group, and server-member communications. Group configuration includes
a group policy that defines the traffic to which the SA and keys apply. Server cluster and antireplay
time window can optionally be configured. See “Group VPNv2 Configuration Overview” on page 913
and “Understanding Group VPNv2 Traffic Steering” on page 915.
1. IKE Phase 1 SA. See “Understanding IKE Phase 1 Configuration for Group VPNv2” on page 914.
2. IPsec SA. See “Understanding IPsec SA Configuration for Group VPNv2” on page 915.
3. IPsec policy that defines the incoming zone (usually a protected LAN), outgoing zone (usually a WAN)
and the VPN group to which the policy applies. Exclude or fail-open rules can also be specified. See
“Understanding Group VPNv2 Traffic Steering” on page 915.
4. Security policy to allow group VPN traffic between the zones specified in the IPsec policy.
Group VPNv2 operation requires a working routing topology that allows client devices to reach their
intended sites throughout the network.
The group is configured on the server with the group configuration statement at the [edit security group-vpn
server] hierarchy.
914
• Group identifier—A value that identifies the VPN group. The same group identifier must be configured
on the group member.
• Each group member is configured with the ike-gateway configuration statement. There can be multiple
instances of this configuration statement, one for each member of the group.
• Group policies—Policies that are to be downloaded to members. Group policies describe the traffic to
which the SA and keys apply. See “Understanding Group VPNv2 Traffic Steering” on page 915.
• Member threshold—The maximum number of members in the group. After the member threshold for a
group is reached, a server stops responding to groupkey-pull initiations from new members. See
“Understanding Group VPNv2 Server Clusters” on page 965.
• Server cluster—Optional configuration that supports group controller/key server (GCKS) redundancy.
See “Understanding Group VPNv2 Server Clusters” on page 965.
• Antireplay—Optional configuration that detects packet interception and replay. See “Understanding
Group VPNv2 Antireplay” on page 918.
SEE ALSO
An IKE Phase 1 SA between a group server and a group member establishes a secure channel in which to
negotiate IPsec SAs that are shared by a group. For standard IPsec VPNs on Juniper Networks security
devices, Phase 1 SA configuration consists of specifying an IKE proposal, policy, and gateway.
For Group VPNv2, the IKE Phase 1 SA configuration is similar to the configuration for standard IPsec
VPNs, but is performed at the [edit security group-vpn server ike] and [edit security group-vpn member
ike] hierarchies. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500,
SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
In the IKE proposal configuration, you set the authentication method and the authentication and encryption
algorithms that will be used to open a secure channel between participants. In the IKE policy configuration,
you set the mode in which the Phase 1 channel will be negotiated, specify the type of key exchange to be
used, and reference the Phase 1 proposal. In the IKE gateway configuration, you reference the Phase 1
policy.
915
The IKE proposal and policy configuration on the group server must match the IKE proposal and policy
configuration on group members. On a group server, an IKE gateway is configured for each group member.
On a group member, up to four server addresses can be specified in the IKE gateway configuration.
SEE ALSO
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. After the server and member have established a
secure and authenticated channel in Phase 1 negotiation, they proceed to establish the IPsec SAs that are
shared by group members to secure data that is transmitted among members. While the IPsec SA
configuration for Group VPNv2 is similar to the configuration for standard VPNs, a group member does
not need to negotiate the SA with other group members.
• On the group server, an IPsec proposal is configured for the security protocol, authentication, and
encryption algorithm to be used for the SA. The IPsec SA proposal is configured on the group server
with the proposal configuration statement at the [edit security group-vpn server ipsec] hierarchy.
• On the group member, an Autokey IKE is configured that references the group identifier, the group
server (configured with the ike-gateway configuration statement), and the interface used by the member
to connect to group peers. The Autokey IKE is configured on the member with the vpn configuration
statement at the [edit security group-vpn member ipsec] hierarchy.
SEE ALSO
IN THIS SECTION
Fail-Close | 917
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. The group server distributes IPsec security associations
(SAs) and keys to members of a specified group. All members that belong to the same group share the
same set of IPsec SAs. The SA that is installed on a specific group member is determined by the policy
associated with the group SA and the IPsec policy that is configured on the group member.
In a VPN group, each group SA and key that the server pushes to a member are associated with a group
policy. The group policy describes the traffic on which the key should be used, including protocol, source
address, source port, destination address, and destination port. On the server, the group policy is configured
with the match-policy policy-name options at the [edit security group-vpn server group name ipsec-sa
name] hierarchy level.
Group policies that are identical (configured with the same source address, destination address, source
port, destination port, and protocol values) cannot exist for a single group. An error is returned if you
attempt to commit a configuration that contains identical group policies for a group. If this occurs, you
must delete one of the identical group policies before you can commit the configuration.
• The name of the group to which the IPsec policy applies. Only one Group VPNv2 name can be referenced
by a specific from-zone/to-zone pair.
The interface that is used by the group member to connect to the Group VPNv2 must belong to the
outgoing zone. This interface is specified with the group-vpn-external-interface statement at the [edit
security group-vpn member ipsec vpn vpn-name] hierarchy level.
On the group member, the IPsec policy is configured at the [edit security ipsec-policy] hierarchy level.
Traffic that matches the IPsec policy is further checked against exclude and fail-open rules that are
configured for the group.
917
Fail-Close
By default, traffic that does not match exclude or fail-open rules or group policies received from the group
server is blocked; this is known as fail-close.
On group members, the following types of rules can be configured for each group:
• Traffic that is excluded from VPN encryption. Examples of this type of traffic can include BGP or OSPF
routing protocols. To exclude traffic from a group, use the set security group-vpn member ipsec vpn
vpn-name exclude rule configuration. A maximum of 10 exclude rules can be configured.
• Traffic that is critical to the customer’s operation and must be sent in cleartext (unencrypted) if the group
member has not received a valid traffic encryption key (TEK) for the IPsec SA. Fail-open rules allow this
traffic flow while all other traffic is blocked. Enable fail-open with the set security group-vpn member
ipsec vpn vpn-name fail-open rule configuration. A maximum of 10 fail-open rules can be configured.
IPsec policies and rules have the following priorities on the group member:
3. Fail-open rules that define traffic that is sent in cleartext if there is no valid TEK for the SA.
4. Fail-close policy that blocks traffic. This is the default if traffic does not match exclude or fail-open
rules or group policies.
SEE ALSO
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. Two situations could indicate that a group member
is out of synchronization with the group server and other group members:
• The group member receives an Encapsulating Security Payload (ESP) packet with an unrecognized
Security Parameter Index (SPI).
• There is outgoing IPsec traffic but no incoming IPsec traffic on the group member.
When either situation is detected, a recovery probe process can be triggered on the group member. The
recovery probe process initiates GDOI groupkey-pull exchanges at specific intervals to update the member’s
SA from the group server. If there is a DoS attack of bad SPI packets or if the sender itself is out of
synchronization, the out-of-synchronization indication on the group member might be a false alarm. To
avoid overloading the system, the groupkey-pull initiation is retried at intervals of 10, 20, 40, 80, 160, and
320 seconds.
The recovery probe process is disabled by default. To enable the recovery probe process, configure
recovery-probe at the [edit security group-vpn member ipsec vpn vpn-name] hierarchy level.
SEE ALSO
Group VPNv2 antireplay is supported on vSRX instances and all SRX Series devices except for SRX5400,
SRX5600, and SRX5800 devices. Antireplay is an IPsec feature that can detect when a packet is intercepted
and then replayed by attackers. Antireplay is disabled by default for a group.
Each IPsec packet contains a timestamp. The group member checks whether the packet’s timestamp falls
within the configured anti-replay-time-window value. A packet is dropped if the timestamp exceeds the
value.
We recommend that NTP be configured on all devices that support Group VPNv2 antireplay.
Group members that are running on vSRX instances on a host machine where the hypervisor is running
under a heavy load can experience issues that can be corrected by reconfiguring the
anti-replay-time-window value. If data that matches the IPsec policy on the group member is not being
transferred, check the show security group-vpn member ipsec statistics output for D3P errors. Make sure
that NTP is operating correctly. If there are errors, adjust the anti-replay-time-window value.
919
SEE ALSO
IN THIS SECTION
Requirements | 919
Overview | 920
Configuration | 921
Verification | 955
This example shows how to configure a Group VPNv2 server to provide group controller/key server (GCKS)
support to Group VPNv2 group members. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Requirements
• A supported SRX Series device or vSRX instance running Junos OS Release 15.1X49-D30 or later that
supports Group VPNv2. This SRX Series device or vSRX instance operates as a Group VPNv2 server.
• Two supported SRX Series devices or vSRX instances running Junos OS Release 15.1X49-D30 or later
that support Group VPNv2. These devices or instances operate as Group VPNv2 group members.
• Two supported MX Series devices running Junos OS Release 15.1R2 or later that support Group VPNv2.
These devices operate as Group VPNv2 group members.
A hostname, a root administrator password, and management access must be configured on each device.
We recommend that NTP also be configured on each device.
Group VPNv2 operation requires a working routing topology that allows client devices to reach their
intended sites throughout the network. This examples focuses on the Group VPNv2 configuration; the
routing configuration is not described.
920
Overview
In this example, the Group VPNv2 network consists of a server and four members. Two of the members
are SRX Series devices or vSRX instances while the other two members are MX Series devices. The shared
group VPN SAs secure traffic between group members.
The group VPN SAs must be protected by a Phase 1 SA. Therefore, the group VPN configuration must
include configuring IKE Phase 1 negotiations on both the group server and the group members.
The same group identifier must be configured on both the group server and the group members. In this
example, the group name is GROUP_ID-0001 and the group identifier is 1. The group policy configured
on the server specifies that the SA and key are applied to traffic between subnetworks in the 172.16.0.0/12
range.
On SRX or vSRX group members, an IPsec policy is configured for the group with the LAN zone as the
from-zone (incoming traffic) and the WAN zone as the to-zone (outgoing traffic). A security policy is also
needed to allow traffic between the LAN and WAN zones.
Topology
Figure 56 on page 921 shows the Juniper Networks devices to be configured for this example.
921
Figure 56: Group VPNv2 Server with SRX or vSRX and MX Series Members
Configuration
IN THIS SECTION
Configuring Group Member GM-0001 (SRX Series Device or vSRX Instance) | 928
Configuring Group Member GM-0002 (SRX Series Device or vSRX Instance) | 936
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 10.10.100.1/24
[edit routing-options]
user@host# set static route 10.18.101.0/24 next-hop 10.10.100.254
user@host# set static route 10.18.102.0/24 next-hop 10.10.100.254
user@host# set static route 10.18.103.0/24 next-hop 10.10.100.254
user@host# set static route 10.18.104.0/24 next-hop 10.10.100.254
Results
926
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
and show security commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 10.10.100.1/24;
}
}
}
[edit]
user@host# show routing-options
static {
route 10.18.101.0/24 next-hop 10.10.100.254;
route 10.18.102.0/24 next-hop 10.10.100.254;
route 10.18.103.0/24 next-hop 10.10.100.254;
route 10.18.104.0/24 next-hop 10.10.100.254;
}
[edit]
user@host# show security
group-vpn {
server {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
authentication-algorithm sha-256;
dh-group group14;
encryption-algorithm aes-256-cbc;
}
policy GMs {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway GM-0001 {
ike-policy GMs;
address 10.18.101.1;
local-address 10.10.100.1;
}
gateway GM-0002 {
ike-policy GMs;
address 10.18.102.1;
927
local-address 10.10.100.1;
}
gateway GM-0003 {
ike-policy GMs;
address 10.18.103.1;
local-address 10.10.100.1;
}
gateway GM-0004 {
ike-policy GMs;
address 10.18.104.1;
local-address 10.10.100.1;
}
}
ipsec {
proposal AES256-SHA256-L3600 {
authentication-algorithm hmac-sha-256-128;
encryption-algorithm aes-256-cbc;
lifetime-seconds 3600;
}
}
group GROUP_ID-0001 {
group-id 1;
member-threshold 2000;
ike-gateway GM-0001;
ike-gateway GM-0002;
ike-gateway GM-0003;
ike-gateway GM-0004;
anti-replay-time-window 1000;
server-member-communication {
communication-type unicast;
lifetime-seconds 7200;
encryption-algorithm aes-256-cbc;
sig-hash-algorithm sha-256;
}
ipsec-sa GROUP_ID-0001 {
proposal AES256-SHA256-L3600;
match-policy 1 {
source 172.16.0.0/12;
destination 172.16.0.0/12;
protocol 0;
}
}
}
}
928
}
policies {
global {
policy 1000 {
match {
source-address any;
destination-address any;
application any;
from-zone any;
to-zone any;
}
then {
reject;
log {
session-init;
}
count;
}
}
}
default-policy {
deny-all;
}
}
zones {
security-zone GROUPVPN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 description To_LAN
user@host# set ge-0/0/0 unit 0 family inet address 172.16.101.1/24
user@host# set ge-0/0/1 unit 0 description To_KeySrv
user@host# set ge-0/0/1 unit 0 family inet address 10.18.101.1/24
[edit security]
user@host# set address-book global address 172.16.0.0/12 172.16.0.0/12
[edit routing-options]
user@host# set static route 10.18.102.0/24 next-hop 10.18.101.254
user@host# set static route 10.18.103.0/24 next-hop 10.18.101.254
user@host# set static route 10.18.104.0/24 next-hop 10.18.101.254
user@host# set static route 172.16.101.0/24 next-hop 10.18.101.254
user@host# set static route 172.16.102.0/24 next-hop 10.18.101.254
user@host# set static route 172.16.103.0/24 next-hop 10.18.101.254
user@host# set static route 172.16.104.0/24 next-hop 10.18.101.254
user@host# set static route 10.10.100.0/24 next-hop 10.18.101.254
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
and show security commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
description To_LAN;
family inet {
address 172.16.101.1/24;
}
}
933
}
ge-0/0/1 {
unit 0 {
description To_KeySrv;
family inet {
address 10.18.101.1/24;
}
}
}
[edit]
user@host# show routing-options
static {
route 10.18.102.0/24 next-hop 10.18.101.254;
route 10.18.103.0/24 next-hop 10.18.101.254;
route 10.18.104.0/24 next-hop 10.18.101.254;
route 172.16.101.0/24 next-hop 10.18.101.254;
route 172.16.102.0/24 next-hop 10.18.101.254;
route 172.16.103.0/24 next-hop 10.18.101.254;
route 172.16.104.0/24 next-hop 10.18.101.254;
route 10.10.100.0/24 next-hop 10.18.101.254;
}
[edit]
user@host# show security
address-book {
global {
address 172.16.0.0/12 172.16.0.0/12;
}
}
group-vpn {
member {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy KeySrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway KeySrv {
ike-policy KeySrv;
934
server-address 10.10.100.1;
local-address 10.18.101.1;
}
}
ipsec {
vpn GROUP_ID-0001 {
ike-gateway KeySrv;
group-vpn-external-interface ge-0/0/1.0;
group 1;
recovery-probe;
}
}
}
}
ipsec-policy {
from-zone LAN to-zone WAN {
ipsec-group-vpn GROUP_ID-0001;
}
}
policies {
from-zone LAN to-zone WAN {
policy 1 {
match {
source-address 172.16.0.0/12;
destination-address 172.16.0.0/12;
application any;
}
then {
permit;
log {
session-init;
}
}
}
}
from-zone WAN to-zone LAN {
policy 1 {
match {
source-address 172.16.0.0/12;
destination-address 172.16.0.0/12;
application any;
}
then {
permit;
935
log {
session-init;
}
}
}
}
global {
policy 1000 {
match {
source-address any;
destination-address any;
application any;
from-zone any;
to-zone any;
}
then {
reject;
log {
session-init;
}
count;
}
}
}
default-policy {
deny-all;
}
}
zones {
security-zone LAN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone WAN {
host-inbound-traffic {
system-services {
936
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 description To_LAN
user@host# set ge-0/0/0 unit 0 family inet address 172.16.102.1/24
user@host# set ge-0/0/1 unit 0 description To_KeySrv
938
[edit security]
user@host# set address-book global address 172.16.0.0/12 172.16.0.0/12
[edit routing-options]
user@host# set static route 10.18.101.0/24 next-hop 10.18.102.254
user@host# set static route 10.18.103.0/24 next-hop 10.18.102.254
user@host# set static route 10.18.104.0/24 next-hop 10.18.102.254
user@host# set static route 172.16.101.0/24 next-hop 10.18.102.254
user@host# set static route 172.16.102.0/24 next-hop 10.18.102.254
user@host# set static route 172.16.103.0/24 next-hop 10.18.102.254
user@host# set static route 172.16.104.0/24 next-hop 10.18.102.254
user@host# set static route 10.10.100.0/24 next-hop 10.18.102.254
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
and show security commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
description To_LAN;
family inet {
address 172.16.102.1/24;
}
}
}
ge-0/0/1 {
unit 0 {
description To_KeySrv;
family inet {
address 10.18.102.1/24;
}
}
}
[edit]
user@host# show routing-options
static {
route 10.18.101.0/24 next-hop 10.18.102.254;
route 10.18.103.0/24 next-hop 10.18.102.254;
route 10.18.104.0/24 next-hop 10.18.102.254;
route 172.16.101.0/24 next-hop 10.18.102.254;
route 172.16.102.0/24 next-hop 10.18.102.254;
route 172.16.103.0/24 next-hop 10.18.102.254;
route 172.16.104.0/24 next-hop 10.18.102.254;
route 10.10.100.0/24 next-hop 10.18.102.254;
}
[edit]
user@host# show security
address-book {
global {
address 172.16.0.0/12 172.16.0.0/12;
}
}
group-vpn {
member {
941
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy KeySrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway KeySrv {
ike-policy KeySrv;
server-address 10.10.100.1;
local-address 10.18.102.1;
}
}
ipsec {
vpn GROUP_ID-0001 {
ike-gateway KeySrv;
group-vpn-external-interface ge-0/0/1.0;
group 1;
recovery-probe;
}
}
}
}
policies {
from-zone LAN to-zone WAN {
policy 1 {
match {
source-address 172.16.0.0/12;
destination-address 172.16.0.0/12;
application any;
}
then {
permit;
log {
session-init;
}
}
}
}
942
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone WAN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
set interfaces xe-0/0/1 unit 0 family inet service input service-set GROUP_ID-0001 service-filter GroupVPN-KS
set interfaces xe-0/0/1 unit 0 family inet service output service-set GROUP_ID-0001 service-filter GroupVPN-KS
set interfaces xe-0/0/1 unit 0 family inet address 10.18.103.1/24
set interfaces xe-0/0/2 unit 0 family inet address 172.16.103.1/24
set interfaces ms-0/2/0 unit 0 family inet
set routing-options static route 10.18.101.0/24 next-hop 10.18.103.254
set routing-options static route 10.18.102.0/24 next-hop 10.18.103.254
set routing-options static route 10.18.104.0/24 next-hop 10.18.103.254
set routing-options static route 172.16.101.0/24 next-hop 10.18.103.254
set routing-options static route 172.16.102.0/24 next-hop 10.18.103.254
set routing-options static route 172.16.103.0/24 next-hop 10.18.103.254
set routing-options static route 172.16.104.0/24 next-hop 10.18.103.254
set routing-options static route 10.10.100.0/24 next-hop 10.18.103.254
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 authentication-method pre-shared-keys
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 dh-group group14
944
Step-by-Step Procedure
To configure the Group VPNv2 member:
[edit interfaces]
user@host# set xe-0/0/1 unit 0 family inet service input service-set GROUP_ID-0001 service-filter
GroupVPN-KS
user@host# set xe-0/0/1 unit 0 family inet service output service-set GROUP_ID-0001 service-filter
GroupVPN-KS
user@host# set xe-0/0/1 unit 0 family inet address 10.18.103.1/24
user@host# set xe-0/0/2 unit 0 family inet address 172.16.103.1/24
user@host# set ms-0/2/0 unit 0 family inet
2. Configure routing.
[edit routing-options]
user@host# set static route 10.18.101.0/24 next-hop 10.18.103.254
user@host# set static route 10.18.102.0/24 next-hop 10.18.103.254
945
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security, show services, and show firewall commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
xe-0/0/1 {
unit 0 {
family inet {
service {
input {
service-set GROUP_ID-0001 service-filter GroupVPN-KS;
}
output {
service-set GROUP_ID-0001 service-filter GroupVPN-KS;
}
}
address 10.18.103.1/24;
}
}
}
xe-0/0/2 {
unit 0 {
family inet {
address 172.16.103.1/24;
}
}
}
ms-0/2/0 {
unit 0 {
947
family inet;
}
}
[edit]
user@host# show routing-options
static {
route 10.18.101.0/24 next-hop 10.18.103.254;
route 10.18.102.0/24 next-hop 10.18.103.254;
route 10.18.104.0/24 next-hop 10.18.103.254;
route 172.16.101.0/24 next-hop 10.18.103.254;
route 172.16.102.0/24 next-hop 10.18.103.254;
route 172.16.103.0/24 next-hop 10.18.103.254;
route 172.16.104.0/24 next-hop 10.18.103.254;
}
[edit]
user@host# show security
group-vpn {
member {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy KeySrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway KeySrv {
ike-policy KeySrv;
local-address 10.18.103.1;
server-address 10.10.101.1;
}
}
ipsec {
vpn GROUP_ID-0001 {
ike-gateway KeySrv
group 1;
match-direction output;
tunnel-mtu 1400;
df-bit clear;
}
948
}
}
}
[edit]
user@host# show services
service-set GROUP_ID-0001 {
interface-service {
service-interface ms-0/2/0.0;
}
ipsec-group-vpn GROUP_ID-0001;
}
[edit]
user@host# show firewall
family inet {
service-filter GroupVPN-KS {
term inbound-ks {
from {
destination-address {
10.10.100.1/32;
}
source-address {
10.10.100.1/32;
}
}
then skip;
}
term outbound-ks {
from {
destination-address {
10.10.100.1/32;
}
}
then skip;
}
term GROUP_ID-0001 {
from {
source-address {
172.16.0.0/12;
}
destination-address {
172.16.0.0/12;
}
}
then service;
949
}
}
}
set interfaces xe-0/0/1 unit 0 family inet service input service-set GROUP_ID-0001 service-filter GroupVPN-KS
set interfaces xe-0/0/1 unit 0 family inet service output service-set GROUP_ID-0001 service-filter GroupVPN-KS
set interfaces xe-0/0/1 unit 0 family inet address 10.18.104.1/24
set interfaces xe-0/0/2 unit 0 family inet address 172.16.104.1/24
set interfaces ms-0/2/0 unit 0 family inet
set routing-options static route 10.18.101.0/24 next-hop 10.18.104.254
set routing-options static route 10.18.102.0/24 next-hop 10.18.104.254
set routing-options static route 10.18.103.0/24 next-hop 10.18.104.254
set routing-options static route 172.16.101.0/24 next-hop 10.18.104.254
set routing-options static route 172.16.102.0/24 next-hop 10.18.104.254
set routing-options static route 172.16.103.0/24 next-hop 10.18.104.254
set routing-options static route 172.16.104.0/24 next-hop 10.18.104.254
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 authentication-method pre-shared-keys
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 dh-group group14
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 authentication-algorithm sha-256
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 encryption-algorithm aes-256-cbc
set security group-vpn member ike policy SubSrv mode main
set security group-vpn member ike policy SubSrv proposals PSK-SHA256-DH14-AES256
set security group-vpn member ike policy SubSrv pre-shared-key ascii-text "$ABC123"
set security group-vpn member ike gateway SubSrv ike-policy SubSrv
set security group-vpn member ike gateway SubSrv server-address 10.17.101.1
set security group-vpn member ike gateway SubSrv server-address 10.17.102.1
set security group-vpn member ike gateway SubSrv server-address 10.17.103.1
set security group-vpn member ike gateway SubSrv server-address 10.17.104.1
set security group-vpn member ike gateway SubSrv local-address 10.18.104.1
set security group-vpn member ipsec vpn GROUP_ID-0001 ike-gateway SubSrv
set security group-vpn member ipsec vpn GROUP_ID-0001 group 1
set security group-vpn member ipsec vpn GROUP_ID-0001 match-direction output
set security group-vpn member ipsec vpn GROUP_ID-0001 tunnel-mtu 1400
set security group-vpn member ipsec vpn GROUP_ID-0001 df-bit clear
set services service-set GROUP_ID-0001 interface-service service-interface ms-0/2/0.0
set services service-set GROUP_ID-0001 ipsec-group-vpn GROUP_ID-0001
set firewall family inet service-filter GroupVPN-KS term inbound-ks from destination-address 10.10.100.1/32
950
set firewall family inet service-filter GroupVPN-KS term inbound-ks from source-address 10.10.100.1/32
set firewall family inet service-filter GroupVPN-KS term outbound-ks from destination-address 10.17.101.1/32
set firewall family inet service-filter GroupVPN-KS term outbound-ks from destination-address 10.17.102.1/32
set firewall family inet service-filter GroupVPN-KS term outbound-ks from destination-address 10.17.103.1/32
set firewall family inet service-filter GroupVPN-KS term outbound-ks from destination-address 10.17.104.1/32
set firewall family inet service-filter GroupVPN-KS term outbound-ks then skip
set firewall family inet service-filter GroupVPN-KS term GROUP_ID-0001 from source-address 172.16.0.0/12
set firewall family inet service-filter GroupVPN-KS term GROUP_ID-0001 from destination-address 172.16.0.0/12
set firewall family inet service-filter GroupVPN-KS term GROUP_ID-0001 then service
Step-by-Step Procedure
To configure the Group VPNv2 member:
[edit interfaces]
user@host# set xe-0/0/1 unit 0 family inet service input service-set GROUP_ID-0001 service-filter
GroupVPN-KS
user@host# set xe-0/0/1 unit 0 family inet service output service-set GROUP_ID-0001 service-filter
GroupVPN-KS
user@host# set xe-0/0/1 unit 0 family inet address 10.18.104.1/24
user@host# set xe-0/0/2 unit 0 family inet address 172.16.104.1/24
user@host# set ms-0/2/0 unit 0 family inet
2. Configure routing.
[edit routing-options]
user@host# set static route 10.18.101.0/24 next-hop 10.18.104.254
user@host# set static route 10.18.102.0/24 next-hop 10.18.104.254
user@host# set static route 10.18.103.0/24 next-hop 10.18.104.254
user@host# set static route 172.16.101.0/24 next-hop 10.18.104.254
user@host# set static route 172.16.102.0/24 next-hop 10.18.104.254
user@host# set static route 172.16.103.0/24 next-hop 10.18.104.254
user@host# set static route 172.16.104.0/24 next-hop 10.18.104.254
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
show security, show services, and show firewall commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
xe-0/0/1 {
unit 0 {
family inet {
service {
input {
service-set GROUP_ID-0001 service-filter GroupVPN-KS;
}
output {
service-set GROUP_ID-0001 service-filter GroupVPN-KS;
}
}
address 10.18.104.1/24;
}
}
}
xe-0/0/2 {
unit 0 {
family inet {
address 172.16.104.1/24;
}
}
}
ms-0/2/0 {
unit 0 {
family inet;
}
}
[edit]
user@host# show routing-options
static {
route 10.18.101.0/24 next-hop 10.18.104.254;
route 10.18.102.0/24 next-hop 10.18.104.254;
route 10.18.103.0/24 next-hop 10.18.104.254;
route 172.16.101.0/24 next-hop 10.18.104.254;
route 172.16.102.0/24 next-hop 10.18.104.254;
route 172.16.103.0/24 next-hop 10.18.104.254;
route 172.16.104.0/24 next-hop 10.18.104.254;
953
}
[edit]
user@host# show security
group-vpn {
member {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy KeySrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway KeySrv {
ike-policy KeySrv;
local-address 10.18.104.1;
server-address 10.17.101.1;
}
}
ipsec {
vpn GROUP_ID-0001 {
ike-gateway KeySrv
group 1;
match-direction output;
tunnel-mtu 1400;
df-bit clear;
}
}
}
}
[edit]
user@host# show services
service-set GROUP_ID-0001 {
interface-service {
service-interface ms-0/2/0.0;
}
ipsec-group-vpn GROUP_ID-0001;
}
[edit]
user@host# show firewall
954
family inet {
service-filter GroupVPN-KS {
term inbound-ks {
from {
destination-address {
10.10.100.1/32;
}
source-address {
10.10.100.1/32;
}
}
then skip;
}
term outbound-ks {
from {
destination-address {
10.17.101.1/32;
10.17.102.1/32;
10.17.103.1/32;
10.17.104.1/32;
}
}
then skip;
}
term GROUP_ID-0001 {
from {
source-address {
172.16.0.0/12;
}
destination-address {
172.16.0.0/12;
}
}
then service;
}
}
}
955
Verification
IN THIS SECTION
Purpose
Verify that group members are registered on the server.
Action
From operational mode, enter the show security group-vpn server registered-members and show security
group-vpn server registered-members detail commands on the server.
Stats:
Pull Succeeded : 2
Pull Failed : 0
Push Sent : 0
Push Acknowledged : 0
Push Unacknowledged : 0
Purpose
Verify that group keys are distributed to members.
Action
From operational mode, enter the show security group-vpn server statistics command on the group
server.
Purpose
Verify Group VPN SAs on the group server.
Action
957
From operational mode, enter the show security group-vpn server kek security-associations and show
security group-vpn server kek security-associations detail commands on the group server.
Purpose
Verify Group VPN SAs on the group members.
Action
From operational mode, enter the show security group-vpn member kek security-associations and show
security group-vpn member kek security-associations detail commands on the SRX or vSRX group member.
Algorithms:
Sig-hash : hmac-sha256-128
Encryption : aes256-cbc
Traffic statistics:
Input bytes : 0
Output bytes : 0
Input packets: 0
Output packets: 0
Stats:
Push received : 0
Delete received : 0
From operational mode, enter the show security group-vpn member kek security-associations and show
security group-vpn member kek security-associations detail commands on the MX Series group member.
Algorithms:
Sig-hash : hmac-sha256-128
Encryption : aes256-cbc
Traffic statistics:
Input bytes : 0
Output bytes : 0
Input packets: 0
Output packets: 0
Stats:
Push received : 0
Delete received : 0
Purpose
Verify IPsec SAs on the group server.
Action
From operational mode, enter the show security group-vpn server ipsec security-associations and show
security group-vpn server ipsec security-associations detail commands on the group server.
Destination: 172.16.0.0/12
Source Port: 0
Destination Port: 0
Protocol: 0
Purpose
Verify IPsec SAs on the group members.
Action
From operational mode, enter the show security group-vpn member ipsec security-associations and show
security group-vpn member ipsec security-associations detail commands on the SRX or vSRX group
member.
Flags:
Rekey Needed: no
From operational mode, enter the show security group-vpn member ipsec security-associations and show
security group-vpn member ipsec security-associations detail commands on the MX Series group member.
Delete Received : 0
Exceed Maximum Keys(4) : 0
Exceed Maximum Policies(1): 0
Unsupported Algo : 0
Flags:
Rekey Needed: no
Purpose
Verify group policies on SRX or vSRX group members.
Action
From operational mode, enter the show security group-vpn member policy command on the group member.
SEE ALSO
963
IN THIS SECTION
Requirements | 963
Overview | 963
Configuration | 964
Verification | 964
This example shows how to enable the server to send unicast rekey messages to group members to ensure
that valid keys are available for encrypting traffic between group members. Group VPNv2 is supported
on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices
and vSRX instances.
Requirements
• Configure the group server and members for IKE Phase 1 negotiation.
Overview
In this example, you specify the following server-member communication parameters for group g1:
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode.
Verification
To verify the configuration is working properly, enter the show security group-vpn server group g1
server-member-communication command.
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
Migrating a Standalone Group VPNv2 Server to a Group VPNv2 Server Cluster | 976
Group VPNv2 server cluster provides group controller/key server (GCKS) redundancy, so there is no single
point of failure for the entire group VPN network.
IN THIS SECTION
In the Group Domain of Interpretation (GDOI) protocol, the group controller/key server (GCKS) manages
Group VPN security associations (SAs), and generates encryption keys and distributes them to group
members. Group members encrypt traffic based on the group SAs and keys provided by the GCKS. If the
GCKS fails, group members cannot register or obtain keys. A Group VPNv2 server cluster provides GCKS
redundancy so there is no single point of failure for the entire group VPN network. Group VPNv2 server
clusters can also provide load balancing, scaling, and link redundancy.
966
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. All servers in a Group VPNv2 server cluster must be
supported on SRX Series devices or vSRX instances. Group VPNv2 server clusters are a Juniper Networks
proprietary solution and have no interoperability with other vendor’s GCKS.
A Group VPNv2 server cluster consists of one root-server with up to four connected sub-servers. All
servers in the cluster share the same SA and encryption keys that are distributed to Group VPNv2 members.
Servers in the cluster can be located at different sites, as shown in Figure 57 on page 966.
Messages between servers in the cluster are encrypted and authenticated by IKE SAs. The root-server is
responsible for generating and distributing encryption keys to sub-servers; because of this responsibility,
we recommend that the root-server be configured as a chassis cluster. Sub-servers are single devices and
cannot be chassis clusters. Sub-servers must be able to connect to the root-server, although direct links
between sub-servers are not necessary.
If a sub-server loses its connection to the root-server, no further connection to the sub-server from group
members are allowed and SAs are deleted. Therefore, we recommend that you use a different link to
connect each sub-server to the root-server.
967
Group VPNv2 server clusters are configured with the server-cluster statements at the [edit security
group-vpn server group-name] hierarchy level. The following values must be configured for each server
in a cluster:
• The server role—Specify either root-server or sub-server. A given server can be part of multiple Group
VPNv2 server clusters, but it must have the same server role in all clusters. A server cannot be configured
with the root-server role in one group and the sub-server role in another group.
You must ensure that there is only one root-server at any time for a Group VPNv2 server cluster.
• IKE gateway—Specify the name of an IKE gateway configured at the [edit security group-vpn server
ike] hierarchy level. For a root-server, the IKE gateway must be a sub-server in the cluster; up to four
sub-servers can be specified. For sub-servers, the IKE gateway must be the root-server.
The root-server and sub-servers must be configured with dead-peer-detection always-send and cannot
be configured for a dynamic (unspecified) IP address. Group members are not configured with dead peer
detection.
The Group VPNv2 configuration must be the same on each sub-server in a given group.
Each sub-server in the Group VPNv2 server cluster operates as a normal GCKS for registering and deleting
members. Upon successful member registration, the registering server is responsible for sending updates
to the member. For a given group, you can configure the maximum number of Group VPNv2 members
that can be accepted by each sub-server; this number must be the same on all sub-servers in the cluster.
A sub-server stops responding to registration requests by new members when it reaches the configured
maximum number of Group VPNv2 members. See “Load Balancing” on page 968.
Group members can register with any server in the Group VPNv2 server cluster for a given group, however
we recommend that members only connect to sub-servers and not the root-server. Up to four server
addresses can be configured on each group member. The server addresses configured on group members
can be different. In the example shown below, group member A is configured for sub-servers 1 through
4, while member B is configured for sub-servers 4 and 3:
Sub-server 2 Sub-server 3
Sub-server 3
Sub-server 4
968
The order that the server addresses is configured on a member is important. A group member attempts
to register with the first configured server. If registration with a configured server is not successful, the
group member tries to register with the next configured server.
Each server in a Group VPNv2 server cluster operates as a normal GCKS for registering and deleting
members. Upon successful registration, the registering server is responsible for sending updates to the
member via groupkey-push exchanges. For a given group, you can configure the maximum number of
group members that can be accepted by each server, however this number must be the same on all servers
in the cluster for a given group. Upon reaching the configured maximum number of group members, a
server stops responding to registration requests by new members. See “Load Balancing” on page 968 for
additional information.
To verify the availability of peer servers in a Group VPNv2 server cluster, each server in the cluster must
be configured to send dead peer detection (DPD) requests regardless of whether there is outgoing IPsec
traffic to the peer. This is configured with the dead-peer-detection always-send statement at the [edit
security group-vpn server ike gateway gateway-name] hierarchy level.
An active server in a Group VPNv2 server cluster sends DPD probes to the IKE gateway(s) configured in
the server cluster. DPD should not be configured for a group because multiple groups can share the same
peer server IKE gateway configuration. When DPD detects that a server is down, the IKE SA with that
server is deleted. All groups mark the server as inactive and DPD to the server is stopped.
DPD should not be configured for the IKE gateway on group members.
When DPD marks the root-server as inactive, the sub-servers stop responding to new group member
requests however existing SAs for current group members remain active. An inactive sub-server does not
send deletes to group members because the SAs could be still valid and group members can continue using
existing SAs.
If an IKE SA expires while a peer server is still active, DPD triggers IKE SA negotiation. Because both
root-servers and sub-servers can trigger IKE SAs through DPD, simultaneous negotiation might result in
multiple IKE SAs. No impact on server-cluster functionality is expected in this case.
Load Balancing
Load balancing in the Group VPNv2 server cluster can be achieved by configuring the right
member-threshold value for the group. When the number of members registered on a server exceeds the
member-threshold value, subsequent member registration on that server is rejected. The member
registration fails over to the next server configured on the group member until it reaches a server whose
member-threshold is not yet reached.
969
• For a given group, the same member-threshold value must be configured on the root-server and all
sub-servers in a group server cluster. If the total number of members in the group exceeds the configured
member-threshold value, then a groupkey-pull registration initiated by a new member is rejected (the
server does not send a response).
• A server can support members in multiple groups. Each server has a maximum number of group members
that it can support. If a server reaches the maximum number of members it can support, then a
groupkey-pull registration initiated by a new member is rejected even if the member-threshold value
of a specific group has not been reached.
There is no member synchronization among servers in the cluster. The root-server does not have information
about the number of registered members on sub-servers. Each sub-server can only show its own registered
members.
SEE ALSO
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. Note the following caveats when configuring Group
VPNv2 server clusters:
• Certificate authentication is not supported for server authentication; only preshared keys can be
configured.
• There is no configuration synchronization between servers in the Group VPNv2 server cluster.
• When enabling a Group VPNv2 server cluster, configuration must be done on the root-server first and
then on the sub-servers. Until the configuration is manually synchronized among the servers, traffic loss
can be expected during the configuration change.
• In certain corner cases, the SAs on Group VPNv2 members can be out of sync. Group VPN members
can synchronize SAs by getting a new key through a groupkey-pull exchange. You can manually clear
SAs on a Group VPNv2 member with the clear security group-vpn member ipsec security-associations
or clear security group-vpn member group commands to help speed recovery.
• If the last groupkey-pull message is lost during a Group VPNv2 member’s registration, a server might
consider the member to be a registered member even though the member might fail over to the next
970
server in the server cluster. In this case, the same member might appear to be registered on multiple
servers. If the total member-threshold on all servers equals the total number of deployed members,
subsequent group members might fail to register.
Note the following caveats for chassis cluster operations on the root-server:
• No negotiation data or state is saved. If a root-server chassis cluster failover occurs during a groupkey-pull
or groupkey-push negotiation, the negotiation is not restarted after the failover.
• If both chassis cluster nodes of a root-server go down during a rekey of an encryption key, some Group
VPNv2 members might receive the new key while other members do not. Traffic might be impacted.
Manually clearing SAs on a Group VPNv2 member with the clear security group-vpn member ipsec
security-associations or clear security group-vpn member group commands might help speed up recovery
when the root-server becomes reachable.
• In a large-scale environment, RG0 failover on the root-server might take time. If the DPD interval and
threshold on a sub-server are configured with small values, it can result in the sub-server marking the
root-server as inactive during an RG0 failover. Traffic might be impacted. We recommend that you
configure the IKE gateway for the sub-server with a DPD interval * threshold value larger than 150
seconds.
SEE ALSO
IN THIS SECTION
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. All messages between servers in a Group VPNv2
server cluster are encrypted and authenticated by an IKE security association (SA). Each sub-server initiates
an IKE SA with the root-server; this IKE SA must be established before messages can be exchanged between
the servers.
971
This section describes the messages exchanged between the root-server and sub-servers.
Cluster Exchanges
Figure 58 on page 971 shows the basic messages exchanged between the Group VPNv2 server cluster and
Group VPNv2 members.
Cluster-Init Exchanges
A sub-server launches a cluster initialization (cluster-init) exchange with the root-server to obtain SA and
encryption key information. The root-server responds by sending current SA information to the sub-server
through the cluster-init exchange.
Sub-servers can then respond to registration requests from Group VPNv2 members through a groupkey-pull
exchange. The groupkey-pull exchange allows a Group VPNv2 member to request SAs and keys shared
by the group from a sub-server.
• The root-server is considered inactive. This is the initial assumed state of the root-server. If there is no
IKE SA between the root-server and the sub-server, the sub-server initiates an IKE SA with the root-server.
After a successful cluster-init exchange, the sub-server obtains information on SAs and marks the
root-server as active.
If the cluster-init exchange fails, the sub-server retries the exchange with the root-server every 5 seconds.
Cluster-Update Messages
The groupkey-push exchange is a single rekey message that allows a group controller/key server (GCKS)
to send group SAs and keys to members before existing group SAs expire and to update group membership.
Rekey messages are unsolicited messages sent from the GCKS to members
Upon generating new encryption keys for an SA, the root-server sends SA updates to all active sub-servers
through a cluster-update message. After receiving a cluster-update from the root-server, the sub-server
installs the new SA and sends the new SA information through a groupkey-push to its registered group
members.
A cluster-update message sent from the root-server requires an acknowledgement from the sub-server.
If there is no acknowledgement received from a sub-server, the root-server retransmits the cluster-update
at the configured retransmission period (the default is 10 seconds). The root-server does not retransmit
if dead peer detection (DPD) indicates that the sub-server is unavailable. If a sub-server fails to update SA
information after receiving a cluster-update, it does not send an acknowledgement and the root-server
retransmits the cluster-update message.
If the soft lifetime of an SA expires before a new SA is received from the root-server, the sub-server sends
a cluster-init message to the root-server to get all SAs and does not send a groupkey-push message to its
members until it has a new update. If the hard lifetime of an SA expires on the sub-server before it receives
a new SA, the sub-server marks the root-server inactive, deletes all registered group members, and continues
to send cluster-init messages to the root-server.
A cluster-update message can be sent to delete an SA or a group member; this can be the result of a clear
command or a configuration change. If a sub-server receives a cluster-update message to delete an SA, it
sends a groupkey-push delete message to its group members and deletes the corresponding SA. If all SAs
for a group are deleted, the sub-server initiates a cluster-init exchange with the root-server. If all registered
members are deleted, the sub-server deletes all locally registered members.
SEE ALSO
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. Group VPNv2 server clusters behave differently
973
from standalone Group VPNv2 servers when there are configuration changes that result in new encryption
keys and changes to security associations (SAs). The root-server sends SA updates or deletions to sub-servers
through cluster-update messages. The sub-servers then send groupkey-push messages to members.
Sub-servers cannot send delete messages to group members without first receiving delete messages from
the root-server.
All configuration changes must be made on the root-server first and then on sub-servers to ensure that
group members receive updates or deletions as expected. Until configuration is synchronized between
the servers in the Group VPNv2 server cluster, traffic loss can be expected.
Table 90 on page 973 describes the effects of various configuration changes on Group VPNv2 servers.
Change IKE proposal, Delete the IKE SA for the affected gateway. For IKE proposal, policy, or gateway deletions,
policy, or gateway delete the registered members for the affected gateway.
Change IPsec proposal Changes take effect after the traffic encryption key (TEK) rekey.
Group changes:
Delete group name Send “delete all” to group Send “delete all” to Delete all member IKE SAs.
members. Delete all IKE sub-servers. Delete all keys Delete all keys in the group
SAs in the group. Delete all in the group immediately. immediately. Delete all
keys in the group Mark all peers inactive. registered members in the
immediately. Delete all Delete sub-server IKE SAs. group. Mark peer inactive.
registered members in the Delete all member IKE SAs. Delete peer server IKE SAs.
group.
Change ID Send “delete all” to all Send ”delete all” to Delete all member IKE SAs
members. Delete all IKE sub-servers. Delete all in the group. Delete all keys
SAs in the group. Delete all member IKE SAs in the in the group immediately.
keys in the group group. Delete all keys in Delete all registered
immediately. Delete all the group immediately. members in the group. Mark
registered members in the Mark all peers inactive. peer inactive. Delete peer
group. Generate new keys Delete all peer server IKE server IKE SAs. Initiate new
according to the SAs. Generate new keys cluster-init exchange.
configuration. according to the
configuration.
Add or delete IKE gateway No changes for additions. For deletions, delete the IKE SA and registered members for
the affected gateway.
974
Add or change anti-replay New value takes effect after the TEK rekey.
time window
Add or change no New value takes effect after the TEK rekey.
anti-replay
Add Delete all registered Generate KEK SA. Send Delete all registered
members. Generate key new KEK SA to sub-server. members.
encryption key (KEK) SA. Delete all member IKE SAs.
Delete Send delete to delete all Send delete to sub-servers. Delete KEK SA.
KEK SAs. Delete KEK SA. Delete KEK SA. Delete all
member IKE SAs.
IPsec SA:
Add Generate new TEK SA. Generate new TEK SA. No action.
Update the new TEK SA on Send new TEK SA to
members. sub-servers.
Change New value takes effect If the match-policy If the match-policy changes,
after TEK rekey. changes, send delete to delete TEK immediately.
sub-servers. Delete TEK
If the match-policy
immediately.
changes, the current TEK is
removed immediately and
delete groupkey-push is
sent because members
need to be explicitly
notified that this
configuration is removed.
Delete Delete TEK immediately. Send delete to sub-servers. Delete TEK immediately.
Send delete to delete this Delete TEK immediately.
TEK SA.
975
Table 91 on page 975 describes the effects of changing Group VPNv2 server cluster configuration.
You must ensure that there is only one root-server in a server cluster at any time.
IKE proposal, policy, or For additions, there is no change. For changes or deletions, delete the IKE SA for the
gateway (cluster peer) affected peer.
Server cluster:
Change role Send “delete all” to sub-servers. Delete Rekey TEK. Rekey KEK. Send new keys to
all member IKE SAs in the group. Delete sub-servers. Send new keys to members.
You must ensure that
all TEKs and KEKs immediately in the
there is only one
group. Mark all peers inactive. Delete all
root-server in a server
peer server IKE SAs. Send cluster-init to
cluster at any time.
root-server.
Delete peer Mark peer inactive. Clear peer IKE SA. Mark peer inactive. Clear KEK. Clear TEK.
Clear peer IKE SA.
Delete server cluster Send “delete all” to sub-servers. Delete Delete all member IKE SAs in the group.
all TEKs and KEKs immediately in the Delete all TEKs and KEKs immediately in the
group. Mark all peers inactive. Delete all group. Delete all registered members in the
peer server IKE SAs. Generate new TEKs group. Mark peer inactive. Delete peer server
and KEKs according to the configuration. IKE SAs. Generate new TEK and KEK
according to the configuration.
SEE ALSO
976
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
SRX4200, and SRX4600 devices and vSRX instances. This section describes how to migrate a standalone
Group VPNv2 server to a Group VPNv2 server cluster.
1. Upgrade the standalone Group VPNv2 server to a chassis cluster. See Chassis Cluster User Guide for
SRX Series Devices for more information
A reboot is required during the upgrade of a standalone SRX Series device to a chassis cluster node.
Traffic loss is expected.
2. On the chassis cluster, add the Group VPNv2 server cluster root-server configuration. The configured
server role for the cluster must be root-server.
There should be no traffic loss among existing group members during the configuration change.
1. On the root-server, configure both a Group VPNv2 server IKE gateway and a server cluster IKE gateway
for the sub-server. SAs and existing member traffic should not be impacted.
2. On the sub-server, configure the server cluster. Remember that the Group VPNv2 configuration must
be the same on each server in the cluster, with the exception of the Group VPNv2 server IKE gateways,
the server role in the cluster, and the server cluster IKE gateway configurations. On the sub-server,
the configured server role in the cluster must be sub-server. Configure a Group VPNv2 server IKE
gateway and a server cluster IKE gateway for the root-server.
1. On the root-server, delete both the Group VPNv2 server IKE gateway and the server cluster IKE
gateway configurations for the sub-server. SAs and existing member traffic should not be impacted.
SEE ALSO
IN THIS SECTION
Requirements | 977
Overview | 978
Configuration | 980
Verification | 1044
This example shows how to configure a Group VPNv2 server cluster to provide group controller/key server
(GCKS) redundancy and scaling to Group VPNv2 group members. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX
instances.
Requirements
• Eight supported SRX Series devices or vSRX instances running Junos OS Release 15.1X49-D30 or later
that support Group VPNv2:
• Two devices or instances are configured to operate as a chassis cluster. The chassis cluster operates
as the root-server in the Group VPNv2 server cluster. The devices or instances must have the same
software version and licenses.
The root-server is responsible for generating and distributing encryption keys to sub-servers in the
group VPN server cluster; because of this responsibility, we recommend that the root-server be a
chassis cluster.
• Four other devices or instances operate as sub-servers in the Group VPNv2 server cluster.
• Two supported MX Series devices running Junos OS Release 15.1R2 or later that support Group VPNv2.
These devices operate as Group VPNv2 group members.
A hostname, a root administrator password, and management access must be configured on each SRX
Series device or vSRX instance. We recommend that NTP also be configured on each device.
The configurations in this example focus on what is needed for Group VPNv2 operation, based on the
topology shown in Figure 59 on page 979. Some configurations, such as interface, routing, or chassis cluster
setups, are not included here. For example, Group VPNv2 operation requires a working routing topology
978
that allows client devices to reach their intended sites throughout the network; this example does not
cover the configuration of static or dynamic routing.
Overview
In this example, the Group VPNv2 network consists of a server cluster and four members. The server
cluster consists of a root-server and four sub-servers. Two of the members are SRX Series devices or vSRX
instances while the other two members are MX Series devices.
The group VPN SAs must be protected by a Phase 1 SA. Therefore, the group VPN configuration must
include configuring IKE Phase 1 negotiations on the root-server, the sub-servers, and the group members.
IKE configurations are described as follows.
On the root-server:
• The IKE policy SubSrv is used to establish Phase 1 SAs with each sub-server.
• An IKE gateway is configured with dead peer detection (DPD) for each sub-server.
• The server cluster role is root-server and each sub-server is configured as an IKE gateway for the server
cluster.
The root-server should be configured to support chassis cluster operation. In the example, redundant
Ethernet interfaces on the root-server connect to each of the sub-servers in the server cluster; the entire
chassis cluster configuration is not shown.
On each sub-server:
• Two IKE policies are configured: RootSrv is used to establish a Phase 1 SA with the root-server, and
GMs is used to establish Phase 1 SAs with each group member.
Preshared keys are used to secure the Phase 1 SAs between the root-server and the sub-servers and
between the sub-servers and the group members. Ensure that the preshared keys used are strong keys.
On the sub-servers, the preshared key configured for the IKE policy RootSrv must match the preshared
key configured on the root-server, and the preshared key configured for the IKE policy GMs must match
the preshared key configured on the group members.
• An IKE gateway is configured with DPD for the root-server. In addition, an IKE gateway is configured
for each group member.
• The server cluster role is sub-server and the root-server is configured as the IKE gateway for the server
cluster.
• The IKE policy SubSrv is used to establish Phase 1 SAs with the sub-servers.
• The IKE gateway configuration includes the addresses for the sub-servers.
979
On SRX Series devices or vSRX group members, an IPsec policy is configured for the group with the LAN
zone as the from-zone (incoming traffic) and the WAN zone as the to-zone (outgoing traffic). A security
policy is also needed to allow traffic between the LAN and WAN zones.
The same group identifier must be configured on both the group server and the group members. In this
example, the group name is GROUP_ID-0001 and the group identifier is 1. The group policy configured
on the server specifies that the SA and key are applied to traffic between subnetworks in the 172.16.0.0/12
range.
Topology
Figure 59 on page 979 shows the Juniper Networks devices to be configured for this example.
Figure 59: Group VPNv2 Server Cluster with SRX Series or vSRX and MX Series Members
980
Configuration
set security group-vpn server group GROUP_ID-0001 ipsec-sa GROUP_ID-0001 match-policy 1 protocol 0
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set reth1 redundant-ether-options redundancy-group 1
user@host# set reth1 unit 0 description To_SubSrv01
user@host# set reth1 unit 0 family inet address 10.10.101.1/24
user@host# set reth2 redundant-ether-options redundancy-group 1
user@host# set reth2 unit 0 description To_SubSrv02
user@host# set reth2 unit 0 family inet address 10.10.102.1/24
user@host# set reth3 redundant-ether-options redundancy-group 1
user@host# set reth3 unit 0 description To_SubSrv03
user@host# set reth3 unit 0 family inet address 10.10.103.1/24
user@host# set reth4 redundant-ether-options redundancy-group 1
user@host# set reth4 unit 0 description To_SubSrv04
user@host# set reth4 unit 0 family inet address 10.10.104.1/24
Results
985
From configuration mode, confirm your configuration by entering the show interfaces, show chassis
cluster, and show security commands. If the output does not display the intended configuration, repeat
the instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
reth1 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
description To_SubSrv01;
family inet {
address 10.10.101.1/24;
}
}
}
reth2 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
description To_SubSrv02;
family inet {
address 10.10.102.1/24;
}
}
}
reth3 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
description To_SubSrv03;
family inet {
address 10.10.103.1/24;
}
}
}
reth4 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
description To_SubSrv04;
986
family inet {
address 10.10.104.1/24;
}
}
}
[edit]
user@host# show chassis cluster
reth-count 5;
redundancy-group 1 {
node 0 priority 254;
node 1 priority 1;
}
redundancy-group 0 {
node 0 priority 254;
node 1 priority 1;
}
[edit]
user@host# show security
group-vpn {
server {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
authentication-algorithm sha-256;
dh-group group14;
encryption-algorithm aes-256-cbc;
}
policy SubSrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway SubSrv01 {
ike-policy SubSrv;
address 10.16.101.1;
dead-peer-detection always-send;
local-address 10.10.101.1;
}
gateway SubSrv02 {
ike-policy SubSrv;
address 10.16.102.1;
dead-peer-detection always-send;
local-address 10.10.102.1;
}
987
gateway SubSrv03 {
ike-policy SubSrv;
address 10.16.103.1;
dead-peer-detection always-send;
local-address 10.10.103.1;
}
gateway SubSrv04 {
ike-policy SubSrv;
address 10.16.104.1;
dead-peer-detection always-send;
local-address 10.10.104.1;
}
}
ipsec {
proposal AES256-SHA256-L3600 {
authentication-algorithm hmac-sha-256-128;
encryption-algorithm aes-256-cbc;
lifetime-seconds 3600;
}
}
group GROUP_ID-0001 {
group-id 1;
member-threshold 2000;
server-cluster {
server-role root-server;
ike-gateway SubSrv01;
ike-gateway SubSrv02;
ike-gateway SubSrv03;
ike-gateway SubSrv04;
retransmission-period 10;
}
anti-replay-time-window 1000;
server-member-communication {
communication-type unicast;
lifetime-seconds 7200;
encryption-algorithm aes-256-cbc;
sig-hash-algorithm sha-256;
}
ipsec-sa GROUP_ID-0001 {
proposal AES256-SHA256-L3600;
match-policy 1 {
source 172.16.0.0/12;
destination 172.16.0.0/12;
protocol 0;
988
}
}
}
}
}
policies {
global {
policy 1000 {
match {
source-address any;
destination-address any;
application any;
from-zone any;
to-zone any;
}
then {
deny;
log {
session-init;
}
count;
}
}
}
default-policy {
deny-all;
}
}
zones {
security-zone GROUPVPN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
reth1.0;
reth2.0;
reth3.0;
reth4.0;
}
}
989
If you are done configuring the device, enter commit from configuration mode.
Configuring Sub-Server 1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 description To_RootSrv
user@host# set ge-0/0/0 unit 0 family inet address 10.16.101.1/24
user@host# set ge-0/0/1 unit 0 description To_WAN
user@host# set ge-0/0/1 unit 0 family inet address 10.17.101.1/24
Results
From configuration mode, confirm your configuration by entering the show interfacesand show security
commands. If the output does not display the intended configuration, repeat the instructions in this example
to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
description To_RootSrv;
family inet {
address 10.16.101.1/24;
}
}
}
ge-0/0/1 {
unit 0 {
description To_WAN;
family inet {
address 10.17.101.1/24;
}
}
}
[edit]
user@host# show security
994
group-vpn {
server {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
authentication-algorithm sha-256;
dh-group group14;
encryption-algorithm aes-256-cbc;
}
policy RootSrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
policy GMs {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123$ABC123"; ## SECRET-DATA
}
gateway RootSrv {
ike-policy RootSrv;
address 10.10.101.1;
dead-peer-detection always-send;
local-address 10.16.101.1;
}
gateway GM-0001 {
ike-policy GMs;
address 10.18.101.1;
local-address 10.17.101.1;
}
gateway GM-0002 {
ike-policy GMs;
address 10.18.102.1;
local-address 10.17.101.1;
}
gateway GM-0003 {
ike-policy GMs;
address 10.18.103.1;
local-address 10.17.101.1;
}
gateway GM-0004 {
ike-policy GMs;
address 10.18.104.1;
local-address 10.17.101.1;
995
}
}
ipsec {
proposal AES256-SHA256-L3600 {
authentication-algorithm hmac-sha-256-128;
encryption-algorithm aes-256-cbc;
lifetime-seconds 3600;
}
}
group GROUP_ID-0001 {
group-id 1;
member-threshold 2000;
server-cluster {
server-role sub-server;
ike-gateway RootSrv;
retransmission-period 10;
}
ike-gateway GM-0001;
ike-gateway GM-0002;
ike-gateway GM-0003;
ike-gateway GM-0004;
anti-replay-time-window 1000;
server-member-communication {
communication-type unicast;
lifetime-seconds 7200;
encryption-algorithm aes-256-cbc;
sig-hash-algorithm sha-256;
}
ipsec-sa GROUP_ID-0001 {
proposal AES256-SHA256-L3600;
match-policy 1 {
source 172.16.0.0/12;
destination 172.16.0.0/12;
protocol 0;
}
}
}
}
}
policies {
global {
policy 1000 {
match {
source-address any;
996
destination-address any;
application any;
from-zone any;
to-zone any;
}
then {
deny;
log {
session-init;
}
count;
}
}
}
default-policy {
deny-all;
}
}
zones {
security-zone GROUPVPN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/0.0;
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Sub-Server 2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 description To_RootSrv
user@host# set ge-0/0/0 unit 0 family inet address 10.16.102.1/24
user@host# set ge-0/0/1 unit 0 description To_WAN
user@host# set ge-0/0/1 unit 0 family inet address 10.17.102.1/24
Results
From configuration mode, confirm your configuration by entering the show interfaces and show security
commands. If the output does not display the intended configuration, repeat the instructions in this example
to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
description To_RootSrv;
family inet {
address 10.16.102.1/24;
}
}
}
ge-0/0/1 {
unit 0 {
description To_WAN;
family inet {
address 10.17.102.1/24;
}
}
}
[edit]
user@host# show security
group-vpn {
server {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
authentication-algorithm sha-256;
dh-group group14;
encryption-algorithm aes-256-cbc;
}
policy RootSrv {
1002
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
policy GMs {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123$ABC123"; ## SECRET-DATA
}
gateway RootSrv {
ike-policy RootSrv;
address 10.10.102.1;
dead-peer-detection always-send;
local-address 10.16.102.1;
}
gateway GM-0001 {
ike-policy GMs;
address 10.18.101.1;
local-address 10.17.102.1;
}
gateway GM-0002 {
ike-policy GMs;
address 10.18.102.1;
local-address 10.17.102.1;
}
gateway GM-0003 {
ike-policy GMs;
address 10.18.103.1;
local-address 10.17.102.1;
}
gateway GM-0004 {
ike-policy GMs;
address 10.18.104.1;
local-address 10.17.102.1;
}
}
ipsec {
proposal AES256-SHA256-L3600 {
authentication-algorithm hmac-sha-256-128;
encryption-algorithm aes-256-cbc;
lifetime-seconds 3600;
}
}
group GROUP_ID-0001 {
1003
group-id 1;
member-threshold 2000;
server-cluster {
server-role sub-server;
ike-gateway RootSrv;
retransmission-period 10;
}
ike-gateway GM-0001;
ike-gateway GM-0002;
ike-gateway GM-0003;
ike-gateway GM-0004;
anti-replay-time-window 1000;
server-member-communication {
communication-type unicast;
lifetime-seconds 7200;
encryption-algorithm aes-256-cbc;
sig-hash-algorithm sha-256;
}
ipsec-sa GROUP_ID-0001 {
proposal AES256-SHA256-L3600;
match-policy 1 {
source 172.16.0.0/12;
destination 172.16.0.0/12;
protocol 0;
}
}
}
}
}
policies {
global {
policy 1000 {
match {
source-address any;
destination-address any;
application any;
from-zone any;
to-zone any;
}
then {
deny;
log {
session-init;
}
1004
count;
}
}
}
default-policy {
deny-all;
}
}
zones {
security-zone GROUPVPN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/0.0;
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Sub-Server 3
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 description To_RootSrv
user@host# set ge-0/0/0 unit 0 family inet address 10.16.103.1/24
user@host# set ge-0/0/1 unit 0 description To_WAN
user@host# set ge-0/0/1 unit 0 family inet address 10.17.103.1/24
Results
1009
From configuration mode, confirm your configuration by entering the show interfaces and show security
commands. If the output does not display the intended configuration, repeat the instructions in this example
to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
description To_RootSrv;
family inet {
address 10.16.103.1/24;
}
}
}
ge-0/0/1 {
unit 0 {
description To_WAN;
family inet {
address 10.17.103.1/24;
}
}
}
[edit]
user@host# show security
group-vpn {
server {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
authentication-algorithm sha-256;
dh-group group14;
encryption-algorithm aes-256-cbc;
}
policy RootSrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
policy GMs {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123$ABC123"; ## SECRET-DATA
}
gateway RootSrv {
ike-policy RootSrv;
1010
address 10.10.103.1;
dead-peer-detection always-send;
local-address 10.16.103.1;
}
gateway GM-0001 {
ike-policy GMs;
address 10.18.101.1;
local-address 10.17.103.1;
}
gateway GM-0002 {
ike-policy GMs;
address 10.18.102.1;
local-address 10.17.103.1;
}
gateway GM-0003 {
ike-policy GMs;
address 10.18.103.1;
local-address 10.17.103.1;
}
gateway GM-0004 {
ike-policy GMs;
address 10.18.104.1;
local-address 10.17.103.1;
}
}
ipsec {
proposal AES256-SHA256-L3600 {
authentication-algorithm hmac-sha-256-128;
encryption-algorithm aes-256-cbc;
lifetime-seconds 3600;
}
}
group GROUP_ID-0001 {
group-id 1;
member-threshold 2000;
server-cluster {
server-role sub-server;
ike-gateway RootSrv;
retransmission-period 10;
}
ike-gateway GM-0001;
ike-gateway GM-0002;
ike-gateway GM-0003;
ike-gateway GM-0004;
1011
anti-replay-time-window 1000;
server-member-communication {
communication-type unicast;
lifetime-seconds 7200;
encryption-algorithm aes-256-cbc;
sig-hash-algorithm sha-256;
}
ipsec-sa GROUP_ID-0001 {
proposal AES256-SHA256-L3600;
match-policy 1 {
source 172.16.0.0/12;
destination 172.16.0.0/12;
protocol 0;
}
}
}
}
}
policies {
global {
policy 1000 {
match {
source-address any;
destination-address any;
application any;
from-zone any;
to-zone any;
}
then {
deny;
log {
session-init;
}
count;
}
}
}
default-policy {
deny-all;
}
}
zones {
security-zone GROUPVPN {
host-inbound-traffic {
1012
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/0.0;
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Sub-Server 4
set security group-vpn server group GROUP_ID-0001 ipsec-sa GROUP_ID-0001 match-policy 1 source
172.16.0.0/12
set security group-vpn server group GROUP_ID-0001 ipsec-sa GROUP_ID-0001 match-policy 1 destination
172.16.0.0/12
set security group-vpn server group GROUP_ID-0001 ipsec-sa GROUP_ID-0001 match-policy 1 protocol 0
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 description To_RootSrv
user@host# set ge-0/0/0 unit 0 family inet address 10.16.104.1/24
user@host# set ge-0/0/1 unit 0 description To_WAN
user@host# set ge-0/0/1 unit 0 family inet address 10.17.104.1/24
Results
From configuration mode, confirm your configuration by entering the show interfaces and show security
commands. If the output does not display the intended configuration, repeat the instructions in this example
to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
1017
description To_RootSrv;
family inet {
address 10.16.104.1/24;
}
}
}
ge-0/0/1 {
unit 0 {
description To_WAN;
family inet {
address 10.17.104.1/24;
}
}
}
[edit]
user@host# show security
group-vpn {
server {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
authentication-algorithm sha-256;
dh-group group14;
encryption-algorithm aes-256-cbc;
}
policy RootSrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
policy GMs {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123$ABC123"; ## SECRET-DATA
}
gateway RootSrv {
ike-policy RootSrv;
address 10.10.104.1;
dead-peer-detection always-send;
local-address 10.16.104.1;
}
gateway GM-0001 {
ike-policy GMs;
address 10.18.101.1;
1018
local-address 10.17.104.1;
}
gateway GM-0002 {
ike-policy GMs;
address 10.18.102.1;
local-address 10.17.104.1;
}
gateway GM-0003 {
ike-policy GMs;
address 10.18.103.1;
local-address 10.17.104.1;
}
gateway GM-0004 {
ike-policy GMs;
address 10.18.104.1;
local-address 10.17.104.1;
}
}
ipsec {
proposal AES256-SHA256-L3600 {
authentication-algorithm hmac-sha-256-128;
encryption-algorithm aes-256-cbc;
lifetime-seconds 3600;
}
}
group GROUP_ID-0001 {
group-id 1;
member-threshold 2000;
server-cluster {
server-role sub-server;
ike-gateway RootSrv;
retransmission-period 10;
}
ike-gateway GM-0001;
ike-gateway GM-0002;
ike-gateway GM-0003;
ike-gateway GM-0004;
anti-replay-time-window 1000;
server-member-communication {
communication-type unicast;
lifetime-seconds 7200;
encryption-algorithm aes-256-cbc;
sig-hash-algorithm sha-256;
}
1019
ipsec-sa GROUP_ID-0001 {
proposal AES256-SHA256-L3600;
match-policy 1 {
source 172.16.0.0/12;
destination 172.16.0.0/12;
protocol 0;
}
}
}
}
}
policies {
global {
policy 1000 {
match {
source-address any;
destination-address any;
application any;
from-zone any;
to-zone any;
}
then {
deny;
log {
session-init;
}
count;
}
}
}
default-policy {
deny-all;
}
}
zones {
security-zone GROUPVPN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
1020
ge-0/0/0.0;
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 description To_LAN
user@host# set ge-0/0/0 unit 0 family inet address 172.16.101.1/24
user@host# set ge-0/0/1 unit 0 description To_SubSrv
user@host# set ge-0/0/1 unit 0 family inet address 10.18.101.1/24
[edit security]
user@host# set address-book global address 172.16.0.0/12 172.16.0.0/12
[edit]
user@host# set security policies default-policy deny-all
Results
From configuration mode, confirm your configuration by entering the show interfaces and show security
commands. If the output does not display the intended configuration, repeat the instructions in this example
to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
description To_LAN;
family inet {
address 172.16.101.1/24;
}
}
}
1024
ge-0/0/1 {
unit 0 {
description To_SubSrv;
family inet {
address 10.18.101.1/24;
}
}
}
[edit]
user@host# show security
address-book {
global {
address 172.16.0.0/12 172.16.0.0/12;
}
}
group-vpn {
member {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy SubSrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123$ABC123"; ## SECRET-DATA
}
gateway SubSrv {
ike-policy SubSrv;
server-address [ 10.17.101.1 10.17.102.1 10.17.103.1 10.17.104.1 ];
local-address 10.18.101.1;
}
}
ipsec {
vpn GROUP_ID-0001 {
ike-gateway SubSrv;
group-vpn-external-interface ge-0/0/1.0;
group 1;
recovery-probe;
}
}
}
1025
}
ipsec-policy {
from-zone LAN to-zone WAN {
ipsec-group-vpn GROUP_ID-0001;
}
}
policies {
from-zone LAN to-zone WAN {
policy 1 {
match {
source-address 172.16.0.0/12;
destination-address 172.16.0.0/12;
application any;
}
then {
permit;
log {
session-init;
}
}
}
}
from-zone WAN to-zone LAN {
policy 1 {
match {
source-address 172.16.0.0/12;
destination-address 172.16.0.0/12;
application any;
}
then {
permit;
log {
session-init;
}
}
}
}
global {
policy 1000 {
match {
source-address any;
destination-address any;
application any;
from-zone any;
1026
to-zone any;
}
then {
deny;
log {
session-init;
}
count;
}
}
}
default-policy {
deny-all;
}
}
zones {
security-zone LAN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone WAN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
1027
set security group-vpn member ike policy SubSrv pre-shared-key ascii-text "$ABC123$ABC123"
set security group-vpn member ike gateway SubSrv ike-policy SubSrv
set security group-vpn member ike gateway SubSrv server-address 10.17.101.1
set security group-vpn member ike gateway SubSrv server-address 10.17.102.1
set security group-vpn member ike gateway SubSrv server-address 10.17.103.1
set security group-vpn member ike gateway SubSrv server-address 10.17.104.1
set security group-vpn member ike gateway SubSrv local-address 10.18.102.1
set security group-vpn member ipsec vpn GROUP_ID-0001 ike-gateway SubSrv
set security group-vpn member ipsec vpn GROUP_ID-0001 group-vpn-external-interface ge-0/0/1.0
set security group-vpn member ipsec vpn GROUP_ID-0001 group 1
set security group-vpn member ipsec vpn GROUP_ID-0001 recovery-probe
set security ipsec-policy from-zone LAN to-zone WAN ipsec-group-vpn GROUP_ID-0001
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set ge-0/0/0 unit 0 description To_LAN
user@host# set ge-0/0/0 unit 0 family inet address 172.16.102.1/24
user@host# set ge-0/0/1 unit 0 description To_SubSrv
user@host# set ge-0/0/1 unit 0 family inet address 10.18.102.1/24
[edit security]
user@host# set address-book global address 172.16.0.0/12 172.16.0.0/12
[edit]
user@host# set security policies default-policy deny-all
Results
From configuration mode, confirm your configuration by entering the show interfaces and show security
commands. If the output does not display the intended configuration, repeat the instructions in this example
to correct the configuration.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
description To_LAN;
family inet {
address 172.16.102.1/24;
}
}
}
ge-0/0/1 {
unit 0 {
description To_SubSrv;
family inet {
address 10.18.102.1/24;
}
}
}
[edit]
1031
match {
source-address 172.16.0.0/12;
destination-address 172.16.0.0/12;
application any;
}
then {
permit;
log {
session-init;
}
}
}
}
from-zone WAN to-zone LAN {
policy 1 {
match {
source-address 172.16.0.0/12;
destination-address 172.16.0.0/12;
application any;
}
then {
permit;
log {
session-init;
}
}
}
}
global {
policy 1000 {
match {
source-address any;
destination-address any;
application any;
from-zone any;
to-zone any;
}
then {
deny;
log {
session-init;
}
count;
}
1033
}
}
default-policy {
deny-all;
}
}
zones {
security-zone LAN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone WAN {
host-inbound-traffic {
system-services {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
set interfaces xe-0/0/1 unit 0 family inet service input service-set GROUP_ID-0001 service-filter GroupVPN-KS
set interfaces xe-0/0/1 unit 0 family inet service output service-set GROUP_ID-0001 service-filter GroupVPN-KS
1034
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set xe-0/0/1 unit 0 family inet service input service-set GROUP_ID-0001 service-filter
GroupVPN-KS
user@host# set xe-0/0/1 unit 0 family inet service output service-set GROUP_ID-0001 service-filter
GroupVPN-KS
user@host# set xe-0/0/1 unit 0 family inet address 10.18.103.1/24
user@host# set xe-0/0/2 unit 0 family inet address 172.16.103.1/24
user@host# set ms-0/2/0 unit 0 family inet
Results
From configuration mode, confirm your configuration by entering the show interfaces, show security,
show services, and show firewall commands. If the output does not display the intended configuration,
repeat the instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
xe-0/0/1 {
unit 0 {
family inet {
service {
input {
service-set GROUP_ID-0001 service-filter GroupVPN-KS;
}
output {
service-set GROUP_ID-0001 service-filter GroupVPN-KS;
}
}
address 10.18.103.1/24;
}
}
1037
}
xe-0/0/2 {
unit 0 {
family inet {
address 172.16.103.1/24;
}
}
}
ms-0/2/0 {
unit 0 {
family inet;
}
}
[edit]
user@host# show security
group-vpn {
member {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy SubSrv {
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text "$ABC123$ABC123"; ## SECRET-DATA
}
gateway SubSrv {
ike-policy SubSrv;
server-address [ 10.17.101.1 10.17.102.1 10.17.103.1 10.17.104.1 ];
local-address 10.18.103.1;
}
}
ipsec {
vpn GROUP_ID-0001 {
ike-gateway SubSrv;
group 1;
match-direction output;
tunnel-mtu 1400;
df-bit clear;
}
}
1038
}
}
[edit]
user@host# show services
service-set GROUP_ID-0001 {
interface-service {
service-interface ms-0/2/0.0;
}
ipsec-group-vpn GROUP_ID-0001;
}
[edit]
user@host# show firewall
family inet {
service-filter GroupVPN-KS {
term inbound-ks {
from {
source-address {
10.17.101.1/32;
10.17.102.1/32;
10.17.103.1/32;
10.17.104.1/32;
}
}
then skip;
}
term outbound-ks {
from {
destination-address {
10.17.101.1/32;
10.17.102.1/32;
10.17.103.1/32;
10.17.104.1/32;
}
}
then skip;
}
term GROUP_ID-0001 {
from {
source-address {
172.16.0.0/12;
}
destination-address {
172.16.0.0/12;
}
1039
}
then service;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
set interfaces xe-0/0/1 unit 0 family inet service input service-set GROUP_ID-0001 service-filter GroupVPN-KS
set interfaces xe-0/0/1 unit 0 family inet service output service-set GROUP_ID-0001 service-filter GroupVPN-KS
set interfaces xe-0/0/1 unit 0 family inet address 10.18.104.1/24
set interfaces xe-0/0/2 unit 0 family inet address 172.16.104.1/24
set interfaces ms-0/2/0 unit 0 family inet
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 authentication-method pre-shared-keys
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 dh-group group14
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 authentication-algorithm sha-256
set security group-vpn member ike proposal PSK-SHA256-DH14-AES256 encryption-algorithm aes-256-cbc
set security group-vpn member ike policy SubSrv mode main
set security group-vpn member ike policy SubSrv proposals PSK-SHA256-DH14-AES256
set security group-vpn member ike policy SubSrv pre-shared-key ascii-text "$ABC123$ABC123"
set security group-vpn member ike gateway SubSrv ike-policy SubSrv
set security group-vpn member ike gateway SubSrv server-address 10.17.101.1
set security group-vpn member ike gateway SubSrv server-address 10.17.102.1
set security group-vpn member ike gateway SubSrv server-address 10.17.103.1
set security group-vpn member ike gateway SubSrv server-address 10.17.104.1
set security group-vpn member ike gateway SubSrv local-address 10.18.104.1
set security group-vpn member ipsec vpn GROUP_ID-0001 ike-gateway SubSrv
set security group-vpn member ipsec vpn GROUP_ID-0001 group 1
set security group-vpn member ipsec vpn GROUP_ID-0001 match-direction output
set security group-vpn member ipsec vpn GROUP_ID-0001 tunnel-mtu 1400
set security group-vpn member ipsec vpn GROUP_ID-0001 df-bit clear
set firewall family inet service-filter GroupVPN-KS term inbound-ks from source-address 10.17.101.1/32
set firewall family inet service-filter GroupVPN-KS term inbound-ks from source-address 10.17.102.1/32
set firewall family inet service-filter GroupVPN-KS term inbound-ks from source-address 10.17.103.1/32
set firewall family inet service-filter GroupVPN-KS term inbound-ks from source-address 10.17.104.1/32
set firewall family inet service-filter GroupVPN-KS term inbound-ks then skip
set firewall family inet service-filter GroupVPN-KS term outbound-ks from destination-address 10.17.101.1/32
1040
set firewall family inet service-filter GroupVPN-KS term outbound-ks from destination-address 10.17.102.1/32
set firewall family inet service-filter GroupVPN-KS term outbound-ks from destination-address 10.17.103.1/32
set firewall family inet service-filter GroupVPN-KS term outbound-ks from destination-address 10.17.104.1/32
set firewall family inet service-filter GroupVPN-KS term outbound-ks then skip
set firewall family inet service-filter GroupVPN-KS term GROUP_ID-0001 from source-address 172.16.0.0/12
set firewall family inet service-filter GroupVPN-KS term GROUP_ID-0001 from destination-address 172.16.0.0/12
set firewall family inet service-filter GroupVPN-KS term GROUP_ID-0001 then service
set services service-set GROUP_ID-0001 interface-service service-interface ms-0/2/0.0
set services service-set GROUP_ID-0001 ipsec-group-vpn GROUP_ID-0001
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit interfaces]
user@host# set xe-0/0/1 unit 0 family inet service input service-set GROUP_ID-0001 service-filter
GroupVPN-KS
user@host# set xe-0/0/1 unit 0 family inet service output service-set GROUP_ID-0001 service-filter
GroupVPN-KS
user@host# set xe-0/0/1 unit 0 family inet address 10.18.104.1/24
user@host# set xe-0/0/2 unit 0 family inet address 172.16.104.1/24
user@host# set ms-0/2/0 unit 0 family inet
Results
1042
From configuration mode, confirm your configuration by entering the show interfaces, show security,
show services, and show firewall commands. If the output does not display the intended configuration,
repeat the instructions in this example to correct the configuration.
[edit]
user@host# show interfaces
xe-0/0/1 {
unit 0 {
family inet {
service {
input {
service-set GROUP_ID-0001 service-filter GroupVPN-KS;
}
output {
service-set GROUP_ID-0001 service-filter GroupVPN-KS;
}
}
address 10.18.104.1/24;
}
}
}
xe-0/0/2 {
unit 0 {
family inet {
address 172.16.104.1/24;
}
}
}
ms-0/2/0 {
unit 0 {
family inet;
}
}
[edit]
user@host# show security
group-vpn {
member {
ike {
proposal PSK-SHA256-DH14-AES256 {
authentication-method pre-shared-keys;
dh-group group14;
authentication-algorithm sha-256;
encryption-algorithm aes-256-cbc;
}
policy SubSrv {
1043
mode main;
proposals PSK-SHA256-DH14-AES256;
pre-shared-key ascii-text ""$ABC123$ABC123"; ## SECRET-DATA
}
gateway SubSrv {
ike-policy SubSrv;
server-address [ 10.17.101.1 10.17.102.1 10.17.103.1 10.17.104.1 ];
local-address 10.18.104.1;
}
}
ipsec {
vpn GROUP_ID-0001 {
ike-gateway SubSrv;
group 1;
match-direction output;
tunnel-mtu 1400;
df-bit clear;
}
}
}
}
[edit]
user@host# show services
service-set GROUP_ID-0001 {
interface-service {
service-interface ms-0/2/0.0;
}
ipsec-group-vpn GROUP_ID-0001;
}
[edit]
user@host# show firewall
family inet {
service-filter GroupVPN-KS {
term inbound-ks {
from {
source-address {
10.17.101.1/32;
10.17.102.1/32;
10.17.103.1/32;
10.17.104.1/32;
}
}
then skip;
}
1044
term outbound-ks {
from {
destination-address {
10.17.101.1/32;
10.17.102.1/32;
10.17.103.1/32;
10.17.104.1/32;
}
}
then skip;
}
term GROUP_ID-0001 {
from {
source-address {
172.16.0.0/12;
}
destination-address {
172.16.0.0/12;
}
}
then service;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that devices in the server cluster recognize peer servers in the group. Ensure that the servers are
active and roles in the cluster are properly assigned.
Action
From operational mode, enter the show security group-vpn server server-cluster, show security group-vpn
server server-cluster detail, and show security group-vpn server statistics commands on the root-server.
Push Acknowledged : 0
Push Unacknowledged : 0
From operational mode, enter the show security group-vpn server server-cluster, show security group-vpn
server server-cluster detail, and show security group-vpn server statistics commands on each sub-server.
Purpose
Verify that the sub-servers have received SAs for distribution to group members and the group members
have received the SAs.
Action
From operational mode, enter the show security group-vpn server kek security-associations and show
security group-vpn server kek security-associations detail commands on the root-server.
Input bytes : 0
Output bytes : 0
Input packets: 0
Output packets: 0
Server Member Communication: Unicast
Retransmission Period: 10, Number of Retransmissions: 2
Group Key Push sequence number: 0
From operational mode, enter the show security group-vpn server kek security-associations and show
security group-vpn server kek security-associations detail commands on each sub-server.
From operational mode, enter the show security group-vpn member kek security-associations and show
security group-vpn member kek security-associations detail commands on each group member.
Algorithms:
Sig-hash : hmac-sha256-128
Encryption : aes256-cbc
Traffic statistics:
Input bytes : 0
Output bytes : 0
Input packets: 0
Output packets: 0
Stats:
Push received : 0
Delete received : 0
Algorithms:
Sig-hash : hmac-sha256-128
Encryption : aes256-cbc
Traffic statistics:
Input bytes : 0
Output bytes : 0
Input packets: 0
Output packets: 0
Stats:
Push received : 0
Delete received : 0
Purpose
Display IKE security associations (SAs) on the servers.
Action
From operational mode, enter the show security group-vpn server ike security-associations and show
security group-vpn server ike security-associations detail commands on the root-server.
From operational mode, enter the show security group-vpn server ike security-associations and show
security group-vpn server ike security-associations detail commands on each sub-server.
Purpose
Display IPsec security associations (SAs) on the servers and group members.
Action
From operational mode, enter the show security group-vpn server ipsec security-associations and show
security group-vpn server ipsec security-associations detail commands on the root-server.
From operational mode, enter the show security group-vpn server ipsec security-associations and show
security group-vpn server ipsec security-associations detail commands on each sub-server.
Source: 172.16.0.0/12
Destination: 172.16.0.0/12
Source Port: 0
Destination Port: 0
Protocol: 0
From operational mode, enter the show security group-vpn member ipsec security-associations and show
security group-vpn member ipsec security-associations detail commands on each group member
Purpose
Display the IPsec policy on an SRX or vSRX group member.
Action
From operational mode, enter the show security group-vpn member policy command on SRX or vSRX
group members.
SEE ALSO
RELATED DOCUMENTATION
Remote Access VPNs with NCP Exclusive Remote Access Client | 1060
IN THIS SECTION
Understanding IPsec VPNs with NCP Exclusive Remote Access Client | 1060
Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access Client | 1065
Example: Configuring the SRX Series Device for NCP Exclusive Remote Access Clients | 1068
The NCP Exclusive Remote Access Client is part of the NCP Exclusive Remote Access solution for Juniper
SRX Series Gateways. The VPN client is only available with NCP Exclusive Remote Access Management.
Use the NCP Exclusive Client to establish secure, IPsec -based data links from any location when connected
with SRX Series Gateways.
IN THIS SECTION
Licensing | 1061
AutoVPN | 1061
Caveats | 1064
This section describes IPsec VPN support on SRX Series devices for NCP Exclusive Remote Access Client
software.
1061
Users running NCP Exclusive Remote Access Client software on Windows and MAC OS devices can
establish IKEv1 or IKEv2 IPsec VPN connections with SRX Series devices. NCP Exclusive Remote Access
Client software is available for download at https://www.ncp-e.com/ncp-exclusive-remote-access-client/.
Licensing
A two-user license is supplied by default on an SRX Series device. A license is required for additional users.
Contact your Juniper Networks representative for all remote access licensing.
Licensing is based on the number of users. For example, if the number of licenses installed is for 100 users,
then 100 different users can establish VPN connections. Because of traffic selectors, each user can establish
multiple tunnels. When a user disconnects, their license is released one minute after the IKE and IPsec
security associations (SAs) expire.
License enforcement is verified only after Phase 2 negotiation is completed. This means that a remote
access user can connect to the SRX Series device and IKE and IPsec SAs can be established, but if the user
exceeds the licensed user limit, the user is disconnected.
Licensing for vSRX instances is subscription-based: connected remote access users are not disconnected
immediately when an installed license expires. When a remote access user disconnects and the
corresponding IKE and IPsec SAs expire, subsequent reconnection of the user depends on whether the
currently installed license is expired or not.
AutoVPN
The NCP Exclusive Remote Access Client is supported with AutoVPN in point-to-point secure tunnel
interface mode. AutoVPN is only supported on route-based IPsec VPNs on the SRX Series device.
Traffic Selectors
Traffic selectors configured on the SRX Series device and the NCP client determine the client traffic that
is sent through the IPsec VPN tunnel. Traffic in and out of the tunnel is allowed only for the negotiated
traffic selectors. If the route lookup for a packet’s destination address points to an st0 interface (on which
traffic selectors are configured) and the packet’s traffic selector does not match the negotiated traffic
selector, the packet is dropped. Multiple Phase 2 IPsec SAs and auto route insertion (ARI) are supported
with the NCP Exclusive Remote Access Client. Traffic selector flexible match with port and protocols is
not supported. For this feature, the remote address of the traffic selector must be 0.0.0.0/0.
In many cases, all traffic from remote access clients is sent through VPN tunnels. The local address
configured in the traffic selector can be 0.0.0.0/0 or a specific address, as explained in the next sections.
1062
Configuring a traffic selector on the SRX Series device with the remote address 0.0.0.0/0 is supported for
NCP Exclusive Remote Access Client connections. After VPN negotiation is completed, the remote address
for the traffic selector is expected to be a single IP address (the address of the remote access client assigned
by either a RADIUS server or the local address pool).
Split Tunneling
Split tunneling uses a shorter prefix than 0.0.0.0/0 as the protected resource’s address for the local address
in a traffic selector configured on the SRX Series device. A corresponding traffic selector can be configured
on the remote access client. The SRX Series device allows traffic on the VPN tunnel that matches the
results of the flexible match from both traffic selectors. If the traffic selector configured on the remote
access client cannot be matched with the traffic selector configured on the SRX Series device, tunnel
negotiation fails. For IKEv1, the local and remote addresses in the client's traffic selector configuration
must be the same addresses or a subset of the addresses in the corresponding traffic selector configured
on the SRX Series device.
Multiple Subnetworks
On the SRX Series device, one traffic selector can be configured for each protected subnetwork.
Subnetworks cannot overlap. On the NCP Exclusive Remote Access Client, one traffic selector must be
configured for each traffic selector configured on the SRX Series device. Addresses that are configured in
the split tunnel window of the NCP Exclusive Remote Access Client are used as the client's remote traffic
selector; these addresses must be the same addresses or a subset of the addresses in the corresponding
traffic selector configured on the SRX Series device. One IPsec SA pair is created for each traffic selector.
There are two forms of extended authentication of the NCP Exclusive Remote Access Client, depending
on the IKE version of the client:
• IKEv1 NCP Exclusive Remote Access Client authentication is supported with XAuth using either a RADIUS
server or a local access profile. For IKEv1 remote access connections, preshared keys are used for IKE
Phase 1 authentication. Extended Authentication (XAuth) is used to authenticate the remote access
user. The SRX Series device must be configured for IKE aggressive mode.
For the IKEv1 NCP Exclusive Remote Access Client, preshared key authentication is supported with
AutoVPN. For AutoVPN deployments that do not use user-based authentication, only certificate
authentication is supported.
• IKEv2 NCP Exclusive Remote Access Client authentication requires a RADIUS server that supports EAP.
The SRX Series device acts as a pass-through authenticator to relay EAP messages between the NCP
Exclusive Remote Access Client and the RADIUS server. The following EAP authentication types are
supported:
• EAP-MSCHAPv2
A master session key must be generated by the RADIUS server for EAP-MSCHAPv2.
• EAP-MD5
1063
• EAP-TLS
For the IKEv2 NCP Exclusive Remote Access Client, a digital certificate is used to authenticate the SRX
Series device. Extensible Authentication Protocol (EAP) is used to authenticate the remote access client.
Attribute Assignment
For IKEv1 or IKEv2 remote access clients, attributes can be assigned through a RADIUS server or through
local network attributes configuration. If a RADIUS server is used for authentication but no network
attributes are assigned, network attributes (including IP addresses) can be configured locally if needed.
The following client attributes are based on RFC 2865, Virtual Private Networks Identifier, and are supported
with IKEv1 and IKEv2 NCP Exclusive Remote Access Client:
• Framed-IP-Address
• Framed-IP-Netmask
The following Juniper vendor-specific attributes (VSAs) are supported with IKEv1 and IKEv2 NCP Exclusive
Remote Access Client:
• Juniper-Primary-DNS
• Juniper-Primary-Wins
IP Address Assignment
If an IP address is allocated from both a local address pool and by a RADIUS server, the IP address allocated
by the RADIUS server takes precedence. If the RADIUS server does not return an IP address and there is
a user-configured local address pool, an IP address is assigned to the remote client from the local pool.
The number of addresses in the local address pool or RADIUS server address pool should be larger than
the number of remote access client users. This is because when a user disconnects, it can take up to one
minute for the user to be logged off.
When an IP address is assigned from an external RADIUS server or a local address pool, an IP address with
a 32-bit mask is passed to the NCP Exclusive Remote Access Client. After the tunnel is established, auto
route insertion (ARI) automatically inserts a static route to the remote client’s IP address so that traffic
from behind the SRX Series device can be sent into the VPN tunnel to the client’s IP address.
The configured traffic selectors might not cover the IP addresses allocated by the RADIUS server or a local
address pool. In this case, a remote client may not be able to reach an IP address for another remote client
1064
in the subnetwork through a VPN tunnel. A traffic selector must be explicitly configured that matches the
IP address allocated to the other remote client by the RADIUS server or local address pool.
Supported Features
The following features are supported on the SRX Series device with the NCP Exclusive Remote Access
Client:
• Traffic initiation from the SRX Series device as well as the NCP Exclusive Remote Access Client
Caveats
The following features are not supported on the SRX Series device with the NCP Exclusive Remote Access
Client:
• Routing protocols
The IKEv2 NCP Exclusive Remote Access Client must use certificates for authenticating the SRX Series
device.
• Policy-based VPN
• IPv6 traffic
• VPN monitoring
• Traffic selectors received from the NCP Exclusive Remote Access Client in the same virtual router must
not contain overlapping IP addresses
SEE ALSO
IN THIS SECTION
Benefits of SSL Remote Access VPNs with NCP Exclusive Remote Access Client | 1065
Licensing | 1066
Operation | 1066
Caveats | 1067
In many public hotspot environments, UDP traffic is blocked while TCP connections over port 443 are
normally allowed. For these environments, SRX Series devices can support SSL Remote Access VPNs by
encapsulating IPsec messages within a TCP connection. This implementation is compatible with the
third-party NCP Exclusive Remote Access Client. This section describes the support for NCP Exclusive
Remote Access Client on SRX Series devices.
Benefits of SSL Remote Access VPNs with NCP Exclusive Remote Access Client
• Secure remote access is ensured even when a device between the client and the gateway blocks Internet
Key Exchange (IKE) (UDP port 500).
• Users retain secure access to business applications and resources in all working environments.
Users running NCP Exclusive Remote Access Client software on Windows, macOS, Apple iOS, and Android
devices can establish TCP connections over port 443 with SRX Series devices to exchange encapsulated
IPsec traffic.
NCP Exclusive Remote Access Client runs in either of the two following modes:
• NCP Path Finder v1, which supports IPsec messages encapsulated within a TCP connection over port
443
• NCP Path Finder v2, which supports IPsec messages with an SSL/TLS connection (NCP Path Finder v2
uses TLSv1.0.)
1066
A proper SSL handshake takes place using RSA certificates. IPsec messages are encrypted with keys
exchanged during the SSL handshake. This results in double encryption, once for the SSL tunnel and again
for the IPsec tunnel.
For NCP Path Finder v2 mode support, RSA certificates have to be loaded on the SRX Series device and
an SSL termination profile that references the certificate must be configured.
The NCP Exclusive Remote Access Client provides a fallback mechanism in case regular IPsec connection
attempts fail due to firewall or proxy servers blocking the IPsec traffic. The NCP Path Finder v2 mode is
an enhancement offering full TLS communication, which will not be blocked by highly restrictive application
level firewall or proxies. If a regular IPsec connection cannot be established, then the NCP Exclusive Remote
Access Client will automatically switch to NCP Path Finder v1 mode. If the client still cannot get through
to the gateway, NCP will enable NCP Path Finder v2 mode using the full TLS negotiation.
Licensing
A two-user license is supplied by default on an SRX Series device. A license must be purchased and installed
for additional concurrent users.
Operation
On an SRX Series device, a TCP encapsulation profile defines the data encapsulation operation for remote
access clients. Multiple TCP encapsulation profiles can be configured to handle different sets of clients.
For each profile, the following information is configured:
• Tracing options.
TCP connections from NCP Exclusive Remote Access Client are accepted on port 443 on the SRX Series
device.
The TCP encapsulation profile is configured with the tcp-encap statement at the [edit security] hierarchy
level. The encapsulation profile is then specified with the tcp-encap-profile statement at the [edit security
ike gateway gateway-name] hierarchy level. You include the TCP encapsulation profile in the IKE gateway
configuration. For example:
Supported Features
The following features are supported on an SRX Series device with NCP Exclusive Remote Access Client:
• Traffic initiation from devices behind the gateway on an SRX Series device
Caveats
TCP connections from NCP Exclusive Remote Access Clients use port 443 on SRX Series devices. The
J-Web device management port should be changed from default port 443, tcp-encap must be configured
for host-inbound system services. Use the set security zones security-zone zone host-inbound-traffic
system-services tcp-encap command. (IKE must also be configured for host-inbound system services using
the set security zones security-zone zone host-inbound-traffic system-services ike command.)
NCP Exclusive Remote Access Clients and J-Web connections cannot use the same TCP port 443.
Tunnels that use TCP connections might not survive ISSU if the dead peer detection (DPD) timeout is not
large enough. To survive ISSU, increase the DPD timeout to a value greater than 120 seconds. The DPD
timeout is a product of the configured DPD interval and threshold. For example, if the DPD interval is 32
and the threshold is 4, the timeout is 128.
The default DPD settings on the NCP Exclusive Remote Access Client specify sending messages at
20-second intervals for a maximum of eight times. When chassis cluster failover occurs, the SRX Series
devices might not recover within the parameters specified by the DPD settings and the tunnel goes down.
In this case, increase the DPD interval on the NCP Exclusive Remote Access Client to 60 seconds.
NAT-T is disabled during negotiation with clients where the configuration uses tcp-encap, because NAT-T
is not required for these tunnels.
The following features are not supported on an SRX Series device with NCP Exclusive Remote Access
Clients:
• Routing protocols
• Policy-based VPN
• IPv6 traffic
• VPN monitoring
SEE ALSO
tcp-encap | 1421
Example: Configuring the SRX Series Device for NCP Exclusive Remote
Access Clients
IN THIS SECTION
Requirements | 1068
Overview | 1069
Configuration | 1071
Verification | 1082
This example shows how to configure an SRX Series device or a vSRX instance to support IKEv2 IPsec
VPN connections from NCP Exclusive Remote Access Clients. The configuration also supports TCP
encapsulated traffic from NCP Exclusive Remote Access Clients.
Requirements
• Supported SRX Series device or vSRX instance running Junos OS Release 15.1X49-D80 or later.
• NCP Exclusive Remote Access Client software must be downloaded on supported user devices.
A two-user license is supplied by default on an SRX Series device. A license must be purchased and installed
for additional users. Contact your Juniper Networks representative for all remote access licensing
1069
TCP connections from NCP Exclusive Remote Access Clients use port 443 on SRX Series devices. Device
management on TCP connections, such as J-Web, can use port 443 on SRX Series devices. TCP
encapsulation system service must be configured for host inbound traffic on the zone in which NCP
Exclusive Remote Access Client connections are received (the untrust zone in this example). If J-Web
is used on port 443, Web management system service must be configured for host inbound traffic on
the required zone.
• Configure the NCP Exclusive Remote Access Client. See the documentation for the NCP Exclusive
Remote Access Client for information on how to do this.
The configuration of the NCP Exclusive Remote Access Client profile must match the VPN configuration
on the SRX Series device.
• In this example, an external RADIUS server (such as an Active Directory server) authenticates IKEv2
Exclusive Remote Access Client users using the EAP-TLS protocol. In this example, the RADIUS server
is configured with the IP address 192.0.2.12. See your RADIUS server documentation for information
on configuring user authentication.
Overview
In this example, IKEv2 Exclusive Remote Access Client users are authenticated with an external RADIUS
server using EAP-TLS. An authenticated client is assigned an IP address and a primary DNS server from a
local address pool configured on the SRX Series device. The traffic selector is configured with 0.0.0.0/0
for the remote and local addresses, which means that any traffic is permitted on the tunnel.
TCP encapsulation and IKE host inbound system services are configured on the untrust security zone. If
J-Web is used on port 443, HTTPS host inbound system service should also be configured.
In this example, the security policies permit all traffic. More restrictive security policies should be configured
for production environments.
Table 92 on page 1069 shows the IKE and IPSec values configured on the SRX Series device to support NCP
Exclusive Remote Access Client connections in this example.
Table 92: IKE and IPSec Options on the SRX Series Device for NCP Exclusive Remote Access Client
Connections
Option Value
IKE proposal:
Table 92: IKE and IPSec Options on the SRX Series Device for NCP Exclusive Remote Access Client
Connections (continued)
Option Value
IKE policy:
Certificate local-certificate
IKE gateway:
Dynamic user-at-hostname
Version v2-only
IPsec proposal:
Protocol esp
IPsec policy:
Topology
Figure 60 on page 1071 shows the network connections in this example.
1071
Figure 60: NCP Exclusive Remote Client Connection to the SRX Series VPN Gateway
RADIUS
Server
Trust Zone
192.0.2.12
ge-0/0/2.0
192.0.2.3/24
Untrust Zone
ge-0/0/1.0 INTERNET
203.0.113.1/24
st0.0
SRX Series
Gateway VPN Zone
[email protected]
g200033
IP Address Pool:
198.51.100.10 - 198.51.100.254
Configuration
IN THIS SECTION
Step-by-Step Procedure
In this example, the first step is to enroll a certificate authority (CA) certificate and a local certificate in the
SRX Series device. The local certificate is used to authenticate the SRX Series device to remote clients
using a Microsoft Certificate Authority. Else the URL below will be different. Keep in mind that below
example require the CA server to support SCEP.
The configuration of the CA profile depends on the CA server used. In this example, CRL is used to
check certificate revocation. Use the appropriate enrollment and CRL URLs for your environment.
[edit]
user@host# set security pki ca-profile CA_Server ca-identity CA_Server
user@host# set security pki ca-profile CA_Server enrollment url http://192.0.2.12/certsrv/mscep/mscep.dll
user@host# set security pki ca-profile CA_Server revocation-check crl url http://192.0.2.12/crl
1072
user@host$ commit
Type yes at the prompt to load the CA certificate, if the value is trusted.
user@host> request security pki generate-key-pair certificate-id RemoteAccessNCP size 2048 bytes type
rsa
5. Enroll the local certificate. In this example, the certificate is enrolled using Simple Certificate Enrollment
Protocol (SCEP).
user@host> request security pki local-certificate enroll scep ca-profile CA_Server certificate-id
RemoteAccessNCP domain-name example.net subject
DC=example.net,L=Sunnyvale,O=example,OU=example challenge-password <password>
set access address-assignment pool RA_LOCAL-IP-POOL family inet range REMOTEACCESS low 198.51.100.10
set access address-assignment pool RA_LOCAL-IP-POOL family inet range REMOTEACCESS high 198.51.100.254
set access address-assignment pool RA_LOCAL-IP-POOL family inet xauth-attributes primary-dns 192.0.2.12/32
set access profile RA_EXTERNAL-AUTH authentication-order radius
set access profile RA_EXTERNAL-AUTH address-assignment pool RA_LOCAL-IP-POOL
set access profile RA_EXTERNAL-AUTH radius-server 192.0.2.12 secret "$ABC123"
set security tcp-encap profile NCP
set services ssl termination profile RemoteAccess server-certificate RemoteAccessNCP
set security tcp-encap profile NCP ssl-profile RemoteAccess
set interfaces ge-0/0/1 unit 0 family inet address 203.0.113.1/24
set interfaces ge-0/0/2 unit 0 family inet address 192.0.2.3/24
set interfaces st0 unit 0 family inet
set security ike proposal CERT-DH19-AES256GCM authentication-method rsa-signatures
set security ike proposal CERT-DH19-AES256GCM dh-group group19
set security ike proposal CERT-DH19-AES256GCM encryption-algorithm aes-256-gcm
set security ike policy RA_IKEv2_EXT-AUTH proposals CERT-DH19-AES256GCM
set security ike policy RA_IKEv2_EXT-AUTH certificate local-certificate RemoteAccessNCP
set security ike gateway RA_IKEv2_EXT-AUTH ike-policy RA_IKEv2_EXT-AUTH
set security ike gateway RA_IKEv2_EXT-AUTH dynamic user-at-hostname "[email protected]"
set security ike gateway RA_IKEv2_EXT-AUTH dynamic ike-user-type group-ike-id
set security ike gateway RA_IKEv2_EXT-AUTH external-interface ge-0/0/1.0
set security ike gateway RA_IKEv2_EXT-AUTH aaa access-profile RA_EXTERNAL-AUTH
set security ike gateway RA_IKEv2_EXT-AUTH version v2-only
set security ike gateway RA_IKEv2_EXT-AUTH tcp-encap-profile NCP
set security ipsec proposal ESP-AES256GCM protocol esp
set security ipsec proposal ESP-AES256GCM encryption-algorithm aes-256-gcm
set security ipsec policy RemoteAccess perfect-forward-secrecy keys group19
set security ipsec policy RemoteAccess proposals ESP-AES256GCM
set security ipsec vpn RA_IKEv2_EXT-AUTH bind-interface st0.0
set security ipsec vpn RA_IKEv2_EXT-AUTH ike gateway RA_IKEv2_EXT-AUTH
set security ipsec vpn RA_IKEv2_EXT-AUTH ike ipsec-policy RemoteAccess
set security ipsec vpn RA_IKEv2_EXT-AUTH traffic-selector NO-SPLIT local-ip 0.0.0.0/0
set security ipsec vpn RA_IKEv2_EXT-AUTH traffic-selector NO-SPLIT remote-ip 0.0.0.0/0
set security zones security-zone Untrust interfaces ge-0/0/1.0
set security zones security-zone Untrust host-inbound-traffic system-services ike
set security zones security-zone Untrust host-inbound-traffic system-services tcp-encap
set security zones security-zone Trust interfaces ge-0/0/2.0
set security zones security-zone VPN interfaces st0.0
set security address-book global address RemoteAccessNetworks 198.51.100.0/24
set security policies from-zone VPN to-zone Trust policy 1 match source-address RemoteAccessNetworks
set security policies from-zone VPN to-zone Trust policy 1 match destination-address any
set security policies from-zone VPN to-zone Trust policy 1 match application any
set security policies from-zone VPN to-zone Trust policy 1 then permit
set security policies from-zone VPN to-zone Trust policy 1 then log session-init
1074
set security policies from-zone VPN to-zone Trust policy 1 then log session-close
set security policies from-zone Trust to-zone VPN policy 1 match source-address any
set security policies from-zone Trust to-zone VPN policy 1 match destination-address RemoteAccessNetworks
set security policies from-zone Trust to-zone VPN policy 1 match application any
set security policies from-zone Trust to-zone VPN policy 1 then permit
set security policies from-zone Trust to-zone VPN policy 1 then log session-init
set security policies from-zone Trust to-zone VPN policy 1 then log session-close
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure the SRX Series device to support NCP Exclusive Remote Access Clients:
[edit]
user@host# set security tcp-encap profile NCP
[edit]
user@host# set services ssl termination profile RemoteAccess server-certificate RemoteAccessNCP
1075
When SSL termination profile is not configured then the only NCP Path Finder v1 mode is supported.
NCP Path Finder v2 support needs SSL termination profile configured. NCP Path Finder v1 is supported
when SSL termination profile is configured.
[edit]
user@host# set security tcp-encap profile NCP ssl-profile RemoteAccess
6. Configure interfaces.
[edit interfaces]
user@host# set interfaces ge-0/0/1 unit 0 family inet address 203.0.113.1/24
user@host# set interfaces ge-0/0/2 unit 0 family inet address 192.0.2.3/24
user@host# set interfaces st0 unit 0 family inet
9. Configure zones.
10. Configure an address book for the IP addresses assigned to remote access users.
Results
From configuration mode, confirm your configuration by entering the show access and show security
commands. If the output does not display the intended configuration, repeat the instructions in this example
to correct the configuration.
}
ca-profile CA_Server {
ca-identity CA_Server;
enrollment {
url http://192.0.2.12/certsrv/mscep/mscep.dll;
}
revocation-check {
crl {
url http://192.0.2.12/crl;
}
}
}
traceoptions {
flag all;
}
}
ike {
traceoptions {
file size 100m;
flag all;
level 15;
}
proposal CERT-DH19-AES256GCM {
authentication-method rsa-signatures;
dh-group group19;
authentication-algorithm sha-256;
encryption-algorithm aes-256-gcm;
lifetime-seconds 28800;
}
policy RA_IKEv2_EXT-AUTH {
proposals CERT-DH19-AES256GCM;
certificate {
local-certificate RemoteAccessNCP;
}
}
gateway RA_IKEv2_EXT-AUTH {
ike-policy RA_IKEv2_EXT-AUTH;
dynamic {
user-at-hostname "[email protected]";
ike-user-type group-ike-id;
}
dead-peer-detection {
always-send;
interval 60;
1079
threshold 5;
}
external-interface ge-0/0/1.0;
aaa {
access-profile RA_EXTERNAL-AUTH;
}
version v2-only;
tcp-encap-profile NCP;
}
}
ipsec {
proposal ESP-AES256GCM {
protocol esp;
encryption-algorithm aes-256-gcm;
}
policy RemoteAccess {
perfect-forward-secrecy {
keys group19;
}
proposals ESP-AES256GCM;
}
vpn RA_IKEv2_EXT-AUTH {
bind-interface st0.0;
ike {
gateway RA_IKEv2_EXT-AUTH;
ipsec-policy RemoteAccess;
}
traffic-selector NO-SPLIT {
local-ip 0.0.0.0/0;
remote-ip 0.0.0.0/0;
}
}
}
address-book {
global {
address RemoteAccessNetworks 198.51.100.0/24;
}
}
flow {
traceoptions {
file flowd size 1g files 2;
flag all;
trace-level {
detail;
1080
}
}
tcp-mss {
ipsec-vpn {
mss 1350;
}
}
tcp-session {
maximum-window 1M;
}
}
policies {
from-zone VPN to-zone Trust {
policy 1 {
match {
destination-address any;
application any;
}
then {
permit;
log {
session-init;
session-close;
}
}
}
}
from-zone Trust to-zone VPN {
policy 1 {
match {
source-address any;
destination-address RemoteAccessNetworks;
application any;
}
then {
permit;
log {
session-init;
session-close;
}
}
}
}
}
1081
tcp-encap {
traceoptions {
file tcp-encap-log;
level verbose;
flag all;
}
profile NCP {
ssl-profile RemoteAccess;
}
}
traceoptions {
file ipsec size 10m;
flag all;
}
zones {
security-zone Untrust {
host-inbound-traffic {
system-services {
ike;
tcp-encap;
}
}
interfaces {
ge-0/0/1.0;
}
}
security-zone Trust {
interfaces {
ge-0/0/2.0;
}
}
security-zone VPN {
interfaces {
st0.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
1082
Verification
IN THIS SECTION
Purpose
Display information about IKE SAs.
Action
From operational mode, enter the show security ike security-associations command.
From operational mode, enter the show security ike security-associations detail command.
Purpose
Display the list of connected active users with details about the peer addresses and ports they are using.
Action
From operational mode, enter the show security ike active-peer command.
From operational mode, enter the show security ike active-peer detail command.
Purpose
Display information about TCP encapsulation sessions.
Action
From operational mode, enter the show security tcp-encap connections command.
From operational mode, enter the show security tcp-encap statistics command.
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
Dynamic VPN enables Pulse Secure clients to establish IPsec VPN tunnels to SRX services gateways
without manually configuring VPN settings on their PCs. User authentication is supported through a
RADIUS server or a local IP address pool.
Pulse Secure client software can be obtained from the Juniper Networks Download Software site at
https://www.juniper.net/support/downloads/?p=pulse#sw.
A VPN tunnels enable users to securely access assets such as e-mail servers and application servers that
reside behind a firewall. End-to-site VPN tunnels are particularly helpful to remote users such as
telecommuters because a single tunnel enables access to all of the resources on a network—the users do
not need to configure individual access settings to each application and server. See Figure 61 on page 1086.
1086
Figure 61: Using a VPN Tunnel to Enable Remote Access to a Corporate Network
The dynamic VPN feature is also known as remote access VPN or IPsec VPN client. This feature is supported
on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices. Pulse Secure client software is used for
VPN access. User authentication is supported through an external RADIUS server or a local IP address
pool configured on the SRX gateway. The Layer 3 remote access client uses client-side configuration
settings that it receives from the SRX Series gateway to create and manage a secure end-to-site VPN
tunnel to the gateway.
If more than two simultaneous user connections are required, a dynamic VPN license must be installed on
the SRX Series gateway. See the Software Installation and Upgrade Guide for information about installing
and managing licenses. The maximum number of user connections supported depends on the SRX Series
device.
The dynamic VPN feature is disabled by default on the device. To enable dynamic VPN, you must configure
the feature using the dynamic-vpn configuration statement at the [edit security] hierarchy level.
Dynamic VPN tunnels are configured in the same way as traditional IPsec VPN tunnels. However, not all
IPsec VPN options are supported. This feature is supported on SRX100, SRX110, SRX210, SRX220, SRX240,
SRX300, SRX320, SRX340, SRX345, SRX550, SRX550HM, and SRX650 devices.
1087
The following list describes the requirements and supported options when configuring dynamic VPN
tunnels:
• Only policy-based VPNs are supported. Route-based VPNs are not supported with dynamic VPN tunnels.
Routing protocols are not supported.
• Only IPv4 traffic and IPv4-in-IPv4 tunnels are supported. IPv6 traffic and tunnels are not supported.
• Only preshared keys are supported for authentication. PKI is not supported.
• Aggressive mode is supported for IKE phase 1 exchanges. Main mode is not supported.
• VPN traffic can only be initiated from the remote client. VPN traffic initiated from the SRX gateway is
not supported.
• Authentication is supported from a local profile. Attributes can be provided from a local address pool.
Authentication and attributes can be provided from a RADIUS server.
• NAT-T is supported.
• Administrator rights are required to install Pulse client software, administrator rights are required.
• Users need to reauthenticate during IKE phase 1 rekeys. The rekey time is configurable.
Shared or group IKE IDs can be used to configure a single VPN that is shared by all remote clients. When
a single VPN is shared, the total number of simultaneous connections to the gateway cannot be greater
than the number of dynamic VPN licenses installed. When configuring a shared or group IKE ID gateway,
you can configure the maximum number of connections to be greater than the number of installed dynamic
VPN licenses. However, if a new connection exceeds the number of licensed connections, the connection
will be denied. You can view dynamic VPN license information with the show system license usage
command.
A common dynamic VPN deployment is to provide VPN access to remote clients connected through a
public network such as the Internet. IPsec access is provided through a gateway on the Juniper Networks
device. Pulse Secure client software is used for VPN access. This feature is supported on SRX300, SRX320,
SRX340, SRX345, and SRX550HM devices.
1088
Pulse Secure client software can be obtained from the Juniper Networks Download Software site at
https://www.juniper.net/support/downloads/?p=pulse#sw.
The following describes the process for a Pulse Secure remote client to access the VPN:
For detailed instructions about connecting the remote client program to the SRX Series device, see KB17641.
Also see the Pulse Secure documentation for current client information.
1. The user downloads and installs the Pulse Secure client software onto their device.
In the Pulse Secure remote client program, the user does the following:
On the SRX Series device, this hostname is configured with the set security ike gateway
gateway-name dynamic hostname hostname command. The SRX administrator must provide the
hostname to remote users.
d. For Server URL Name, enter the IP address of the SRX gateway.
On the SRX Series device, this IP address is the IP address of the external-interface configured with
the set security ike gateway gateway-name command. The SRX administrator must provide the IP
address to remote users.
3. Click Add, then click Connect. The Pulse Secure remote client program connects to the SRX Series
using HTTPS.
4. Enter your username and password when prompted. Configuration information is downloaded from
the SRX Series device to the remote client to enable the client to establish an IKE SA with the SRX
Series device.
5. If you are accessing dynamic VPN for the first time, enter your user credentials again to establish an
IPsec SA. An IP address is assigned to the remote client from a local address pool or from an external
RADIUS server.
The user credentials you enter in step 4 are used to download the configuration to the remote client
and establish an IKE SA between the client and the SRX Series device. The user credentials entered in
1089
this step are used to establish an IPsec SA. The user credentials can be the same or different, based on
the configuration on the SRX Series device.
This feature is supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices. Configuring
custom Internet Key Exchange (IKE) and IP Security (IPsec) proposals for IKE and IPsec policies can be
tedious and time-consuming when there are many dynamic VPN clients. The administrator can select basic,
compatible, or standard proposal sets for dynamic VPN clients. Each proposal set consists of two or more
predefined proposals. The server selects one predefined proposal from the set and pushes it to the client
in the client configuration. The client uses this proposal in negotiations with the server to establish the
connection.
The default values for IKE and IPsec security association (SA) rekey timeout are as follows:
Because proposal set configuration does not allow for configuration of rekey timeout, these values are
included in the client configuration that is sent to the client at client download time.
The server selects a predefined proposal from the proposal set and sends it to the client, along with the
default rekey timeout value.
The server sends a predefined IKE proposal from the configured IKE proposal set to the client, along
with the default rekey timeout value. For IPsec, the server sends the setting that is configured in the
IPsec proposal.
The server sends a predefined IPsec proposal from the configured IPsec proposal set to the client, along
with the default rekey timeout value. For IKE, the server sends the setting that is configured in the IKE
proposal.
If IPsec uses a standard proposal set and perfect forward secrecy (PFS) is not configured, then the default
Perfect Forward Secrecy (PFS) is group2. For other proposal sets, PFS will not be set, because it is not
configured. Also, for the IPsec proposal set, the group configuration in ipsec policy perfect-forward-secrecy
keys overrides the Diffie-Hellman (DH) group setting in the proposal sets.
1090
Because the client accepts only one proposal for negotiating tunnel establishment with the server, the
server internally selects one proposal from the proposal set to send to the client. The selected proposal
for each set is listed as follows:
For IKE
For IPsec
• Sec-level basic: esp, no pfs (if not configured) or groupx (if configured), des, sha1
• Sec-level compatible: esp, no pfs (if not configured) or groupx (if configured), 3des, sha1
• Sec-level standard: esp, g2 (if not configured) or groupx (if configured), aes128, sha1
Dynamic VPN allows you to provide IPsec access for remote users to a gateway on a Juniper Networks
device. This feature is supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
• When users are configured locally, they are configured at the [edit access profile profile-name client
client-name] hierarchy level and arranged into user groups using the client-group configuration option.
• Users can be configured on an external authentication server, such as a RADIUS server. Users configured
on an external authentication server do not need to be configured at the [edit access profile profile-name]
hierarchy level.
For locally-configured users, the user group needs to be specified in the dynamic VPN configuration so
that a user can be associated with a client configuration. You specify a user group with the user-groups
option at the [edit security dynamic-vpn clients configuration-name] hierarchy level.
When a user is authenticated, the user group is included in the authentication reply. This information is
extracted and user groups configured at the [edit security dynamic-vpn clients configuration-name] hierarchy
level are searched to determine which client configuration to retrieve and return to the client for tunnel
establishment.
If a user is associated with more than one user group, the first matching user group configuration is used.
If a user creates a second connection, then the next matching user group configuration is used. Subsequent
user connections use the next matching user group configuration until there are no more matching
configurations.
1091
The following procedure lists the tasks for configuring dynamic VPN.
a. Configure an XAuth profile to authenticate users and assign addresses. Either local authentication
or an external RADIUS server can be used. Use the profile configuration statement at the [edit
access] hierarchy level to configure the XAuth profile.
b. Assign IP addresses from a local address pool if local authentication is used. Use the
address-assignment pool configuration statement at the [edit access] hierarchy level. A subnet or
a range of IP addresses can be specified. IP addresses for DNS and WINS servers can also be
specified.
a. Configure the IKE policy. The mode must be aggressive. Basic, compatible, or standard proposal
sets can be used. Only preshared keys are supported for Phase 1 authentication. Use the policy
configuration statement at the [edit security ike] hierarchy level.
b. Configure the IKE gateway. Either shared or group IKE IDs can be used. You can configure the
maximum number of simultaneous connections to the gateway. Use the gateway configuration
statement at the [edit security ike] hierarchy level.
c. Configure the IPsec VPN. Basic, compatible, or standard proposal sets can be specified with the
policy configuration statement at the [edit security ipsec] hierarchy level. Use the vpn configuration
statement at the [edit security ipsec] hierarchy level to configure the IPsec gateway and policy.
A configuration check can be performed to verify that all IKE and IPsec parameters needed for
dynamic VPN are correctly configured. If the configuration is invalid for IKE or IPsec, an error
message is displayed. You enable the configuration check with the set security dynamic-vpn
config-check command.
d. Configure a security policy to allow traffic from the remote clients to the IKE gateway. Use the
policy configuration statement at the [edit security policies from-zone zone to-zone zone] hierarchy
level.
Configure the security policy with the match criteria source-address any, destination-address any,
and application any and the action permit tunnel ipsec-vpn with the name of the dynamic VPN
tunnel. Place this policy at the end of the policy list.
e. Configure host inbound traffic to allow specific traffic to reach the device from systems that are
connected to its interfaces. For example, IKE and HTTPS traffic must be allowed. See Understanding
How to Control Inbound Traffic Based on Traffic Types.
f. (Optional) If the client address pool belongs to a subnet that is directly connected to the device, the
device would need to respond to ARP requests to addresses in the pool from other devices in the
same zone. Use the proxy-arp configuration statement at the [edit security nat] hierarchy level.
Specify the interface that directly connects the subnet to the device and the addresses in the pool.
1092
a. Specify the access profile for use with dynamic VPN. Use the access-profile configuration statement
at the [edit security dynamic-vpn] hierarchy level.
b. Configure the clients who can use the dynamic VPN. Specify protected resources (traffic to the
protected resource travels through the specified dynamic VPN tunnel and is therefore protected
by the firewall’s security policies) or exceptions to the protected resources list (traffic that does not
travel through the dynamic VPN tunnel and is sent in cleartext). These options control the routes
that are pushed to the client when the tunnel is up, therefore controlling the traffic that is send
through the tunnel. Use the clients configuration statement at the [edit security dynamic-vpn]
hierarchy level.
4. To log dynamic VPN messages, configure the traceoptions statement at the [edit security dynamic-vpn]
hierarchy level.
This feature is supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices. A client
application can request an IP address on behalf of a client. This request is made at the same time as the
client authentication request. Upon successful authentication of the client, an IP address can be assigned
to the client from a predefined address pool or a specific IP address can be assigned. Other attributes,
such as WINS or DNS server IP addresses, can also be provided to the client.
Address pools are defined with the pool configuration statement at the [edit access address-assignment]
hierarchy level. An address pool definition contains network information (IP address with optional netmask),
optional range definitions, and DHCP or XAuth attributes that can be returned to the client. If all addresses
in a pool are assigned, a new request for a client address will fail even if the client is successfully
authenticated.
Access profiles are defined with the profile configuration statement at the [edit access] hierarchy. A defined
address pool can be referenced in an access profile configuration.
You can also bind a specific IP address to a client in an access profile with the xauth ip-address address
option. The IP address must be in the range of addresses specified in the address pool. It must also be
different from the IP address specified with the host configuration statement at the [edit access profile
address-assignment pool pool-name family inet] hierarchy level. For any application, if one IP address has
been assigned, it will not be reassigned again until it is released.
1093
IN THIS SECTION
This feature is supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices. With dynamic
VPN, a unique Internet Key Exchange (IKE) ID is used for each user connection. When there are a large
number of users who need to access the VPN, configuring an individual IKE gateway, IPsec VPN, and a
security policy for each user can be cumbersome. The group IKE ID and shared IKE ID features allow a
number of users to share an IKE gateway configuration, thus reducing the number of VPN configurations
required.
We recommend that you configure group IKE IDs for dynamic VPN deployments because group IKE IDs
provide a unique preshared key and IKE ID for each user.
Although group IKE IDs do not require XAuth, XAuth is required by dynamic VPN to retrieve network
attributes like client IP addresses. A warning is displayed if XAuth is not configured for a dynamic VPN
that uses group IKE IDs.
We recommend that users use the same credentials for both WebAuth and XAuth authentication when
group IKE IDs are configured.
Multiple users can use the same group IKE ID, but a single user cannot use the same group IKE ID for
different connections. If a user needs to have connections from different remote clients, they need to
have different group IKE IDs configured, one for each connection. If a user only has one group IKE ID
configured and attempts a second connection from another PC, the first connection will be terminated to
allow the second connection to go through.
• Configure ike-user-type group-ike-id at the [edit security ike gateway gateway-name dynamic] hierarchy
level.
1094
• Configure the hostname configuration statement at the [edit security ike gateway gateway-name
dynamic] hierarchy level. This configuration is the common part of the full IKE ID for all users.
• Configure the pre-shared-key configuration statement at the [edit security ike policy policy-name]
hierarchy level. The configured preshared key is used to generate the actual preshared key.
The XAuth user name together with the configured shared IKE ID is used to distinguish between different
user connections. Because the user name is used to identify each user connection, both the WebAuth
user name and XAuth user name must be the same.
Multiple users can use the same shared IKE ID, but a single user cannot use the same shared IKE ID for
different connections. If a user needs to have connections from different remote clients, they need to
have different shared IKE IDs configured, one for each connection. If a user has only one shared IKE ID
configured and attempts a second connection from another client, the first connection will be terminated
to allow the second connection to go through. Also, because the user name is needed to identify each
user connection along with the IKE ID, the user must use the same credentials for both WebAuth and
XAuth authentication.
• Configure ike-user-type shared-ike-id at the [edit security ike gateway gateway-name dynamic] hierarchy
level.
• Configure the hostname configuration statement at the [edit security ike gateway gateway-name
dynamic] hierarchy level. The configured hostname is shared by all users configured in the dynamic VPN
access profile.
• Configure the pre-shared-key configuration statement at the [edit security ike policy policy-name]
hierarchy level. The configured preshared key is shared by all users configured in the dynamic VPN
access profile.
SEE ALSO
1095
IN THIS SECTION
Requirements | 1095
Overview | 1095
Configuration | 1098
Verification | 1105
This example shows how to configure a dynamic VPN on a Juniper Networks device to provide VPN access
to remote clients. This feature is supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM
devices.
Requirements
1. Configure network interfaces on the device. See Interfaces User Guide for Security Devices.
2. Create security zones and assign interfaces to them. See “Understanding Security Zones” on page 111.
3. If there will be more than two simultaneous user connections, install a Dynamic VPN license in the
device. See Software Installation and Upgrade Guide.
Overview
A common deployment scenario for dynamic VPN is to provide VPN access to remote clients that are
connected through a public network such as the Internet. A public IP address is assigned to one of the
gateway’s interfaces; this interface is normally part of the untrust zone. After the client software is installed,
the remote user can access the VPN by either logging in to the Web portal or by launching the client
directly. In either case, the remote client authenticates with the SRX Series device and downloads the
latest configuration available.
Figure 62 on page 1096 illustrates this deployment topology. The ge-0/0/15.0 interface on the SRX Series
device is the termination point for the dynamic VPN tunnel. Remote clients in the untrust zone access the
ge-0/0/15.0 interface through a Pulse Secure client.
1096
Client N
Untrust Client 1
zone Internet
Trust
g030693
zone
10.0.1.0/24
In this example, XAuth client authentication is performed locally and client IP addresses are assigned from
an address pool configured on the SRX Series device. See Table 93 on page 1096.
Then, standard proposal sets are used for both IKE and IPsec negotiations. For dynamic VPN tunnels,
aggressive mode must be configured and only preshared keys are supported for Phase 1 authentication.
A group IKE ID is used and the maximum number of connections is set to 10. Because dynamic VPNs must
be policy-based VPNs, a security policy must be configured to forward traffic to the tunnel. IKE and HTTPS
traffic must be allowed for host inbound traffic.See Table 94 on page 1097.
Finally, the XAuth profile configured for remote clients is specified for the dynamic VPN. Remote users
are associated with the configured IPsec VPN. Also configured are remote protected resources (the
destination addresses of traffic that is always sent through the tunnel) and remote exceptions (the
destination addresses of traffic that is sent in cleartext instead of through the tunnel). See
Table 95 on page 1098.
Table 93: Remote Client Authentication and Address Assignment Configuration (continued)
XAuth profile dyn-vpn-access-profile • Remote client username: 'client1' with password $ABC123
• Remote client username: 'client2' with password $ABC456
• IP address pool reference: dyn-vpn-address-pool
• This profile is the default profile for web authentication.
Host inbound traffic Allow the following types of traffic to the ge-0/0/15.0
interface in the untrust zone:
• IKE
• HTTPS
• ping
1098
Configuration
IN THIS SECTION
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit access]
user@host# set profile dyn-vpn-access-profile client client1 firewall-user password "$ABC123"
user@host# set profile dyn-vpn-access-profile client client2 firewall-user password "$ABC456"
user@host# set profile dyn-vpn-access-profile address-assignment pool dyn-vpn-address-pool
Results
From configuration mode, confirm your configuration by entering the show access command. If the output
does not display the intended configuration, repeat the configuration instructions in this example to correct
it.
[edit]
user@host# show access
profile dyn-vpn-access-profile {
client client1 {
firewall-user {
password "$ABC123"; ## SECRET-DATA
}
}
client client2 {
firewall-user {
password "$ABC456"; ## SECRET-DATA
}
}
address-assignment {
pool dyn-vpn-address-pool;
}
}
address-assignment {
pool dyn-vpn-address-pool {
1100
family inet {
network 10.10.10.0/24;
xauth-attributes {
primary-dns 192.02.1/32;
}
}
}
}
firewall-authentication {
web-authentication {
default-profile dyn-vpn-access-profile;
}
}
If you are done configuring the device, enter commit from configuration mode.
[edit]
set security ike policy ike-dyn-vpn-policy mode aggressive
set security ike policy ike-dyn-vpn-policy proposal-set standard
set security ike policy ike-dyn-vpn-policy pre-shared-key ascii-text "$ABC789"
set security ike gateway dyn-vpn-local-gw ike-policy ike-dyn-vpn-policy
set security ike gateway dyn-vpn-local-gw dynamic hostname dynvpn
set security ike gateway dyn-vpn-local-gw dynamic connections-limit 10
set security ike gateway dyn-vpn-local-gw dynamic ike-user-type group-ike-id
set security ike gateway dyn-vpn-local-gw external-interface ge-0/0/15.0
set security ike gateway dyn-vpn-local-gw aaa access-profile dyn-vpn-access-profile
set security ipsec policy ipsec-dyn-vpn-policy proposal-set standard
set security ipsec vpn dyn-vpn ike gateway dyn-vpn-local-gw
set security ipsec vpn dyn-vpn ike ipsec-policy ipsec-dyn-vpn-policy
set security policies from-zone untrust to-zone trust policy dyn-vpn-policy match source-address any
set security policies from-zone untrust to-zone trust policy dyn-vpn-policy match destination-address any
set security policies from-zone untrust to-zone trust policy dyn-vpn-policy match application any
set security policies from-zone untrust to-zone trust policy dyn-vpn-policy then permit tunnel ipsec-vpn dyn-vpn
set security zones security-zone untrust interfaces ge-0/0/15.0 host-inbound-traffic system-services ike
set security zones security-zone untrust interfaces ge-0/0/15.0 host-inbound-traffic system-services https
set security zones security-zone untrust interfaces ge-0/0/15.0 host-inbound-traffic system-services ping
1101
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
3. Configure IPsec.
Results
From configuration mode, confirm your configuration by entering the show security ike, show security
ipsec, show security policies, and show security zones commands. If the output does not display the
intended configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@host# show security ike
policy ike-dyn-vpn-policy {
mode aggressive;
proposal-set standard;
pre-shared-key ascii-text "$ABC789"; ## SECRET-DATA
}
gateway dyn-vpn-local-gw {
ike-policy ike-dyn-vpn-policy;
dynamic {
hostname dynvpn;
connections-limit 10;
ike-user-type group-ike-id;
}
external-interface ge-0/0/15.0;
aaa access-profile dyn-vpn-access-profile;
}
[edit]
user@host# show security ipsec
policy ipsec-dyn-vpn-policy {
proposal-set standard;
}
vpn dyn-vpn {
ike {
gateway dyn-vpn-local-gw;
ipsec-policy ipsec-dyn-vpn-policy;
}
}
[edit]
user@host# show security policies
from-zone untrust to-zone trust {
policy dyn-vpn-policy {
1103
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
tunnel {
ipsec-vpn dyn-vpn;
}
}
}
}
[edit]
user@host# show security zones
security-zone untrust {
interfaces {
ge-0/0/15.0 {
host-inbound-traffic {
system-services {
ike;
https;
ping;
}
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
Results
From configuration mode, confirm your configuration by entering the show security dynamic-vpn command.
If the output does not display the intended configuration, repeat the configuration instructions in this
example to correct it.
[edit]
user@host# show security dynamic-vpn
access-profile dyn-vpn-access-profile;
clients {
all {
remote-protected-resources {
10.0.0.0/8;
}
remote-exceptions {
0.0.0.0/0;
}
ipsec-vpn dyn-vpn;
user {
client1;
client2;
}
}
1105
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Dynamic VPN tunnels can be monitored with the same commands used to monitor traditional IPsec VPN
tunnels. To confirm that the configuration is working properly, perform these tasks:
Purpose
Verify the IKE Phase 1 status of the security associations.
Action
From operational mode, enter the show security ike security-associations command.
Purpose
Verify that the remote clients and the IP addresses assigned to them are using XAuth.
Action
From operational mode, enter the show security ike active-peer command.
Purpose
Verify the IPsec Phase 2 status of the security associations.
Action
From operational mode, enter the show security ipsec security-associations command.
Purpose
Verify the number of concurrent connections and the negotiated parameters for each user.
Action
From operational mode, enter the show security dynamic-vpn users command.
SEE ALSO
This example shows how to create an address pool and how to assign client IP addresses in an access
profile. This feature is supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
Requirements
Before you begin, configure primary and secondary DNS and WINS servers and assign IP addresses to
them.
Overview
This example creates an address pool xauth1 that consists of the IP addresses in the 192.0.2.0/24 subnet.
The xauth1 pool also assigns IP addresses for primary and secondary DNS and WINS servers.
The access profile dvpn-auth references the xauth1 pool. The dvpn-auth access profile configures two
clients:
• jason: The IP address 192.0.2.1 is bound to this client. Upon successful authentication, the client is
assigned the IP address 192.0.2.1. If the client logs in again before logging out, the client is assigned an
IP address from the xauth1 pool.
• jacky: Upon successful authentication, the client is assigned an IP address from the xauth1 pool.
In addition, the dvpn-auth access profile specifies that password authentication is used to verify clients
at login. Additional authentication methods can be specified; the software tries the authentication methods
in order, from first to last, for each client login attempt.
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure an address pool and an access profile that uses the address pool:
[edit access]
user@host# set profile dvpn-auth address-assignment pool xauth1
user@host# set profile dvpn-auth authentication-order password
user@host# set profile dvpn-auth client jason xauth ip-address 192.0.2.1
user@host# set profile dvpn-auth client jason firewall-user password jason
user@host# set profile dvpn-auth client jacky firewall-user password jacky
Results
From configuration mode, confirm your configuration by entering the show access command. If the output
does not display the intended configuration, repeat the configuration instructions in this example to correct
it.
[edit]
user@host# show access
profile dvpn-auth {
authentication-order password;
client jacky {
firewall-user {
password "$ABC123"; ## SECRET-DATA
1109
}
}
client jason {
xauth {
ip-address 192.0.2.1/32;
}
firewall-user {
password "$ABC456"; ## SECRET-DATA
}
}
address-assignment {
pool xauth1;
}
}
address-assignment {
pool xauth1 {
family inet {
network 192.0.2.0/24;
xauth-attributes {
primary-dns 192.0.2.250/32;
secondary-dns 192.0.2.251/32;
primary-wins 192.0.2.253/32;
secondary-wins 192.0.2.254/32;
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
1110
Verify address assignment. For XAuth, the hardware address is always shown as NA. If a static IP address
is assigned to a specific user, the user name and profile name (in the format user@profile) is displayed in
the "Host/User" column. If a client is assigned an IP address from the pool, the username is displayed; if
the username does not exist, NA is displayed. For other applications (for example, DHCP), the hostname
is displayed if configured; if the hostname is not configured, NA is displayed.
Action
From operational mode, enter the show network-access address-assignment pool command.
user
SEE ALSO
IN THIS SECTION
Requirements | 1111
Overview | 1111
Configuration | 1112
Verification | 1118
This example shows how to configure a group IKE ID that is used by multiple users. This feature is supported
on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
1111
Requirements
• Configure network interfaces on the device. See the Interfaces User Guide for Security Devices.
• Create security zones and assign interfaces to them. See Understanding Security Zones.
• If there will be more than two simultaneous user connections, install a Dynamic VPN license in the
device. See Software Installation and Upgrade Guide.
Overview
In this example, you configure two remote dynamic VPN users who use a single IKE ID and a single IKE
preshared key (see Table 96 on page 1111 and Table 97 on page 1112). An external RADIUS server is used to
authenticate users and assign IP addresses to clients (see Table 98 on page 1112).
Host inbound traffic Allow the following types of traffic to the ge-0/0/0.0 interface
in the untrust zone:
• IKE
• HTTPS
• ping
• SSH
Table 97: Group IKE ID Dynamic VPN Configuration for Remote Clients
XAuth profile radius-profile • RADIUS is the authentication method used to verify user credentials.
• The RADIUS server IP address is 10.100.100.250 and the password is
“$ABC123”.
• This profile is the default profile for Web authentication.
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit access]
user@host# set profile radius-profile authentication-order radius
user@host# set profile radius-profile radius-server 10.100.100.250 secret “$ABC123”
user@host# set firewall-authentication web-authentication default-profile radius-profile
4. Configure IPsec.
Results
From configuration mode, confirm your configuration by entering the show security ike, show security
ipsec, show security policies, show security zones, and show security dynamic-vpn commands. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show access
profile radius-profile {
authentication-order radius;
radius-server {
10.100.100.250 secret "$ABC123"; ## SECRET-DATA
}
}
firewall-authentication {
web-authentication {
default-profile radius-profile;
}
}
[edit]
user@host# show security ike
ike {
policy clientpol-group {
mode aggressive;
proposal-set compatible;
pre-shared-key ascii-text
"$ABC456"; ## SECRET-DATA
}
1116
gateway groupgw {
ike-policy clientpol-group;
dynamic {
hostname example.net;
connections-limit 50;
ike-user-type group-ike-id;
}
external-interface ge-0/0/0.0;
aaa access-profile radius-profile;
}
}
[edit]
user@host# show security ipsec
ipsec {
policy client1vpnPol {
proposal-set compatible;
}
vpn groupvpn {
ike {
gateway groupgw;
ipsec-policy client1vpnPol;
}
}
}
[edit]
user@host# show security policies
from-zone untrust to-zone trust {
policy group-sec-policy {
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
tunnel {
ipsec-vpn groupvpn;
}
}
}
}
}
}
[edit]
1117
If you are done configuring the device, enter commit from configuration mode.
1118
Verification
IN THIS SECTION
Dynamic VPN tunnels can be monitored with the same commands used to monitor traditional IPsec VPN
tunnels. To confirm that the configuration is working properly, perform these tasks:
Purpose
Verify the IKE Phase 1 status of the security associations.
Action
From operational mode, enter the show security ike security-associations command.
Purpose
Verify that the remote clients and the IP addresses assigned to them are using XAuth.
Action
From operational mode, enter the show security ike active-peer command.
Purpose
Verify the IPsec Phase 2 status of the security associations.
Action
From operational mode, enter the show security ipsec security-associations command.
Purpose
Verify the number of concurrent connections and the negotiated parameters for each user.
Action
From operational mode, enter the show security dynamic-vpn users command.
1119
SEE ALSO
IN THIS SECTION
Requirements | 1119
Overview | 1119
Configuration | 1122
Verification | 1132
This example shows how to configure individual IKE IDs for multiple users. This feature is supported on
SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
When there are a large number of users who need to access the VPN, configuring an individual IKE gateway,
IPsec VPN, and a security policy for each user can be cumbersome. The group IKE ID feature allows a
number of users to share an IKE gateway configuration, thus reducing the number of VPN configurations
required.
Requirements
• Configure network interfaces on the device. See Interfaces User Guide for Security Devices.
• Create security zones and assign interfaces to them. See Understanding Security Zones.
• If there will be more than two simultaneous user connections, install a Dynamic VPN license in the
device. See Software Installation and Upgrade Guide.
Overview
The following example shows the configuration for two remote dynamic VPN users. For each user, an IKE
policy and gateway, IPsec policy and VPN, and a security policy must be configured (see Table 99 on page 1120
and Table 100 on page 1121). An external RADIUS server is used to authenticate users and assign IP addresses
to clients (see Table 101 on page 1122).
1120
Host inbound traffic Allow the following types of traffic to the ge-0/0/0.0 interface
in the untrust zone:
• IKE
• HTTPS
• ping
• SSH
Host inbound traffic Allow the following types of traffic to the ge-0/0/0.0 interface
in the untrust zone:
• IKE
• HTTPS
• ping
• SSH
XAuth profile radius-profile • RADIUS is the authentication method used to verify user credentials.
• RADIUS server IP address is 10.100.100.250 and the password is
“$ABC123”.
• This profile is the default profile for Web authentication.
Configuration
IN THIS SECTION
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit access]
user@host# set profile radius-profile authentication-order radius
user@host# set profile radius-profile radius-server 10.100.100.250 secret “$ABC123”
1123
[edit access]
user@host# set firewall-authentication web-authentication default-profile radius-profile
Results
From configuration mode, confirm your configuration by entering the show access command. If the output
does not display the intended configuration, repeat the configuration instructions in this example to correct
it.
[edit]
user@host# show access
profile radius-profile {
authentication-order radius;
radius-server {
10.100.100.250 secret "$ABC123"; ## SECRET-DATA
}
}
firewall-authentication {
web-authentication {
default-profile radius-profile;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Client 1
set security policies from-zone untrust to-zone trust policy client1-sec-policy match source-address any
set security policies from-zone untrust to-zone trust policy client1-sec-policy match destination-address any
set security policies from-zone untrust to-zone trust policy client1-sec-policy match application any
set security policies from-zone untrust to-zone trust policy client1-sec-policy then permit tunnel ipsec-vpn
client1vpn
set security dynamic-vpn access-profile radius-profile
set security dynamic-vpn clients cfg1 remote-protected-resources 10.100.100.0/24
set security dynamic-vpn clients cfg1 remote-exceptions 0.0.0.0/0
set security dynamic-vpn clients cfg1 remote-exceptions 192.0.2.1/24
set security dynamic-vpn clients cfg1 remote-exceptions 0.0.0.0/32
set security dynamic-vpn clients cfg1 ipsec-vpn client1vpn
set security dynamic-vpn clients cfg1 user derek
set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services ike
set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services https
set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services ping
set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services ssh
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
3. Configure IPsec.
Results
From configuration mode, confirm your configuration by entering the show security ike, show security
ipsec, show security policies, show security zones, and show security dynamic-vpn commands. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
1126
[edit]
user@host# show security ike
policy client1pol {
mode aggressive;
proposal-set compatible;
pre-shared-key ascii-text "$ABC456"; ## SECRET-DATA
}
gateway client1gw {
ike-policy client1pol;
dynamic hostname example.net;
external-interface ge-0/0/0.0;
aaa access-profile radius-profile;
}
{edit]
user@host# show security ipsec
policy client1vpnPol {
proposal-set compatible;
}
vpn client1vpn {
ike {
gateway client1gw;
ipsec-policy client1vpnPol;
}
}
{edit]
user@host# show security policies
from-zone untrust to-zone trust {
policy client1-sec-policy {
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
tunnel {
ipsec-vpn client1vpn;
}
}
}
}
}
{edit]
user@host# show security zones
1127
security-zone untrust {
interfaces {
ge-0/0/0.0 {
host-inbound-traffic {
system-services {
ike;
https;
ping;
ssh;
}
}
}
}
}
{edit]
user@host# show security dynamic-vpn
access-profile radius-profile;
clients {
cfg1 {
remote-protected-resources {
10.100.100.0/24;
}
remote-exceptions {
0.0.0.0/0;
192.0.2.1/24;
0.0.0.0/32;
}
ipsec-vpn client1vpn;
user {
derek;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Client 2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
3. Configure IPsec.
Results
From configuration mode, confirm your configuration by entering the show security ike, show security
ipsec, show security policies, show security zones, and show security dynamic-vpn commands. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show security ike
policy client2pol {
mode aggressive;
proposal-set compatible;
pre-shared-key ascii-text "$ABC789"; ## SECRET-DATA
}
gateway client2gw {
ike-policy client2pol;
dynamic hostname example.net;
external-interface ge-0/0/0.0;
aaa access-profile radius-profile;
}
[edit]
user@host# show security ipsec
policy client2vpnPol {
proposal-set compatible;
}
vpn client2vpn {
ike {
gateway client2gw;
ipsec-policy client2vpnPol;
}
}
[edit]
user@host# show security policies
from-zone untrust to-zone trust {
policy client2-sec-policy {
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
tunnel {
ipsec-vpn client2vpn;
}
1131
}
}
}
}
[edit]
user@host# show security zones
security-zone untrust {
interfaces {
ge-0/0/0.0 {
host-inbound-traffic {
system-services {
ike;
https;
ping;
ssh;
}
}
}
}
}
[edit]
user@host# show security dynamic-vpn
access-profile radius-profile;
clients {
cfg2 {
remote-protected-resources {
10.100.100.0/24;
}
remote-exceptions {
192.0.2.1/24;
0.0.0.0/32;
}
ipsec-vpn client2vpn;
user {
chris;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
1132
Verification
IN THIS SECTION
Dynamic VPN tunnels can be monitored with the same commands used to monitor traditional IPsec VPN
tunnels. To confirm that the configuration is working properly, perform these tasks:
Purpose
Verify the IKE Phase 1 status of the security associations.
Action
From operational mode, enter the show security ike security-associations command.
Purpose
Verify that the remote clients and the IP addresses assigned to them are using XAuth.
Action
From operational mode, enter the show security ike active-peer command.
Purpose
Verify the IPsec Phase 2 status of the security associations.
Action
From operational mode, enter the show security ipsec security-associations command.
Purpose
Verify the number of concurrent connections and the negotiated parameters for each user.
Action
From operational mode, enter the show security dynamic-vpn users command.
1133
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
VPN monitoring enables you to determine the reachability of peer devices by sending Internet Control
Message Protocol (ICMP) requests to the peers.
Configure the following command to enable security event logging during the initial set up of the device.
This feature is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, and SRX1500 devices and
vSRX instances.
The administrators (audit, cryptographic, IDS and security) cannot modify the security event logging
configuration if the above command is configured and each administrator role is configured to have a
distinct, unique set of privileges apart from all other administrative roles.
Alarms are triggered by a VPN failure. A VPN alarm is generated when the system monitors any of the
following audited events:
• Authentication failures—You can configure the device to generate a system alarm when the packet
authentication failures reaches a specified number.
• Encryption and decryption failures—You can configure the device to generate a system alarm when
encryption or decryption failures exceed a specified number.
• IKE Phase 1 and IKE Phase 2 failures—Internet Key Exchange (IKE) Phase 1 negotiations are used to
establish IKE security associations (SAs). These SAs protect the IKE Phase 2 negotiations. You can
configure the device to generate a system alarm when IKE Phase 1 or IKE Phase 2 failures exceed a
specified number.
1136
• Self-test failures—Self-tests are tests that a device runs upon power on or reboot to verify whether
security software is implemented correctly on your device.
Self-tests ensure the correctness of cryptographic algorithms. The Junos-FIPS image performs self-tests
automatically upon power-on, and continuously for key-pair generation. In either domestic or FIPS
images, self-tests can be configured to be performed according to a defined schedule, upon demand or
immediately after key generation.
You can configure the device to generate a system alarm when a self-test failure occurs.
• IDP flow policy attacks—An intrusion detection and prevention (IDP) policy allows you to enforce various
attack detection and prevention techniques on network traffic. You can configure the device to generate
a system alarm when IDP flow policy violations occur.
• Replay attacks—A replay attack is a network attack in which a valid data transmission is maliciously or
fraudulently repeated or delayed. You can configure the device to generate a system alarm when a replay
attack occurs.
• Failed signature
• IKE failure
• Mismatch in the length specified in the alternative subject field of the certificate received from a remote
VPN peer device.
Alarms are raised based on syslog messages. Every failure is logged, but an alarm is generated only when
a threshold is reached.
To view the alarm information, run the show security alarms command. The violation count and the alarm
do not persist across system reboots. After a reboot, the violation count resets to zero, and the alarm is
cleared from the alarm queue.
1137
After appropriate actions have been taken, you can clear the alarm. The alarm remains in the queue until
you clear it (or until you reboot the device). To clear the alarm, run the clear security alarms command.
SEE ALSO
VPN monitoring uses ICMP echo requests (or pings) to determine if a VPN tunnel is up. When VPN
monitoring is enabled, the security device sends pings through the VPN tunnel to the peer gateway or to
a specified destination at the other end of the tunnel. Pings are sent by default at intervals of 10 seconds
for up to 10 consecutive times. If no reply is received after 10 consecutive pings, the VPN is considered
to be down and the IPsec security association (SA) is cleared.
VPN monitoring is enabled for a specified VPN by configuring the vpn-monitor option at the [edit security
ipsec vpn vpn-name] hierarchy level. The peer gateway’s IP address is the default destination; however,
you can specify a different destination IP address (such as a server) at the other end of the tunnel. The
local tunnel endpoint is the default source interface, but you can specify a different interface name.
VPN monitoring of an externally connected device (such as a PC) is not supported on SRX5400, SRX5600,
and SRX5800 devices. The destination for VPN monitoring must be a local interface on the SRX5400,
SRX5600, or SRX5800 device.
The VPN monitoring optimized option sends pings only when there is outgoing traffic and no incoming
traffic through the VPN tunnel. If there is incoming traffic through the VPN tunnel, the security device
considers the tunnel to be active and does not send pings to the peer. Configuring the optimized option
can save resources on the security device because pings are only sent when peer liveliness needs to be
determined. Sending pings can also activate costly backup links that would otherwise not be used.
You can configure the interval at which pings are sent and the number of consecutive pings that are sent
without a reply before the VPN is considered to be down. These are configured with the interval and
threshold options, respectively, at the [edit security ipsec vpn-monitor-options] hierarchy level.
VPN monitoring can cause tunnel flapping in some VPN environments if ping packets are not accepted
by the peer based on the packet’s source or destination IP address.
1138
IN THIS SECTION
Overview | 1138
Caveats | 1138
Overview
By default, the state of the secure tunnel (st0) interfaces configured in point-to-point mode in route-based
VPNs is based on the state of the VPN tunnel. Soon after the IPsec SA is established, routes associated
with the st0 interface are installed in the Junos OS forwarding table. In certain network topologies, such
as where a transit firewall is located between the VPN tunnel endpoints, IPsec data traffic that uses active
routes for an established VPN tunnel on the st0 interface may be blocked by the transit firewall. This can
result in traffic loss.
When you enable the IPsec datapath verification, the st0 interface is not brought up and activated until
the datapath is verified. The verification is configured with the set security ipsec vpn vpn-name vpn-monitor
verify-path statement for route-based, site-to-site, and dynamic endpoint VPN tunnels.
If there is a NAT device in front of the peer tunnel endpoint, the IP address of the peer tunnel endpoint
is translated to the IP address of the NAT device. For the VPN monitor ICMP request to reach the peer
tunnel endpoint, you need to explicitly specify the original, untranslated IP address of the peer tunnel
endpoint behind the NAT device. This is configured with the set security ipsec vpn vpn-name vpn-monitor
verify-path destination-ip configuration.
Starting in Junos OS Release 15.1X49-D120, you can configure the size of the packet that is used to verify
an IPsec datapath before the st0 interface is brought up. Use the set security ipsec vpn vpn-name
vpn-monitor verify-path packet-size configuration. The configurable packet size ranges from 64 to 1350
bytes; the default is 64 bytes.
Caveats
The source interface and destination IP addresses that can be configured for VPN monitor operation have
no effect on the IPsec datapath verification. The source for the ICMP requests in the IPsec datapath
verification is the local tunnel endpoint.
When you enable IPsec datapath verification, VPN monitoring is automatically activated and used after
the st0 interface is brought up. We recommend that you configure the VPN monitor optimized option
with the set security ipsec vpn vpn-name vpn-monitor optimized command whenever you enable IPsec
datapath verification.
1139
If a chassis cluster failover occurs during the IPsec datapath verification, the new active node starts the
verification again. The st0 interface is not activated until the verification succeeds.
No IPsec datapath verification is performed for IPsec SA rekeys, because the st0 interface state does not
change for rekeys.
IPsec datapath verification is not supported on st0 interfaces configured in point-to-multipoint mode that
are used with AutoVPN, Auto Discovery VPN, and multiple traffic selectors. VPN monitoring and IPsec
datapath verification do not support IPv6 addresses, so IPsec datapath verification cannot be used with
IPv6 tunnels.
You can monitor and maintain the efficient operation of your VPN using the following global VPN features:
• SPI—Peers in a security association (SA) can become unsynchronized when one of the peers fails. For
example, if one of the peers reboots, it might send an incorrect security parameter index (SPI). You can
enable the device to detect such an event and resynchronize the peers by configuring the bad SPI
response feature.
• VPN monitoring—You can use the global VPN monitoring feature to periodically send Internet Control
Message Protocol (ICMP) requests to the peer to determine if the peer is reachable.
VPN monitoring and dead peer detection (DPD) are features available on SRX Series devices to verify the
availability of VPN peer devices. This section compares the operation and configuration of these features.
The SRX Series device responds to DPD messages sent by VPN peers even if DPD is not configured on
the device. You can configure the SRX Series device to initiate DPD messages to VPN peers. You can also
configure DPD and VPN monitoring to operate simultaneously on the same SRX Series device, although
the number of peers that can be monitored with either method is reduced.
VPN monitoring is a Junos OS mechanism that monitors only Phase 2 security associations (SAs). VPN
monitoring is enabled on a per-VPN basis with the vpn-monitor statement at the [edit security ipsec vpn
vpn-name] hierarchy level. The destination IP and source interface must be specified. The optimized option
enables the device to use traffic patterns as evidence of peer liveliness; ICMP requests are suppressed.
VPN monitoring options are configured with the vpn-monitor-options statement at the [edit security
ipsec] hierarchy level. These options apply to all VPNs for which VPN monitoring is enabled. Options you
can configure include the interval at which ICMP requests are sent to the peer (the default is 10 seconds)
and the number of consecutive ICMP requests sent without receiving a response before the peer is
considered unreachable (the default is 10 consecutive requests).
1140
DPD is an implementation of RFC 3706, A Traffic-Based Method of Detecting Dead Internet Key Exchange
(IKE) Peers. It operates at the IKE level and monitors the peer based on both IKE and IPsec traffic activity.
DPD is configured on an individual IKE gateway with the dead-peer-detection statement at the [edit
security ike gateway gateway-name] hierarchy level. You can configure DPD modes of operation. The
default (optimized) mode sends DPD messages to the peer if there is no incoming IKE or IPsec traffic within
a configured interval after the local device sends outgoing packets to the peer. Other configurable options
include the interval at which DPD messages are sent to the peer (the default is 10 seconds) and the number
of consecutive DPD messages sent without receiving a response before the peer is considered unavailable
(the default is five consecutive requests).
Dead peer detection (DPD) is a method that network devices use to verify the current existence and
availability of other peer devices.
You can use DPD as an alternative to VPN monitoring. VPN monitoring applies to an individual IPsec VPN,
while DPD is configured only in an individual IKE gateway context.
A device performs DPD verification by sending encrypted IKE Phase 1 notification payloads (R-U-THERE
messages) to a peer and waiting for DPD acknowledgments (R-U-THERE-ACK messages) from the peer.
The device sends an R-U-THERE message only if it has not received any traffic from the peer during a
specified DPD interval. If the device receives an R-U-THERE-ACK message from the peer during this
interval, it considers the peer alive. If the device receives traffic on the tunnel from the peer, it resets its
R-U-THERE message counter for that tunnel, thus starting a new interval. If the device does not receive
an R-U-THERE-ACK message during the interval, it considers the peer dead. When the device changes
the status of a peer device to be dead, the device removes the Phase 1 security association (SA) and all
Phase 2 SAs for that peer.
The following DPD modes are supported on the SRX Series devices:
• Optimized—R-U-THERE messages are triggered if there is no incoming IKE or IPsec traffic within a
configured interval after the device sends outgoing packets to the peer. This is the default mode.
• Probe idle tunnel—R-U-THERE messages are triggered if there is no incoming or outgoing IKE or IPsec
traffic within a configured interval. R-U-THERE messages are sent periodically to the peer until there is
traffic activity. This mode helps in early detection of a downed peer and makes the tunnel available for
data traffic.
When multiple traffic selectors are configured for a VPN, multiple tunnels can be established for the
same IKE SA. In this scenario, the probe idle tunnel mode triggers R-U-THERE messages to be sent if
any tunnel associated with the IKE SA becomes idle, even though there may be traffic in another tunnel
for the same IKE SA.
• Always send—R-U-THERE messages are sent at configured intervals regardless of traffic activity between
the peers.
1141
We recommend that the probe idle tunnel mode be used instead of the always-send mode.
DPD timers are active as soon as the Phase 1 SA is established. The DPD behavior is the same for both
IKEv1 and IKEv2 protocols.
• The interval parameter specifies the amount of time (expressed in seconds) the device waits for traffic
from its peer before sending an R-U-THERE message. The default interval is 10 seconds. Starting with
Junos OS Release 15.1X49-D130, the permissible interval parameter range at which R-U-THERE messages
are sent to the peer device is reduced from 10 through 60 seconds to 2 seconds through 60 seconds.
The minimum threshold parameter should be 3, when the DPD interval parameter is set less than 10
seconds.
• The threshold parameter specifies the maximum number of times to send the R-U-THERE message
without a response from the peer before considering the peer dead. The default number of transmissions
is five times, with a permissible range of 1 to 5 retries.
• When a DPD configuration is added to an existing gateway with active tunnels, R-U-THERE messages
are started without clearing Phase 1 or Phase 2 SAs.
• When a DPD configuration is deleted from an existing gateway with active tunnels, R-U-THERE messages
are stopped for the tunnels. IKE and IPsec SAs are not affected.
• Modifying any DPD configuration option such as the mode, interval, or threshold values updates the
DPD operation without clearing Phase 1 or Phase 2 SAs.
• If the IKE gateway is configured with DPD and VPN monitoring but the option to establish tunnels
immediately is not configured, DPD does not initiate Phase 1 negotiation. When DPD is configured, the
establish tunnels immediately option must also be configured at the same time to tear down the st0
interface when there are no phase 1 and phase 2 SAs available.
• If the IKE gateway is configured with multiple peer IP addresses and DPD but Phase 1 SA fails to be
established to the first peer IP address, a Phase 1 SA is attempted with the next peer IP address. DPD
is active only after a Phase 1 SA is established.
• If the IKE gateway is configured with multiple peer IP addresses and DPD but DPD fails with the current
peer’s IP address, the Phase 1 and Phase 2 SAs are cleared and a failover to the next peer IP address is
triggered.
• More than one Phase 1 or Phase 2 SA can exist with the same peer because of simultaneous negotiations.
In this case, R-U-THERE messages are sent on all Phase 1 SAs. Failure to receive DPD responses for the
configured number of consecutive times clears the Phase 1 SA and the associated Phase 2 SA (for IKEv2
only).
1142
SEE ALSO
verify-path | 1440
IPsec VPN Overview | 28
Example: Configuring a Policy-Based VPN with Both an Initiator and a Responder Behind a NAT
Device | 725
When there is a network problem related to a VPN, after the tunnel comes up only the tunnel status is
tracked. Many issues can occur before the tunnel comes up. Hence, instead of tracking only the tunnel
status, tunnel down issues, or negotiation failures, successful events such as successful IPsec SA negotiations,
IPsec rekey, and IKE SA rekeys are now tracked. These events are called tunnel events.
For Phase 1 and Phase 2, negotiation events for a given tunnel are tracked along with the events that
occur in external daemons like AUTHD or PKID. When a tunnel event occurs multiple times, only one
entry is maintained with the updated time and the number of times that event occurred.
Overall, 16 events are tracked: eight events for Phase 1 and eight events for Phase 2. Some events can
reoccur and fill up the event memory, resulting in important events being removed. To avoid overwriting,
an event is not stored unless a tunnel is down.
• IPsec SA delete payload received from peer, corresponding IPsec SAs cleared
AutoVPN tunnels are created and removed dynamically and consequently tunnel events corresponding
to these tunnels are short lived. Sometimes these tunnel events cannot be associated with any tunnel so
system logging is used for debugging instead.
SEE ALSO
IN THIS SECTION
Requirements | 1143
Overview | 1143
Configuration | 1143
Verification | 1144
This example shows how to configure a device to generate a system alert beep when a new security event
occurs. By default, alarms are not audible. This feature is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, and SRX1500 devices and vSRX instances.
Requirements
No special configuration beyond device initialization is required before configuring this feature.
Overview
In this example, you set an audible beep to be generated in response to a security alarm.
Configuration
Step-by-Step Procedure
To set an audible alarm:
[edit]
user@host# edit security alarms
2. Specify that you want to be notified of security alarms with an audible beep.
Verification
To verify the configuration is working properly, enter the show security alarms detail command.
SEE ALSO
IN THIS SECTION
Requirements | 1144
Overview | 1144
Configuration | 1145
Verification | 1147
This example shows how to configure the device to generate a system alarm when a potential violation
occurs. By default, no alarm is raised when a potential violation occurs. This feature is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, and SRX1500 devices and vSRX instances.
Requirements
No special configuration beyond device initialization is required before configuring this feature.
Overview
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
[edit]
user@host# edit security alarms
3. Specify that an alarm should be raised when a cryptographic self-test failure occurs.
4. Specify that an alarm should be raised when a non-cryptographic self-test failure occurs.
5. Specify that an alarm should be raised when a key generation self-test failure occurs.
8. Specify that an alarm should be raised when an IKE Phase 1 failure occurs.
9. Specify that an alarm should be raised when an IKE Phase 2 failure occurs.
10. Specify that an alarm should be raised when a replay attack occurs.
Results
From configuration mode, confirm your configuration by entering the show security alarms command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
potential-violation {
authentication 6;
cryptographic-self-test;
decryption-failures {
threshold 1;
}
encryption-failures {
threshold 10;
}
ike-phase1-failures {
threshold 10;
}
ike-phase2-failures {
threshold 1;
}
key-generation-self-test;
non-cryptographic-self-test;
replay-attacks;
}
If you are done configuring the device, enter commit from configuration mode.
Verification
To confirm that the configuration is working properly, from operational mode, enter the show security
alarms command.
SEE ALSO
Release Description
15.1X49-D130 Starting with Junos OS Release 15.1X49-D130, the permissible interval parameter range
at which R-U-THERE messages are sent to the peer device is reduced from 10 through 60
seconds to 2 seconds through 60 seconds. The minimum threshold parameter should be 3,
when the DPD interval parameter is set less than 10 seconds.
15.1X49-D120 Starting in Junos OS Release 15.1X49-D120, you can configure the size of the packet that
is used to verify an IPsec datapath before the st0 interface is brought up.
RELATED DOCUMENTATION
IN THIS SECTION
Example: Configuring Behavior Aggregate Classifier in PMI for vSRX instances | 1164
Example: Configuring and Applying a Firewall Filter for a Multifield Classifier in PMI | 1170
Example: Configuring and Applying Rewrite Rules on a Security Device in PMI | 1176
The performance of IPsec VPN traffic to minimize packet forwarding overhead can be optimized by enabling
VPN session affinity and performance acceleration.
VPN session affinity occurs when a cleartext session is located in a Services Processing Unit (SPU) that is
different from the SPU where the IPsec tunnel session is located. The goal of VPN session affinity is to
locate the cleartext and IPsec tunnel session in the same SPU. This feature is supported only on SRX5400,
SRX5600, and SRX5800 devices.
Without VPN session affinity, a cleartext session created by a flow might be located in one SPU and the
tunnel session created by IPsec might be located in another SPU. An SPU to SPU forward or hop is needed
to route cleartext packets to the IPsec tunnel.
By default, VPN session affinity is disabled on SRX Series devices. When VPN session affinity is enabled,
a new cleartext session is placed on the same SPU as the IPsec tunnel session. Existing cleartext sessions
are not affected.
The SRX5K-MPC (IOC2) and the IOC3 support VPN session affinity through improved flow module and
session cache. With IOCs, the flow module creates sessions for IPsec tunnel-based traffic before encryption
and after decryption on its tunnel-anchored SPU and installs the session cache for the sessions so that
the IOC can redirect the packets to the same SPU to minimize packet forwarding overhead. Express Path
(previously known as services offloading) traffic and NP cache traffic share the same session cache table
on the IOCs.
To display active tunnel sessions on SPUs, use the show security ipsec security-association command and
specify the Flexible PIC Concentrator (FPC) and Physical Interface Card (PIC) slots that contain the SPU.
For example:
You need to evaluate the tunnel distribution and traffic patterns in your network to determine if VPN
session affinity should be enabled.
Starting with Junos OS Release 12.3X48-D50, Junos OS Release 15.1X49-D90, and Junos OS Release
17.3R1, if VPN session affinity is enabled on SRX5400, SRX5600, and SRX5800 devices, the tunnel
1150
overhead is calculated according to the negotiated encryption and authentication algorithms on the anchor
Services Processing Unit (SPU). If the configured encryption or authentication changes, the tunnel overhead
is updated on the anchor SPU when a new IPsec security association is established.
• If there is a route change, established cleartext sessions remain on an SPU and traffic is rerouted if
possible. Sessions created after the route change can be set up on a different SPU.
• VPN session affinity only affects self traffic that terminates on the device (also known as host-inbound
traffic); self traffic that originates from the device (also known as host-outbound traffic) is not affected.
SEE ALSO
In session affinity without session migration, the cleartext session is created based on the cleartext session
SPU. The cleartext session is created on tunnel anchor SPU when the traffic arrives on the device. This
session cannot be changed or migrated afterwards.
With session migration feature, using the request command, you can provide matching filter criteria (such
as gateway name or remote IKE ID) to tear down the tunnels and specify the SPU where you want the
tunnel located. Tunnel migration after cleartext session creation results in tunnel session and text session
in different SPU again.
Session migration is the enhancement of session-affinity feature of migrating cleartext session to new
tunnel anchor SPU during flow fast path. This feature is supported only on SRX5400, SRX5600, and
SRX5800 devices. In session migration, tunnel-anchored SPU migrate its cleartext session to a different
SPU when it detects its related tunnel session is on a different SPU. During tunnel migration, forwarding
session is created on the anchor SPU. After anchor SPU has decapped IPSec packets, it searches the
1151
corresponding forwarding session in the session table, and then forwards the packet to the cleartext session
SPU for processing.
The session migration feature is enabled automatically when you enable session affinity using the set
security flow load-distribution session-affinity ipsec command. If you disable session affinity configuration
when a cleartext session is created, then the session will not be able to migrate to new SPU.
Only client to server packets triggers cleartext session migration, because reverse policy might be not
configured and two wings in the session after migration should not be flipped in direction.
During cleartext migration, packet delay processing should be expected since first path is triggered, and
packets arrives before new session completes will be queued. Especially when there are a large number
of cleartext session corresponding to one tunnel session and to be migrated at the same time.
In a TCP session, if the first trigger packet fails to create a new session on new SPU, and if no packets are
received in the old SPU before the old cleartext session ages out, for the following packets in the session,
then the packets are dropped with first tcp packet not syn message. This is because, there is no idea
whether to create a migrated TCP session or a new TCP session.
When the old tunnel is being deleted and new tunnel is getting created, all packets that enter cleartext
session are dropped due to no-route (as new tunnel creation has not been completed).
SEE ALSO
session-affinity
By default, VPN session affinity is disabled on SRX Series devices. Enabling VPN session affinity can
improve VPN throughput under certain conditions. This feature is supported only on SRX5400, SRX5600,
and SRX5800 devices. This section describes how to use the CLI to enable VPN session affinity.
Determine if clear-text sessions are being forwarded to IPsec tunnel sessions on a different SPU. Use the
show security flow session command to display session information about clear-text sessions.
In the example, there is a tunnel session on FPC 3, PIC 0 and a clear-text session on FPC 6, PIC 0. A
forwarding session (session ID 60017354) is set up on FPC 3, PIC 0.
Junos OS Release 15.1X49-D10 introduces session affinity support on IOCs (SRX5K-MPC [IOC2],
SRX5K-MPC3-100G10G [IOC3], and SRX5K-MPC3-40G10G [IOC3]) and Junos OS Release 12.3X48-D30
introduces session affinity support on IOC2. You can enable session affinity for the IPsec tunnel session
on the IOC FPCs. To enable IPsec VPN affinity, you must also enable the session cache on IOCs by using
the set chassis fpc fpc-slot np-cache command.
1. In configuration mode, use the set command to enable VPN session affinity.
[edit]
user@host# set security flow load-distribution session-affinity ipsec
1153
[edit]
user@host# commit check
[edit]
user@host# commit
After enabling VPN session affinity, use the show security flow session command to display session
information about clear-text sessions.
After VPN session affinity is enabled, the clear-text session is always located on FPC 3, PIC 0.
SEE ALSO
You can accelerate IPsec VPN performance by configuring the performance acceleration parameter. By
default, VPN performance acceleration is disabled on SRX Series devices. Enabling the VPN performance
acceleration can improve the VPN throughput with VPN session affinity enabled. This feature is only
supported on SRX5400, SRX5600, and SRX5800 devices.
This topic describes how to use the CLI to enable VPN performance acceleration.
To enable performance acceleration, you must ensure that cleartext sessions and IPsec tunnel sessions
are established on the same Services Processing Unit (SPU). Starting with Junos OS Release 17.4R1, IPsec
VPN performance is optimized when the VPN session affinity and performance acceleration features are
enabled. For more information on enabling session affinity, see “Understanding VPN Session Affinity” on
page 1149.
[edit]
user@host# set security flow load-distribution session-affinity ipsec
[edit]
user@host# set security flow ipsec-performance-acceleration
[edit]
user@host# commit check
1155
[edit]
user@host# commit
After enabling VPN performance acceleration, use the show security flow status command to display flow
status.
SEE ALSO
Starting with Junos OS Release 19.2R1, you can configure one or more IPsec distribution profiles for IPsec
security associations (SAs). Tunnels are distributed evenly across all resources (SPCs) specified in the
configured distribution profile. It is supported in SPC3 only and mixed-mode (SPC3 + SPC2), it is not
supported on SPC1 and SPC2 systems. With the IPsec distribution profile, use the set security ipsec vpn
vpn-name distribution-profile distribution-profile-name command to associate tunnels to a specified:
• Slot
• PIC
• default-spc2-profile —Use this predefined default profile to associate IPsec tunnels to all available SPC2
cards.
• default-spc3-profile —Use this predefined default profile to associate IPsec tunnels to all available SPC3
cards.
You can now assign a profile to a specific VPN object, where all associated tunnels will be distributed
based on this profile. If no profile is assigned to the VPN object, the SRX Series device automatically
distributes these tunnels evenly across all resources.
You can associate a VPN object with either a user-defined profile or a predefined (default) profile.
Starting in Junos OS Release 20.2R2, the invalid thread IDs configured to the distribution profile are ignored
with no commit-check error message. The IPsec tunnel gets anchored as per the configured distribution
profile ignoring invalid thread IDs if any for that profile.
In the following example, all tunnels associated with profile ABC will be distributed on FPC 0, PIC 0.
PowerMode IPsec (PMI) is a new mode of operation that provides IPsec performance improvements using
Vector Packet Processing and Intel AES-NI instructions. PMI utilizes a small software block inside the
Packet Forwarding Engine that bypasses flow processing and utilizes the AES-NI instruction set for optimized
performance of IPsec processing and is activated when PMI is enabled.
You enable PMI processing by using the set security flow power-mode-ipsec configuration mode command.
To disable PMI processing, use the delete security flow power-mode-ipsec configuration mode command
to delete the statement from the configuration.
For SRX4100, SRX4200 devices running Junos OS Release 18.4R1 and vSRX running Junos OS Release
18.3R1, after you enable or disable the PMI, you must reboot the device for the configuration to take
effect. However, for SRX5000 line devices and vSRX instances running Junos OS Release 19.2R1, reboot
is not required.
1157
Packets cannot go through the PMI when firewall or advanced security services are combined with IPsec.
Hence, PMI must not be used when firewall or advanced security services are combined with IPsec.
You can verify the PMI status by using the show security flow status operational mode command.
A tunnel session can either be PMI or non-PMI. If a session is configured with any of the non-supported
features listed in Table 102 on page 1157, the session is marked as non-PMI and the tunnel will go into
non-PMI mode. Once the tunnel goes into the non-PMI mode, it will not go back to the PMI mode.
Table 102 on page 1157 summarizes the features supported in PMI, along with the features that are not
supported.
GTP-U scenario with TEID distribution and asymmetric fat 3DES-CBC encryption algorithm
tunnel solution
First path and fast path processing for fragment handling and
unified encryption.
NAT
1158
• PMI does a pre-fragmentation and post-fragmentation check. If the PMI detects pre-fragmentation and
post-fragmentation packets, packets are not allowed through the PMI mode. The packets will return to
non-PMI mode.
• PMI is supported on link aggregation group (LAG) and redundant Ethernet (reth) interfaces with only
one member.
• PMI for NAT-T is supported only on SRX5400, SRX5600, SRX5800 devices equipped with SRX5K-SPC3
Services Processing Card (SPC), or with vSRX.
Starting in Junos OS Release 19.1R1, Class of Service(CoS) supports configuration of behavior aggregate
(BA) classifier, multifield (MF) classifier, and rewrite-rule functions in PMI on SRX5K-SPC3 Services
Processing Card (SPC) cards.
Starting in Junos OS Release 19.2R1, PowerMode IPsec (PMI) supports GTP-U scenario with TEID
distribution and asymmetric fat tunnel solution.
Starting in Junos OS Release 19.3R1, GTP-U scenario with TEID distribution and asymmetric fat tunnel
solution and Software Recieve Side Scaling feature on vSRX and vSRX 3.0.
• Per-flow CoS functions for GTP-U traffic in PowerMode IPsec (PMI) mode.
1159
• Class of Service (CoS) features in PowerMode IPsec (PMI) mode. The following CoS features are supported
in PMI mode:
• Classifier
• Rewrite-rule functions
• Queuing
• Shaping
• Scheduling
The below section describes you how to configure security flow PMI.
To configure security flow PowerMode IPsec, you much enable session cache on IOCs and session affinity:
SEE ALSO
IN THIS SECTION
Requirements | 1160
Overview | 1160
Configuration | 1161
Verification | 1163
This example shows how to configure behavior aggregate(BA) classifiers for a SRX device to determine
forwarding treatment of packets in PowerMode IPsec (PMI).
Requirements
• Determine the forwarding class and PLP that are assigned by default to each well-known DSCP that
you want to configure for the behavior aggregate classifier.
Overview
Configure behavior aggregate classifiers to classify the packets that contain valid DSCPs to appropriate
queues. Once configured, you apply the behavior aggregate classifier to the correct interfaces. You override
the default IP precedence classifier by defining a classifier and applying it to a logical interface. To define
new classifiers for all code point types, include the classifiers statement at the [edit class-of-service]
hierarchy level.
1161
In this example, set the DSCP behavior aggregate classifier to ba-classifier as the default DSCP map. Set
a best-effort forwarding class as be-class, an expedited forwarding class as ef-class, an assured forwarding
class as af-class, and a network control forwarding class as nc-class. Finally, apply the behavior aggregate
classifier to the interface ge-0/0/0.
Table 2 shows how the behavior aggregate classifier assigns loss priorities, to incoming packets in the four
forwarding classes.
mf-classifier Forwarding
Class For CoS Traffic Type ba-classifier Assignments
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the Junos OS CLI User Guide.
[edit]
user@host# edit class-of-service
[edit class-of-service]
user@host# edit classifiers dscp ba-classifier
user@host# set import default
[edit]
user@host# set class-of-service interfaces ge-0/0/0 unit 0 classifiers dscp ba-classifier
1163
Results
From configuration mode, confirm your configuration by entering the show class-of-service command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show class-of-service
classifiers {
dscp ba-classifier {
import default;
forwarding-class be-class {
loss-priority high code-points 000001;
}
forwarding-class ef-class {
loss-priority high code-points 101111;
}
forwarding-class af-class {
loss-priority high code-points 001100;
}
forwarding-class nc-class {
loss-priority high code-points 110001;
}
}
}
interfaces {
ge-0/0/0 {
unit 0 {
classifiers {
dscp ba-classifier;
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Make sure that the classifier is applied to the correct interfaces.
Action
From the operational mode, enter the show class-of-service interface ge-0/0/0 command.
Meaning
The interfaces are configured as expected.
IN THIS SECTION
Requirements | 1165
Overview | 1165
Configuration | 1165
Verification | 1169
This example shows how to configure behavior aggregate (BA) classifiers for a vSRX instance to determine
forwarding treatment of packets in PowerMode IPsec (PMI).
1165
Requirements
• A vSRX instance.
• Determine the forwarding class and Packet loss priorities(PLP) that are assigned by default to each
well-known DSCP that you want to configure for the behavior aggregate classifier.
Overview
Configure behavior aggregate classifiers to classify the packets that contain valid DSCPs to appropriate
queues. Once configured, you apply the behavior aggregate classifier to the correct interfaces. You override
the default IP precedence classifier by defining a classifier and applying it to a logical interface. To define
new classifiers for all code point types, include the classifiers statement at the [edit class-of-service]
hierarchy level.
In this example, set the DSCP behavior aggregate classifier to ba-classifier as the default DSCP map. Set
a best-effort forwarding class as be-class, an expedited forwarding class as ef-class, an assured forwarding
class as af-class, and a network control forwarding class as nc-class. Finally, apply the behavior aggregate
classifier to the interface ge-0/0/0.
Table 2 shows how the behavior aggregate classifier assigns loss priorities, to incoming packets in the four
forwarding classes.
mf-classifier Forwarding
Class For CoS Traffic Type ba-classifier Assignments
Configuration
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from the configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the Junos OS CLI User Guide.
[edit]
user@host# edit class-of-service
[edit class-of-service]
user@host# edit classifiers dscp ba-classifier
[edit class-of-service]
user@host# set interfaces ge-0/0/1 unit 0 classifiers dscp ba-classifier
user@host# set interfaces ge-0/0/3 unit 0 scheduler-map SCHEDULER-MAP
user@host# set interfaces ge-0/0/3 unit 0 shaping-rate 2k
[edit class-of-service]
user@host# set scheduler-maps SCHEDULER-MAP forwarding-class ef scheduler voice
user@host# set schedulers voice buffer-size temporal 5k
1168
user@host# set schedulers voice drop-profile-map loss-priority any protocol any drop-profile drop_profile
Results
From configuration mode, confirm your configuration by entering the show class-of-service command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show class-of-service
classifiers {
dscp ba-classifier {
forwarding-class be {
loss-priority low code-points be;
}
forwarding-class ef {
loss-priority low code-points ef;
loss-priority high code-points [ af41 af11 af31 ];
}
forwarding-class low_delay {
loss-priority low code-points af21;
}
forwarding-class low_loss {
loss-priority low code-points cs6;
}
}
}
drop-profiles {
drop_profile {
fill-level 20 drop-probability 50;
fill-level 50 drop-probability 100;
}
}
forwarding-classes {
queue 0 be;
queue 1 ef;
queue 2 low_delay;
queue 3 low_loss;
}
interfaces {
ge-0/0/1 {
unit 0 {
classifiers {
1169
dscp ba-classifier;
}
}
}
ge-0/0/3 {
unit 0 {
scheduler-map SCHEDULER-MAP;
shaping-rate 2k;
}
}
}
scheduler-maps {
SCHEDULER-MAP {
forwarding-class ef scheduler voice;
}
}
schedulers {
voice {
buffer-size temporal 5k;
drop-profile-map loss-priority any protocol any drop-profile drop_profile;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that the classifier is configured properly and confirm that the forwarding classes are configured
correctly.
1170
Action
From the operational mode, enter the show class-of-service forwarding-class command.
Meaning
The output shows the configured custom classifier settings.
IN THIS SECTION
Requirements | 1171
Overview | 1171
Configuration | 1171
Verification | 1175
This example shows how to configure a firewall filter to classify traffic to different forwarding class by
using DSCP value and multifield (MF) classifier in PowerMode IPsec (PMI).
The classifier detects packets of interest to class of service (CoS) as they arrive on an interface. MF classifiers
are used when a simple behavior aggregate (BA) classifier is insufficient to classify a packet, when peering
routers do not have CoS bits marked, or the peering router’s marking is untrusted.
1171
Requirements
• Determine the forwarding class that are assigned by default to each well-known DSCP that you want
to configure for the MF classifier. See “Improving IPsec Performance with PowerMode IPsec” on page 1156.
Overview
This example explain how to configure the firewall filter mf-classifier. To configure the MF classifier, create
and name the assured forwarding traffic class, set the match condition, and then specify the destination
address as 192.168.44.55. Create the forwarding class for assured forwarding DiffServ traffic as af-class
and set the loss priority to low.
In this example, create and name the expedited forwarding traffic class and set the match condition for
the expedited forwarding traffic class. Specify the destination address as 192.168.66.77. Create the
forwarding class for expedited forwarding DiffServ traffic as ef-class and set the policer to ef-policer.
Create and name the network-control traffic class and set the match condition.
In this example, create and name the forwarding class for the network control traffic class as nc-class and
name the forwarding class for the best-effort traffic class as be-class. Finally, apply the multifield classifier
firewall filter as an input and output filter on each customer-facing or host-facing that needs the filter. In
this example, the interface for input filter is ge-0/0/2 and interface for output filter is ge-0/0/4.
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the Junos OS CLI User Guide.
[edit]
user@host# edit firewall filter mf-classifier
user@host# set interface-specific
2. Create and name the term for the assured forwarding traffic class.
4. Create the forwarding class and set the loss priority for the assured forwarding traffic class.
5. Create and name the term for the expedited forwarding traffic class.
[edit]
user@host# edit firewall filter mf-classifier
user@host# edit term expedited-forwarding
1173
7. Create the forwarding class and apply the policer for the expedited forwarding traffic class.
8. Create and name the term for the network control traffic class.
[edit]
user@host# edit firewall filter mf-classifier
user@host# edit term network-control
9. Create the match condition for the network control traffic class.
10. Create and name the forwarding class for the network control traffic class.
11. Create and name the term for the best-effort traffic class.
[edit]
user@host# edit firewall filter mf-classifier
user@host# edit term best-effort
12. Create and name the forwarding class for the best-effort traffic class.
[edit]
user@host# set interfaces ge-0/0/2 unit 0 family inet filter input mf-classifier
[edit]
user@host# set interfaces ge-0/0/4 unit 0 family inet filter output mf-classifier
Results
From configuration mode, confirm your configuration by entering the show firewall filter mf-classifier
command. If the output does not display the intended configuration, repeat the configuration instructions
in this example to correct it.
[edit]
user@host# show firewall filter mf-classifier
interface-specific;
term assured-forwarding {
from {
destination-address {
192.168.44.55/32;
}
}
then {
loss-priority low;
forwarding-class af-class;
}
}
term expedited-forwarding {
from {
destination-address {
192.168.66.77/32;
}
}
then {
policer ef-policer;
forwarding-class ef-class;
}
}
term network-control {
from {
1175
precedence net-control;
}
then forwarding-class nc-class;
}
term best-effort {
then forwarding-class be-class;
}
From configuration mode, confirm your configuration by entering the show interfaces command. If the
output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show show interfaces
ge-0/0/2 {
unit 0 {
family inet {
filter {
input mf-classifier;
}
}
}
}
ge-0/0/4 {
unit 0 {
family inet {
filter {
output mf-classifier;
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that a firewall filter for a multifield classifier is configured properly on a device and confirm that the
forwarding classes are configured correctly.
Action
Meaning
The output shows the configured custom classifier settings.
IN THIS SECTION
Requirements | 1177
Overview | 1177
Configuration | 1177
Verification | 1180
1177
This example shows how to configure and apply rewrite rules for a device in PowerMode IPsec (PMI).
Requirements
• Create and configure the forwarding classes. See “Improving IPsec Performance with PowerMode IPsec”
on page 1156.
Overview
This example explains how to configure rewrite rules to replace CoS values on packets received from the
customer or host with the values expected by other SRX devices. You do not have to configure rewrite
rules if the received packets already contain valid CoS values. Rewrite rules apply the forwarding class
information and packet loss priority used internally by the device to establish the CoS value on outbound
packets. After you configure the rewrite rules, apply them to the correct interfaces.
In this example, configure the rewrite rule for DiffServ CoS as rewrite-dscps. Specify the best-effort
forwarding class as be-class, expedited forwarding class as ef-class, an assured forwarding class as af-class,
and a network control class as nc-class. Finally, apply the rewrite rule to the ge-0/0/0 interface.
Configuration
set class-of-service rewrite-rules dscp rewrite-dscps forwarding-class be-class loss-priority low code-point
000000
set class-of-service rewrite-rules dscp rewrite-dscps forwarding-class be-class loss-priority high code-point
000001
set class-of-service rewrite-rules dscp rewrite-dscps forwarding-class ef-class loss-priority low code-point
101110
set class-of-service rewrite-rules dscp rewrite-dscps forwarding-class ef-class loss-priority high code-point
101111
set class-of-service rewrite-rules dscp rewrite-dscps forwarding-class af-class loss-priority low code-point
001010
1178
set class-of-service rewrite-rules dscp rewrite-dscps forwarding-class af-class loss-priority high code-point
001100
set class-of-service rewrite-rules dscp rewrite-dscps forwarding-class nc-class loss-priority low code-point
110000
set class-of-service rewrite-rules dscp rewrite-dscps forwarding-class nc-class loss-priority high code-point
110001
set class-of-service interfaces ge-0/0/0 unit 0 rewrite-rules dscp rewrite-dscps
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the Junos OS CLI User Guide.
[edit]
user@host# edit class-of-service
user@host# edit rewrite-rules dscp rewrite-dscps
[edit class-of-service]
user@host# set interfaces ge-0/0/0 unit 0 rewrite-rules dscp rewrite-dscps
Results
From configuration mode, confirm your configuration by entering the show class-of-service command. If
the output does not display the intended configuration, repeat the configuration instructions in this example
to correct it.
[edit]
user@host# show class-of-service
interfaces {
ge-0/0/0 {
unit 0 {
rewrite-rules {
dscp rewrite-dscps;
}
}
}
}
rewrite-rules {
dscp rewrite-dscps {
forwarding-class be-class {
loss-priority low code-point 000000;
loss-priority high code-point 000001;
}
forwarding-class ef-class {
loss-priority low code-point 101110;
loss-priority high code-point 101111;
}
forwarding-class af-class {
loss-priority low code-point 001010;
loss-priority high code-point 001100;
}
forwarding-class nc-class {
loss-priority low code-point 110000;
1180
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that rewrite rules are configured properly.
Action
Meaning
Rewrite rules are configured on ge-0/0/0 interface as expected.
1181
The PowerMode IPsec (PMI) introduced a new data path for achieving a high IPsec throughput performance.
Starting in Junos OS Release 19.4R1, on SRX5000 Series devices with SRX5K-SPC3 card, you can use
Encapsulating Security Payload (ESP) authentication-only mode in PMI mode, which provides authentication,
integrity checking, and replay protection without encrypting the data packets.
• Make sure that the session is PMI capable. See “Improving IPsec VPN Traffic Performance” on page 1148.
If you are done configuring the device, enter commit from configuration mode.
SEE ALSO
proposal | 1399
In an IPsec VPN tunnel configuration, an external interface must be specified to communicate with the
peer IKE gateway. Specifying a loopback interface for the external interface of a VPN is a good practice
1182
when there are multiple physical interfaces that can be used to reach a peer gateway. Anchoring a VPN
tunnel on the loopback interface removes the dependency on a physical interface for successful routing.
Using a loopback interface for VPN tunnels is supported on standalone SRX Series devices as well as on
SRX Series devices in chassis clusters. In a chassis cluster active-passive deployment, you can create a
logical loopback interface and make it a member of a redundancy group so that it can be used to anchor
VPN tunnels. The loopback interface can be configured in any redundancy group and is assigned as the
external interface for the IKE gateway. VPN packets are processed on the node where the redundancy
group is active.
On SRX5400, SRX5600, and SRX5800 devices, if the loopback interface is used as the IKE gateway external
interface, it must be configured in a redundancy group other than RG0.
In a chassis cluster setup, the node on which the external interface is active selects an SPU to anchor the
VPN tunnel. IKE and IPsec packets are processed on that SPU. Thus an active external interface determines
the anchor SPU.
You can use the show chassis cluster interfaces command to view information on the redundant
pseudointerface.
SEE ALSO
Release Description
12.3X48-D50 Starting with Junos OS Release 12.3X48-D50, Junos OS Release 15.1X49-D90, and Junos
OS Release 17.3R1, if VPN session affinity is enabled on SRX5400, SRX5600, and SRX5800
devices, the tunnel overhead is calculated according to the negotiated encryption and
authentication algorithms on the anchor Services Processing Unit (SPU).
17.4R1 Starting with Junos OS Release 17.4R1, IPsec VPN performance is optimized when the VPN
session affinity and performance acceleration features are enabled.
Junos OS Release Starting in Junos OS Release 20.2R2, the invalid thread IDs configured to the distribution
20.2R2 profile are ignored with no commit-check error message. The IPsec tunnel gets anchored as
per the configured distribution profile ignoring invalid thread IDs if any for that profile.
RELATED DOCUMENTATION
IN THIS SECTION
Example: Validating Digital Certificate by Configuring Policy OIDs on an SRX Series Device | 1203
A public key infrastructure (PKI) supports the distribution and identification of public encryption keys,
enabling users to both securely exchange data over networks such as the Internet and verify the identity
of the other party.
IN THIS SECTION
A digital certificate is an electronic means for verifying your identity through a trusted third party, known
as a certificate authority (CA). Alternatively, you can use a self-signed certificate to attest to your identity.
The CA server you use can be owned and operated by an independent CA or by your own organization,
in which case you become your own CA. If you use an independent CA, you must contact them for the
1186
addresses of their CA and certificate revocation list (CRL) servers (for obtaining certificates and CRLs) and
for the information they require when submitting personal certificate requests. When you are your own
CA, you determine this information yourself.
The Public Key Infrastructure (PKI) provides an infrastructure for digital certificate management.
The CA that issues a certificate uses a hash algorithm to generate a digest, and then “signs” the certificate
by encrypting the digest with its private key. The result is a digital signature. The CA then makes the
digitally signed certificate available for download to the person who requested it. Figure 63 on page 1186
illustrates this process.
The recipient of the certificate generates another digest by applying the same hash algorithm to the
certificate file, then uses the CA's public key to decrypt the digital signature. By comparing the decrypted
digest with the digest just generated, the recipient can confirm the integrity of the CA's signature and, by
extension, the integrity of the accompanying certificate. Figure 63 on page 1186 illustrates this process.
A certificate is considered valid if the digital signature can be verified and the serial number of the certificate
is not listed in a certificate revocation list.
When Digital Signature Algorithm (DSA) signatures are used, the SHA-1 hash algorithm is used to generate
the digest. When Rivest-Shamir-Adleman (RSA) signatures are used, SHA-1 is the default hash algorithm
used to generate the digest; you can specify the SHA-256 hash algorithm with the digest option of the
request security pki generate-certificate-request or request security pki local-certificate
generate-self-signed commands. When Elliptic Curve Digital Signature Algorithm (ECDSA) signatures are
used, the SHA-256 hash algorithm is used for ECDSA-256 signatures and the SHA-384 hash algorithm is
used for ECDSA-384 signatures.
Starting in Junos OS Release 18.1R3, the default encryption algorithm that is used for validating
automatically and manually generated self-signed PKI certificates is Secure Hash Algorithm 256 (SHA-256).
Prior to Junos OS Release 18.1R3, SHA-1 is used as default encryption algorithm.
To verify the trustworthiness of a certificate, you must be able to track a path of certified certificate
authorities (CAs) from the one issuing your local certificate to the root authority of a CA domain. Public
key infrastructure (PKI) refers to the hierarchical structure of trust required for the successful implementation
of public key cryptography.
Figure 64 on page 1188 shows the structure of a single-domain certificate authority with multiple hierarchy
levels.
1188
CA
The root-level CA validates subordinate CAs
certificate
If certificates are used solely within an organization, that organization can have its own CA domain within
which a company CA issues and validates certificates for its employees. If that organization later wants
its employees to exchange their certificates with certificates from another CA domain (for example, with
employees at another organization that has its own CA domain), the two CAs can develop cross-certification
by agreeing to trust the authority of each other. In this case, the PKI structure does not extend vertically
but does extend horizontally. See Figure 65 on page 1189.
1189
CA domain - A CA domain - B
CA CA
certificate certificate
The minimum PKI elements required for certificate-based authentication in Junos OS are:
• Local certificates including the device’s identity (example: IKE ID type and value) and private and public
keys
• Certificates
• Local certificate—The local certificate contains the public key and identity information for the Juniper
Networks device. The Juniper Networks device owns the associated private key. This certificate is
generated based on a certificate request from the Juniper Networks device.
• Pending certificate — A pending certificate contains a key pair and identity information that is generated
into a PKCS10 certificate request and manually sent to a certificate authority (CA). While the Juniper
Networks device waits for the certificate from the CA, the existing object (key pair and the certificate
request) is tagged as a certificate request or pending certificate.
1190
The procedure for digitally signing messages sent between two participants in an Internet Key Exchange
(IKE) session is similar to digital certificate verification, with the following differences:
• Instead of making a digest from the CA certificate, the sender makes it from the data in the IP packet
payload.
• Instead of using the CA's public-private key pair, the participants use the sender's public-private key
pair.
Trusted CA Group
A Certificate Authority (CA) is a trusted third party responsible for issuing and revoking certificates. You
can group multiple CAs (CA profiles) in one trusted CA group for a given topology. These certificates are
used to establish connection between two endpoints. To establish IKE or IPsec, both the endpoints must
trust the same CA. If either of the endpoints are unable to validate the certificate using their respective
trusted CA (ca-profile) or trusted CA group, the connection is not established.
For example, there are two endpoints, endpoint A and endpoint B are trying to establish a secure connection.
When endpoint B presents it’s certificate to endpoint A, the endpoint A will check if the certificate is valid.
The CA of the endpoint A verifies the signed certificate that the endpoint B is using to get authorized.
When trusted-ca or trusted-ca-group is configured, the device will only use the CA profiles added in this
trusted-ca-group or the CA profile configured under trusted-ca to validate the certificate coming from
endpoint B. If the certificate is verified as valid, the connection is allowed, else the connection is rejected.
Benefits:
• For any incoming connection request, only the certificate issued by that particular trusted CA of that
endpoint gets validated. If not, the authorization will reject establishing the connection.
With cryptographic key handling, persistent keys are stored in the memory of the device without any
attempt to alter them. While the internal memory device is not directly accessible to a potential adversary,
those who require a second layer of defense can enable special handling for cryptographic keys. When
enabled, the cryptographic key handling encrypts keys when not immediately in use, performs error
detection when copying a key from one memory location to another, and overwrites the memory location
of a key with a random bit pattern when the key is no longer in use. Keys are also protected when they
are stored in the flash memory of the device. Enabling cryptographic key handling feature does not cause
any externally observable change in the behavior of the device, and the device continues to interoperate
with the other devices.
1191
A cryptographic administrator can enable and disable the cryptographic self-test functions; however, the
security administrator can modify the behavior of the cryptographic self-test functions such configuring
periodic self-tests or selecting a subset of cryptographic self-tests.
The following persistent keys are currently under the management of IKE and PKI:
SEE ALSO
IN THIS SECTION
This section describes the procedure to create a trusted CA group for a list of CA profiles and delete a
trusted CA group.
You can configure and assign a trusted CA group to authorize an entity. When a peer tries to establish a
connection with a client, only the certificate issued by that particular trusted CA of that entity gets validated.
The device validates if the issuer of the certificate and the one presenting the certificate belongs to the
same client network. If the issuer and the presenter belong to the same client network then the connection
is established. If not, the connection will not be established.
Before you begin, you must have a list of all the CA profiles you want to add to the trusted group.
In this example, we are creating three CA profiles named orgA-ca-profile, orgB-ca-profile, and
orgC-ca-profile and associating the following CA identifiers ca-profile1, ca-profile2, and ca-profile3 for
the respective profiles. You can group all the three CA profiles to belong to a trusted CA group
orgABC-trusted-ca-group.
[edit]
user@host# set security pki ca-profile orgA-ca-profile ca-identity ca-profile1
user@host# set security pki ca-profile orgB-ca-profile ca-identity ca-profile2
user@host# set security pki ca-profile orgC-ca-profile ca-identity ca-profile3
[edit]
set security pki trusted-ca-group orgABC-trusted-ca-group ca-profiles [orgA-ca-profile orgB-ca-profile
orgC-ca-profile]]
3. Commit the configuration when you are done configuring the CA profiles and the trusted CA groups.
[edit]
user@host# commit
1193
To view the CA profiles and the trusted CA groups configured on your device, run show security pki
command.
The show security pki command displays all the CA profiles that are grouped under the
orgABC_trusted-ca-group.
You can delete a specific CA profile in a trusted CA group or you can delete the trusted CA group itself.
For example, if you want to delete a CA profile named orgC-ca-profile from a trusted CA group
orgABC-trusted-ca-group, configured on your device as shown in “Creating a Trusted CA Group for a List
of CA Profiles” on page 1192 topic perform the following steps:
[edit]
user@host# delete security pki trusted-ca-group orgABC-trusted-ca-group ca-profiles orgC-ca-profile
2. If you are done deleting the CA profile from the trusted CA group, commit the configuration.
[edit]
user@host# commit
1194
To view the orgC-ca-profile being deleted from the orgABC-trusted-ca-group , run the show security pki
command.
The output does not display the orgC-ca-profile profile as it is deleted from the trusted CA group.
An entity can support many trusted CA groups and you can delete any trusted CA group for an entity.
For example, if you want to delete a trusted CA group named orgABC-trusted-ca-group, configured on
your device as shown in “Creating a Trusted CA Group for a List of CA Profiles” on page 1192 topic perform
the following steps:
[edit]
user@host# delete security pki trusted-ca-group orgABC-trusted-ca-group
2. If you are done deleting the CA profile from the trusted CA group, commit the configuration.
[edit]
user@host# commit
To view the orgABC-trusted-ca-group being deleted from the entity , run the show security pki command.
ca-identity ca-profile2;
}
The output does not display the orgABC-trusted-ca-group as it is deleted from the entity.
SEE ALSO
IN THIS SECTION
You can obtain CA and local certificates manually, or online using Simple Certificate Enrollment Protocol
(SCEP) or CMPv2. Certificates are verifiable and renewable, and you can delete them when they are no
longer needed.
Manual certificate processing includes generation of a PKCS10 request, submission to the CA, retrieval
of the signed certificate, and manually loading the certificate into the Juniper Networks device. Based on
your deployment environment, you can use either SCEP or CMPv2 for online certificate enrollment.
To use a digital certificate to authenticate your identity when establishing a secure VPN connection, you
must first do the following:
• Obtain a CA certificate from which you intend to obtain a local certificate, and then load the CA certificate
onto the device. The CA certificate can contain a CRL to identify invalid certificates.
• Obtain a local certificate from the CA whose CA certificate you have previously loaded, and then load
the local certificate in the device. The local certificate establishes the identity of the Juniper Networks
device with each tunnel connection.
You can use either Certificate Management Protocol version 2 (CMPv2) or Simple Certificate Enrollment
Protocol (SCEP) to enroll digital certificates. To enroll a certificate online:
1. Generate a key pair on the device. See “Example: Generating a Public-Private Key Pair” on page 1197.
2. Create a CA profile or profiles containing information specific to a CA. See “Example: Configuring a CA
Profile” on page 1209.
3. For SCEP only, enroll the CA certificate. See “Enrolling a CA Certificate Online Using SCEP” on page 1215.
4. Enroll the local certificate from the CA whose CA certificate you have previously loaded. See “Example:
Enrolling a Local Certificate Online Using SCEP” on page 1215.
5. Configure automatic reenrollment. See “Example: Using SCEP to Automatically Renew a Local Certificate”
on page 1218.
SEE ALSO
1. Generate a key pair on the device. See “Example: Generating a Public-Private Key Pair” on page 1197.
2. Create a CA profile or profiles containing information specific to a CA. See “Example: Configuring a CA
Profile” on page 1209.
3. Generate the CSR for the local certificate and send it to the CA server. See “Example: Manually
Generating a CSR for the Local Certificate and Sending It to the CA Server” on page 1223.
4. Load the certificate onto the device. See “Example: Loading CA and Local Certificates Manually” on
page 1224.
5. Configure automatic reenrollment. See “Example: Using SCEP to Automatically Renew a Local Certificate”
on page 1218.
6. If necessary, load the certificate's CRL on the device. See “Example: Manually Loading a CRL onto the
Device” on page 1253.
7. If necessary, configure the CA profile with CRL locations. See “Example: Configuring a Certificate
Authority Profile with CRL Locations” on page 1257
1197
SEE ALSO
SEE ALSO
IN THIS SECTION
Requirements | 1197
Overview | 1197
Configuration | 1197
Verification | 1198
Requirements
No special configuration beyond device initialization is required before configuring this feature.
Overview
Configuration
Step-by-Step Procedure
1198
Verification
After the public-private key pair is generated, the Juniper Networks device displays the following:
SEE ALSO
IN THIS SECTION
During IKE negotiation, the PKI daemon on an SRX Series device validates X509 certificates received from
VPN peers. The certificate validation performed is specified in RFC 5280, Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List (CRL) Profile. Basic certificate and certificate chain
validations include signature and date validation as well as revocation checks. This topic describes additional
digital certificate validations performed by the PKI daemon.
1199
Policy Validation
X509 certificates can include optional policy validation fields. If a policy validation field is present, policy
validation is performed for the entire certificate chain including the end entity (EE) certificate and
intermediate certificate authority (CA) certificates. Policy validation is not applicable to the root certificate.
Policy validation ensures that the EE and intermediate CA certificates have a common policy. If no common
policy exists for the certificate chain being validated, certificate validation fails.
Prior to policy validation, a certificate chain containing the self-signed root certificate, intermediate CA
certificates, and EE certificate must be built. The policy validation starts with the intermediate CA certificate
issued by the self-signed root certificate and continues through the EE certificate.
The following optional certificate fields are used for policy validation:
• policy-oids
• requireExplicitPolicy
• skipCerts
On the SRX Series device, policy OIDs are configured in an IKE policy with the policy-oids configuration
statement at the [edit security ike policy policy-name certificate] hierarchy level. You can configure up to
five policy OIDs. For a peer’s certificate to be validated successfully, the peer’s certificate chain must
contain at least one of the policy OIDs configured on the SRX Series device. Note that the policy-oids
field in a certificate is optional. If you configure policy OIDs on the SRX Series device but the peer’s
certificate chain does not contain any policy OIDs, certificate validation fails.
Figure 66 on page 1200 shows a certificate chain that consists of certificates for a root CA, three intermediate
CAs, and an EE. The CA certificate for Int-CA-2 contains the requireExplicitPolicy field; therefore, policy
validation starts with Int-CA-2 and continues through EE-1. The certificate for Int-CA-2 contains policy
OIDs P1, P2, and P3. The certificate for Int-CA-3 contains policy OIDs P2, P3, and P4. The certificate for
EE-1 contains policy OIDs P2 and P5. Because the policy OID P2 is common to the certificates being
validated, policy validation succeeds.
1200
The optional skipCerts field in an intermediate CA certificate indicates the number of certificates, including
the current CA certificate, that are to be excluded from policy validation. If skipCerts is 0, policy validation
starts from the current certificate. If skipCerts is 1, the current certificate is excluded from policy validation.
The value of the skipCerts field is checked in every intermediate CA certificate. If a skipCerts value is
encountered that is lower than the current number of certificates being excluded, the lower skipCerts
value is used.
Figure 67 on page 1200 shows a certificate chain consisting of a root CA, four intermediate CAs, and an EE.
The skipCerts value in Int-CA-1 is 12, which skips 12 certificates including the certificate for Int-CA-1.
However, the skipCerts value is checked in every intermediate CA certificate in the chain. The skipCerts
value in Int-CA-2 is 2, which is lower than 12, so now 2 certificates are skipped. The skipCerts value in
Int-CA-4 is 5, which is greater than 2, so the Int-CA-4 skipCerts value is ignored.
When policy OIDs are configured on the SRX Series device, the certificate fields requireExplicitPolicy and
skipCerts are ignored.
1201
Certificate validation can involve a certificate chain that includes a root CA, one or more optional
intermediate CAs, and an EE certificate. The number of intermediate CAs can grow depending upon the
deployment scenario. Path length validation provides a mechanism to limit the number of intermediate
certificates involved in certificate validation. path-length is an optional field in an X509 certificate. The
value of path-length indicates the number of non-self-signed intermediate CA certificates allowed for
certificate validation. The last certificate, which is generally the EE certificate, is not included in the path
limit. If the root certificate contains a path-length value of 0, no intermediate CA certificates are allowed.
If the path-length value is 1, there can be 0 or 1 intermediate CA certificates.
path-length can be present in multiple CA certificates in the certificate chain. The path length validation
always begins with the self-signed root certificate. The path limit is decremented by 1 at each intermediate
certificate in the chain. If an intermediate certificate contains a path-length value less than the current
path limit, the new limit is enforced. On the other hand, if the path-length value is larger than the current
path limit, it is ignored.
Figure 68 on page 1201 shows a certificate chain that consists of a root CA, four intermediate CAs, and an
EE. The path-length value in Root-CA is 10, therefore the initial path limit of non-self-signed intermediate
CA certificates allowed for certificate validation is 10. At Int-CA-1, the path limit is 10-1 or 9. The
path-length value in Int-CA-1 is 4, which is less than the path limit of 9, so the new path limit becomes 4.
At Int-CA-2, the path limit is 4-1 or 3. The path-length value in Int-CA-2 is 5, which is larger than the path
limit of 3, so it is ignored. At Int-CA-3, the path limit is 3-1 or 2. The path-length value in Int-CA-3 is 20,
which is larger than the path limit of 2, so it is also ignored.
Key Usage
The key usage field in an EE or CA certificate defines the purpose of the key contained in the certificate.
1202
EE Certificates
For EE certificates, if the key usage field is present but the certificate does not contain digitalSignature
or nonrepudiation flags, the certificate is rejected. If the key usage field is not present, then key usage is
not checked.
CA Certificates
The key can be used for certificate or CRL signature validation. Because the PKI daemon is responsible
for both X509 certificate validation and CRL downloads, key usage must be checked before validating the
certificate or CRL.
Signature validation is performed for certificates received from a peer as well as for the CRL file downloaded
from a CA server. Signature validation involves looking up the CA certificate in a CA database based on
the issuer’s distinguished name (DN) in the certificate or the CRL being verified.
Figure 69 on page 1203 shows the lookup for CA certificates based on the issuer DN. In the EE certificate,
the issuer DN is CA-1, which is the subject DN of the intermediate CA certificate in the chain. In the
intermediate CA certificate, the issuer DN is CA-Root, which is the subject DN of the self-signed Root-CA
certificate in the chain. In the CRL, the issuer DN is CA-Root, which is the subject DN of the self-signed
Root-CA certificate.
1203
The lookup for the issuer or subject DN must follow these rules for attribute values:
• Attribute values encoded in different ASN.1 types (for example, PrintableString and BMPString) are
assumed to represent different strings.
• Attribute values encoded in PrintableString types are not case-sensitive. These attribute values are
compared after removing leading and trailing white spaces and converting internal substrings of one or
more consecutive white spaces to a single space.
SEE ALSO
IN THIS SECTION
Requirements | 1204
Overview | 1204
1204
Configuration | 1204
Verification | 1205
In some situations, it might be desirable to only accept certificates with known policy object identifiers
(OIDs) from peers. This optional configuration allows certificate validation to succeed only if the certificate
chain received from the peer contains at least one policy OID that is configured on the SRX Series device.
This example shows how to configure policy OIDs in the IKE policy on an SRX Series device.
You must ensure that at least one of the policy OIDs configured on the SRX Series device is included in a
peer’s certificate or certificate chain. Note that the policy-oids field in a peer’s certificate is optional. If
you configure policy OIDs in an IKE policy and the peer’s certificate chain does not contain any policy
OIDs, certificate validation for the peer fails.
Requirements
• Ensure that you are using Junos OS Release 12.3X48-D10 or later for SRX Series devices.
• Configure an IPsec VPN tunnel. See “IPsec VPN with Autokey IKE Configuration Overview” on page 69.
The complete IKE phase 1 and phase 2 VPN tunnel configuration is not shown in this example.
Overview
This example shows an IKE policy configuration where policy OIDs 2.16.840.1.101.3.1.48.2 and
5.16.40.1.101.3.1.55.2 are specified. The IKE policy ike_cert_pol references the IKE proposal ike_cert_prop,
which is not shown. The local certificate on the SRX Series device is lc-igloo-root.
Configuration
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
Results
From configuration mode, confirm your configuration by entering the show security ike policy ike_cert_pol
command. If the output does not display the intended configuration, repeat the instructions in this example
to correct the configuration.
If you are done configuring the device, enter commit from configuration mode.
Verification
Purpose
Display the CA certificate configured on the device.
Action
1206
From operational mode, enter the show security pki ca-certificate ca-profile ca-tmp command.
Purpose
1207
If the peer’s certificate is successfully validated, IKE and IPsec security associations are established. If the
validation of the peer’s certificate fails, no IKE security association is established.
Action
From operational mode, enter the show security ike security-associations and show security ipsec
security-associations commands.
node0:
--------------------------------------------------------------------------
Index State Initiator cookie Responder cookie Mode Remote Address
node0:
--------------------------------------------------------------------------
Total active tunnels: 2
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<213909506 ESP:aes-cbc-192/sha256 8cb9e40a 1295/ unlim - root 500 192.0.2.2
Meaning
The show security ike security-associations command lists all active IKE Phase 1 SAs. If no SAs are listed,
there was a problem with Phase 1 establishment. In this case, check for the
PKID_CERT_POLICY_CHECK_FAIL message in the system logs. This message indicates that the peer’s
certificate chain does not contain a policy OID that is configured on the SRX Series device. Check the
policy-oids values in the peer’s certificate chain with the values configured on the SRX Series device.
It might also be that the peer’s certificate chain does not contain any policy-oids fields, which are optional
fields. If this is the case, certificate validation fails if there are any policy OIDs configured on the SRX Series
device.
1208
SEE ALSO
Release Description
18.1R3 Starting in Junos OS Release 18.1R3, the default encryption algorithm that is used for validating
automatically and manually generated self-signed PKI certificates is Secure Hash Algorithm
256 (SHA-256). Prior to Junos OS Release 18.1R3, SHA-1 is used as default encryption algorithm.
RELATED DOCUMENTATION
IN THIS SECTION
Example: Configuring an IPv6 address as the Source Address for a CA Profile | 1212
A certificate authority (CA) profile define every parameter associated with a specific certificate to establish
secure connection between two endpoints. The profiles specify which certificates to use, how to verify
certificate revocation status, and how that status constrains access.
A certificate authority (CA) profile configuration contains information specific to a CA. You can have
multiple CA profiles on an SRX Series device. For example, you might have one profile for orgA and one
1209
for orgB. Each profile is associated with a CA certificate. If you want to load a new CA certificate without
removing the older one then create a new CA profile (for example, Microsoft-2008).
Starting with Junos OS Release 18.1R1, the CA server can be an IPv6 CA server.
The PKI module supports IPv6 address format to enable the use of SRX Series devices in networks where
IPv6 is the only protocol used.
A CA issues digital certificates, which helps to establish secure connection between two endpoints through
certificate validation. You can group multiple CA profiles in one trusted CA group for a given topology.
These certificates are used to establish a connection between two endpoints. To establish IKE or IPsec,
both the endpoints must trust the same CA. If either of the endpoints are unable to validate the certificate
using their respective trusted CA (ca-profile) or trusted CA group, the connection is not established. A
minimum of one CA profile is mandatory to create a trusted CA group and maximum of 20 CAs are allowed
in one trusted CA group. Any CA from a particular group can validate the certificate for that particular
endpoint.
Starting with Junos OS Release 18.1R1, validation of a configured IKE peer can be done with a specified
CA server or group of CA servers. A group of trusted CA servers can be created with the trusted-ca-group
configuration statement at the [edit security pki] hierarchy level; one or multiple CA profiles can be
specified. The trusted CA server is bound to the IKE policy configuration for the peer at [edit security ike
policy policy certificate] hierarchy level.
If proxy profile is configured in CA profile, the device connects to the proxy host instead of the CA server
while certificate enrollment, verification or revocation. The proxy host communicates with the CA server
with the requests from the device, and then relay the response to the device.
CA proxy profile is supported only on HTTP and is not supported on HTTPS protocol.
SEE ALSO
IN THIS SECTION
Requirements | 1210
Overview | 1210
1210
Configuration | 1210
Verification | 1211
Requirements
No special configuration beyond device initialization is required before configuring this feature.
Overview
In this example, you create a CA profile called ca-profile-ipsec with CA identity microsoft-2008. You then
create proxy profile to the CA profile. The configuration specifies that the CRL be refreshed every 48
hours, and the location to retrieve the CRL is http://www.my-ca.com. Within the example, you set the
enrollment retry value to 20. (The default retry value is 10.)
Automatic certificate polling is set to every 30 minutes. If you configure retry only without configuring a
retry interval, then the default retry interval is 900 seconds (or 15 minutes). If you do not configure retry
or a retry interval, then there is no polling.
Configuration
Step-by-Step Procedure
To configure a CA profile:
1. Create a CA profile.
[edit]
user@host# set security pki ca-profile ca-profile-ipsec ca-identity microsoft-2008
user@host#
[edit]
user@host# set security pki ca-profile ca-profile-ipsec proxy-profile px-profile
Public key infrastructure (PKI) uses proxy profile configured at the system-level. The proxy profile being
used in the CA profile must be configured at the [edit services proxy] hierarchy. There can be more
than one proxy profile configured under [edit services proxy] hierarchy. Each CA profile is referred to
1211
the most one such proxy profile. You can configure host and port of the proxy profile at the [edit system
services proxy] hierarchy.
[edit]
user@host# set security pki ca-profile ca-profile-ipsec ca-identity microsoft-2008 revocation-check crl
4. Set the refresh interval, in hours, to specify the frequency in which to update the CRL. The default
values are next-update time in CRL, or 1 week, if no next-update time is specified.
[edit]
user@host# set security pki ca-profile ca-profile-ipsec ca-identity microsoft-2008 revocation-check crl
refresh-interval 48 url http://www.my-ca.com/my-crl.crl
[edit]
user@host# set security pki ca-profile ca-profile-ipsec enrollment retry 20
6. Specify the time interval in seconds between attempts to automatically enroll the CA certificate online.
[edit]
user@host# set security pki ca-profile ca-profile-ipsec enrollment retry-interval 1800
[edit]
user@host# commit
Verification
To verify the configuration is working properly, enter the show security pki command.
SEE ALSO
This example shows how to configure an IPv6 address as the source address for a CA profile.
No special configuration beyond device initialization is required before configuring this feature.
In this example, create a CA profile called orgA-ca-profile with CA identity v6-ca and set the source address
of the CA profile to be an IPv6 address, such as 2001:db8:0:f101::1. You can configure the enrollment
URL to accept an IPv6 address http://[2002:db8:0:f101::1]:/.../.
1. Create a CA profile.
[edit]
user@host# set security pki ca-profile orgA-ca-profile ca-identity v6_ca
[edit]
user@host# set security pki ca-profile v6_ca source-address 2001:db8:0:f101::1
[edit]
user@host# set security pki ca-profile v6_ca enrollment url http://[2002:db8:0:f101::1]:/.../
[edit]
user@host# commit
SEE ALSO
Release Description
18.1R1 Starting with Junos OS Release 18.1R1, the CA server can be an IPv6 CA server.
18.1R1 Starting with Junos OS Release 18.1R1, validation of a configured IKE peer can be done
with a specified CA server or group of CA servers.
RELATED DOCUMENTATION
IN THIS SECTION
Example: Manually Generating a CSR for the Local Certificate and Sending It to the CA Server | 1223
A certificate authority (CA) issues digital certificates, which helps to establish a secure connection between
two endpoints through certificate validation. The following topics describe how to configure CA certificates
online or local using Simple Certificate Enrollment Protocol (SCEP):
1214
With Simple Certificate Enrollment Protocol (SCEP), you can configure your Juniper Networks device to
obtain a certificate authority (CA) certificate online and start the online enrollment for the specified
certificate ID. The CA public key verifies certificates from remote peers.
SEE ALSO
When you create a local certificate request, the device generates a CA certificate in PKCS #10 format
from a key pair you previously generated using the same certificate ID.
A subject name is associated with the local certificate request in the form of a common name (CN),
organizational unit (OU), organization (O), locality (L), state (ST), country (C), and domain component (DC).
Additionally, a subject alternative name is associated in the following form:
• IP address
• E-mail address
Specify the subject name in the distinguished name format in quotation marks, including the domain
component (DC), common name (CN), serial number (SN), organizational unit name (OU), organization
name (O), locality (L), state (ST), and country (C).
Some CAs do not support an e-mail address as the domain name in a certificate. If you do not include
an e-mail address in the local certificate request, you cannot use an e-mail address as the local IKE ID
when configuring the device as a dynamic peer. Instead, you can use a fully qualified domain name (if it
is in the local certificate), or you can leave the local ID field empty. If you do not specify a local ID for a
dynamic peer, enter the hostname.domain-name of that peer on the device at the other end of the IPsec
tunnel in the peer ID field.
SEE ALSO
1. Generate a public and private key pair. See “Example: Generating a Public-Private Key Pair” on page 1197.
1. Retrieve the CA certificate online using SCEP. (The attributes required to reach the CA server are
obtained from the defined CA profile.)
The command is processed synchronously to provide the fingerprint of the received CA certificate.
Fingerprint:
e6:fa:d6:da:e8:8d:d3:00:e8:59:12:e1:2c:b9:3c:c0:9d:6c:8f:8d (sha1)
82:e2:dc:ea:48:4c:08:9a:fd:b5:24:b0:db:c3:ba:59 (md5)
Do you want to load the above CA certificate ? [yes,no]
2. Confirm that the correct certificate is loaded. The CA certificate is loaded only when you type yes at
the CLI prompt.
For more information on the certificate, such as the bit length of the key pair, use the command show
security pki ca-certificate.
SEE ALSO
IN THIS SECTION
Requirements | 1216
Overview | 1216
1216
Configuration | 1217
Verification | 1217
This example shows how to enroll a local certificate online using Simple Certificate Enrollment Protocol
(SCEP).
Requirements
• Generate a public and private key pair. See “Example: Generating a Public-Private Key Pair” on page 1197.
• Configure a certificate authority profile. See “Example: Configuring a CA Profile” on page 1209.
• For SCEP, enroll the CA certificate. See “Enrolling a CA Certificate Online Using SCEP” on page 1215.
Overview
In this example, you configure your Juniper Networks device to obtain a local certificate online and start
the online enrollment for the specified certificate ID with SCEP. You specify the URL path to the CA server
in the CA profile name ca-profile-ipsec.
You use the request security pki local-certificate enroll scep command to start the online enrollment for
the specified certificate ID. (Starting in Junos OS Release 15.1X49-D40 and Junos OS Release 17.3R1,
the scep keyword is supported and required.) You must specify the CA profile name (for example,
ca-profile-ipsec), the certificate ID corresponding to a previously generated key-pair (for example, qqq),
and the following information:
• The challenge password provided by the CA administrator for certificate enrollment and reenrollment.
• The domain name to identify the certificate owner in IKE negotiations—for example, qqq.example.net.
• The identity of the certificate owner for IKE negotiation with the e-mail statement—for example,
[email protected].
• The IP address if the device is configured for a static IP address—for example, 10.10.10.10.
Specify the subject name in the distinguished name format in quotation marks, including the domain
component (DC), common name (CN), serial number (SN), organizational unit name (OU), organization
name (O), locality (L), state (ST), and country (C).
1217
Once the device certificate is obtained and the online enrollment begins for the certificate ID. The command
is processed asynchronously.
Configuration
Step-by-Step Procedure
To enroll a local certificate online:
[edit]
user@host# set security pki ca-profile ca-profile-ipsec enrollment url path-to-ca-server
[edit]
user@host# commit
user@host> request security pki local-certificate enroll scep ca-profile ca-profile-ipsec certificate-id qqq
challenge-password ca-provided-password domain-name qqq.example.net email [email protected] ip-address
10.10.10.10 subject DC=example, CN=router3, SN, OU=marketing, O=example, L=sunnyvale, ST=california,
C=us
If you define SN in the subject field without the serial number, then the serial number is read directly
from the device and added to the certificate signing request (CSR).
Starting in Junos OS Release 19.4R2, a warning message ECDSA Keypair not supported with SCEP for
cert_id <certificate id> is displayed when you try to enroll local certificate using an Elliptic Curve Digital
Signature Algorithm (ECDSA) key with Simple Certificate Enrollment Protocol (SCEP) as ECDSA key is not
supported with SCEP.
Verification
To verify the configuration is working properly, enter the show security pki command.
SEE ALSO
IN THIS SECTION
Requirements | 1218
Overview | 1218
Configuration | 1219
Verification | 1219
You can use either Certificate Management Protocol version 2 (CMPv2) or Simple Certificate Enrollment
Protocol (SCEP) to enroll digital certificates. This example shows how to renew the local certificates
automatically using SCEP.
Requirements
• Obtain a certificate either on line or manually. See “Enrolling Digital Certificates Online: Configuration
Overview” on page 1196.
• Obtain a local certificate. See “Example: Enrolling a Local Certificate Online Using SCEP” on page 1215.
Overview
You can enable the device to automatically renew certificates that were acquired by online enrollment or
loaded manually. Automatic certificate renewal saves you from having to remember to renew certificates
on the device before they expire, and helps to maintain valid certificates at all times.
Automatic certificate renewal is disabled by default. You can enable automatic certificate renewal and
configure the device to automatically send out a request to reenroll a certificate before it expires. You can
specify when the certificate reenrollment request is to be sent; the trigger for reenrollment is the percentage
of the certificate’s lifetime that remains before expiration. For example, if the renewal request is to be
sent when the certificate's remaining lifetime is 10 percent, then configure 10 for the reenrollment trigger.
For this feature to work, the device must be able to reach the CA server, and the certificate must be present
on the device during the renewal process. Furthermore, you must also ensure that the CA issuing the
1219
certificate can return the same DN. The CA must not modify the subject name or alternate subject name
extension in the new certificate.
You can enable and disable automatic SCEP certificate renewal either for all SCEP certificates or on a
per-certificate basis. You use the set security pki auto-re-enrollment scep command to enable and configure
certificate reenrollment. In this example, you specify the certificate ID of the CA certificate as ca-ipsec
and set the CA profile name associated with the certificate to ca-profile-ipsec. You set the challenge
password for the CA certificate to the challenge password provided by the CA administrator; this password
must be the same one configured previously for the CA. You also set the percentage for the reenrollment
trigger to 10. During automatic reenrollment, the Juniper Networks device by default uses the existing
key pair. A good security practice is to regenerate a new key pair for reenrollment. To generate a new key
pair, use the re-generate-keypair command.
Configuration
Step-by-Step Procedure
To enable and configure local certificate reenrollment:
[edit]
user@host# set security pki auto-re-enrollment scep certificate-id ca-ipsec ca-profile-name ca-profile-ipsec
challenge-password ca-provided-password re-enroll-trigger-time-percentage 10 re-generate-keypair
Starting in Junos OS Release 15.1X49-D40 and Junos OS Release 17.3R1, the scep keyword is supported
and required.
[edit]
user@host# commit
Verification
To verify the configuration is working properly, enter the show security pki local-certificate detail
operational mode command.
SEE ALSO
Based on your deployment environment, you can use either Certificate Management Protocol version 2
(CMPv2) or Simple Certificate Enrollment Protocol (SCEP) for online certificate enrollment. This topic
describes some of the basic differences between the two protocols.
Table 105 on page 1220 describes the differences between the CMPv2 and SCEP certificate enrollment
protocols.
Supported standards RFCs 4210 and 4211 Internet Engineering Task Force draft
Certificate enrollment and reenrollment requests and responses differ between CMPv2 and SCEP. With
CMPv2, there is no separate command to enroll CA certificates. With SCEP, you enroll CA certificates
with the request security pki ca-certificate enroll command and specify the CA profile. A CA profile must
be configured with either CMPv2 or SCEP.
SEE ALSO
IN THIS SECTION
The request security pki local-certificate enroll cmpv2 command uses CMPv2 to enroll a local digital
certificate online. This command loads both end-entity and CA certificates based on the CA server
1221
configuration. The CA profile must be created prior to CA certificate enrollment because the enrollment
URL is extracted from the CA profile.
The CMPv2 protocol mainly involves certificate enrollment and reenrollment operations. The certificate
enrollment process includes Initialization Request and Initialization Response messages, while certificate
reenrollment includes Key Update Request and Key Update Response messages.
The Initialization Response or Key Update Response message can contain an issuer CA certificate or a
chain of CA certificates. The CA certificates received in the responses are treated as trusted CA certificates
and stored in the receiving device if they are not already present in the trusted CA store. These CA
certificates are later used for end-entity certificate validation.
A CA might issue a new CA certificate prior to the expiration of the current CA certificate. If a new CA
certificate arrives during certificate reenrollment with a new public key, the new CA certificate is not saved
in the device.
In a simple scenario, the Initialization Response message might contain only an end-entity certificate, in
which case the CA information is provided separately. The certificate is stored in the end-entity certificate
store.
The Initialization Response message can contain an end-entity certificate as well as a self-signed issuer
CA certificate. The end-entity certificate is first stored in the certificate store, and then the CA certificate
is checked. If the CA certificate is found and the subject distinguished name (DN) of the CA certificate in
the Initialization Response message matches the issuer DN of the end-entity certificate, the CA certificate
is stored in the CA certificate store for the CA profile name specified in the CMPv2 certificate enrollment
command. If the CA certificate already exists in the CA certificate store, no action is taken.
received from peer devices with similar hierarchies. The following section describes how certificates in
the CA chain are stored.
In Figure 70 on page 1222, the Initialization Response message includes the end-entity certificate and three
CA certificates in a certificate chain.
The end-entity certificate is stored in the end-entity certificate store. Each CA certificate needs a CA
profile. The CA certificate with the subject DN Sub11-CA is the first CA in the chain and is the issuer of
the end-entity certificate. It is stored in the CA profile that is specified with the CMPv2 certificate enrollment
command.
Each of the remaining CA certificates in the chain is checked for its presence in the CA store. If a CA
certificate is not present in the CA store, it is saved and a CA profile is created for it. The new CA profile
name is created using the least significant 16 digits of the CA certificate serial number. If the serial number
is longer than 16 digits, the most significant digits beyond 16 digits are truncated. If the serial number is
shorter than 16 digits, the remaining most significant digits are filled with 0s. For example, if the serial
number is 11111000100010001000, then the CA profile name is 1000100010001000. If the serial number
is 10001000, then the CA profile name is 0000000010001000.
It is possible that multiple certificate serial numbers can have the same least significant 16 digits. In that
case, -00 is appended to the profile name to create a unique CA profile name; additional CA profile names
are created by incrementing the appended number, from -01 up to -99. For example, CA profile names
can be 1000100010001000, 1000100010001000-00, and 1000100010001000-01.
1223
SEE ALSO
Example: Manually Generating a CSR for the Local Certificate and Sending
It to the CA Server
IN THIS SECTION
Requirements | 1223
Overview | 1223
Configuration | 1223
Verification | 1224
Requirements
Generate a public and private key. See “Example: Generating a Public-Private Key Pair” on page 1197.
Overview
In this example, you generate a certificate request using the certificate ID of a public-private key pair you
previously generated (ca-ipsec). Then you specify the domain name (example.net) and the associated
common name (abc). The certificate request is displayed in PEM format.
You copy the generated certificate request and paste it into the appropriate field at the CA website to
obtain a local certificate. (Refer to the CA server documentation to determine where to paste the certificate
request.) When the PKCS #10 content is displayed, the MD5 hash and SHA-1 hash of the PKCS #10 file
is also displayed.
Configuration
Step-by-Step Procedure
1224
Verification
To view the certificate signing request, enter the show security pki certificate-request detail command.
SEE ALSO
IN THIS SECTION
Requirements | 1225
Overview | 1225
1225
Configuration | 1225
Verification | 1226
Requirements
• Generate a public-private key pair. See “Example: Generating a Public-Private Key Pair” on page 1197.
CA Profile is only required for the CA certificate and not for the local certificate
• Generate a certificate request. See “Example: Manually Generating a CSR for the Local Certificate and
Sending It to the CA Server” on page 1223.
Overview
In this example, you download the local.cert and ca.cert certificates and save them to the /var/tmp/
directory on the device.
After you download certificates from a CA, you transfer them to the device (for example, using FTP), and
then load them.
You can load the following certificate files onto a device running Junos OS:
• A local or end-entity (EE) certificate that identifies your local device. This certificate is your public key.
Configuration
Step-by-Step Procedure
To load the certificate files onto a device:
[edit]
user@host> request security pki local-certificate load certificate-id local.cert filename /var/tmp/local.cert
[edit]
user@host> request security pki ca-certificate load ca-profile ca-profile-ipsec filename /var/tmp/ca.cert
3. Examine the fingerprint of the CA certificate, if it is correct for this CA certificate select yes to accept.
Verification
To verify the certificates loaded properly, enter the show security pki local-certificate and show security
pki ca-certificate commands in operational mode.
Fingerprint:
e8:bf:81:6a:cd:26:ad:41:b3:84:55:d9:10:c4:a3:cc:c5:70:f0:7f (sha1)
19:b0:f8:36:e1:80:2c:30:a7:31:79:69:99:b7:56:9c (md5)
Do you want to load this CA certificate ? [yes,no] (no) yes
SEE ALSO
You can delete a local or trusted CA certificate that is automatically or manually generated.
user@host> clear security pki local certificate certificate-id (certificate-id| all | system-generated )
1227
Specify a certificate ID to delete a local certificate with a specific ID, use all to delete all local certificates,
or specify system-generated to delete the automatically generated self-signed certificate.
When you delete an automatically generated self-signed certificate, the device generates a new one.
To delete a CA certificate:
Specify a CA profile to delete a specific CA certificate, or use all to delete all CA certificates present in the
persistent store.
SEE ALSO
Release Description
19.4R2 Starting in Junos OS Release 19.4R2, a warning message ECDSA Keypair not supported
with SCEP for cert_id <certificate id> is displayed when you try to enroll local certificate
using an Elliptic Curve Digital Signature Algorithm (ECDSA) key with Simple Certificate
Enrollment Protocol (SCEP) as ECDSA key is not supported with SCEP.
15.1X49-D40 Starting in Junos OS Release 15.1X49-D40 and Junos OS Release 17.3R1, the scep keyword
is supported and required.
15.1X49-D40 Starting in Junos OS Release 15.1X49-D40 and Junos OS Release 17.3R1, the scep keyword
is supported and required.
RELATED DOCUMENTATION
IN THIS SECTION
A self-signed certificate is a certificate that is signed by the same entity who created it rather than by a
Certificate Authority (CA). Junos OS provides two methods for generating a self-signed certificate- automatic
generation and manual generation.
A self-signed certificate is a certificate that is signed by its creator rather than by a Certificate Authority
(CA).
Self-signed certificates allow for use of SSL-based (Secure Sockets Layer) services without requiring that
the user or administrator to undertake the considerable task of obtaining an identity certificate signed by
a CA.
Self-signed certificates do not provide additional security as do those generated by CAs. This is because
a client cannot verify that the server he or she has connected to is the one advertised in the certificate.
• Automatic generation
In this case, the creator of the certificate is the Juniper Networks device. An automatically generated
self-signed certificate is configured on the device by default.
After the device is initialized, it checks for the presence of an automatically generated self-signed
certificate. If it does not find one, the device generates one and saves it in the file system.
• Manual generation
In this case, you create the self-signed certificate for the device.
At any time, you can use the CLI to generate a self-signed certificate. These certificates are also used
to gain access to SSL services.
1229
Self-signed certificates are valid for five years from the time they were generated.
An automatically generated self-signed certificate allows for use of SSL-based services without requiring
that the administrator obtain an identity certificate signed by a CA.
A self-signed certificate that is automatically generated by the device is similar to a Secure Shell (SSH) host
key. It is stored in the file system, not as part of the configuration. It persists when the device is rebooted,
and it is preserved when a request system snapshot command is issued.
A self-signed certificate that you manually generate allows for use of SSL-based services without requiring
that you obtain an identity certificate signed by a CA. A manually generated self-signed certificate is one
example of a public key infrastructure (PKI) local certificate. As is true of all PKI local certificates, manually
generated self-signed certificates are stored in the file system.
SEE ALSO
IN THIS SECTION
Requirements | 1229
Overview | 1230
Configuration | 1230
Verification | 1230
Requirements
Before you begin, generate a public private key pair. See “Example: Generating a Public-Private Key Pair”
on page 1197.
1230
Overview
For a manually generated self-signed certificate, you specify the DN when you create it. For an automatically
generated self-signed certificate, the system supplies the DN, identifying itself as the creator.
In this example, you generate a self-signed certificate with the e-mail address as [email protected].
You specify a certificate-id of self-cert to be referenced by web management, which refers a key-pair of
the same certificate-id.
Configuration
Step-by-Step Procedure
To generate the self-signed certificate manually:
user@host> request security pki local-certificate generate-self-signed certificate-id self-cert subject CN=abc
domain-name example.net ip-address 1.2.3.4 email [email protected]
Verification
To verify the certificate was properly generated and loaded, enter the show security pki local-certificate
operational mode command.
SEE ALSO
After the device is initialized, it checks for the presence of a self-signed certificate. If a self-signed certificate
is not present, the device automatically generates one.
You can add the following statement to your configuration if you want to use the automatically generated
self-signed certificate to provide access to HTTPS services:
system {
services {
web-management {
1231
http {
interface [ ... ];
} https {
system-generated-certificate;
interface [ ... ];
}
}
}
}
The device uses the following distinguished name for the automatically generated certificate:
Use the following command to specify that the automatically generated self-signed certificate is to be
used for Web management HTTPS services:
Use the following operational command to delete the automatically generated self-signed certificate:
After you delete the system-generated self-signed certificate, the device automatically generates a new
one and saves it in the file system.
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
Understanding Online Certificate Status Protocol and Certificate Revocation Lists | 1232
Digital certificates have an expiration date, however, prior to expiration, a certificate may no longer be
valid due to many reasons. You can manage certificate revocations and validations locally and by referencing
a Certificate Authority (CA) certificate revocation list (CRL).
OCSP is used to check the revocation status of X509 certificates. OCSP provides revocation status on
certificates in real time and is useful in time-sensitive situations such as bank transactions and stock trades.
The revocation status of a certificate is checked by sending a request to an OCSP server that resides
outside of an SRX Series device. Based on the response from the server, the VPN connection is allowed
or denied. OCSP responses are not cached on SRX Series devices.
The OCSP server can be the certificate authority (CA) that issues a certificate or a designated authorized
responder. The location of the OCSP server can be configured manually or extracted from the certificate
that is being verified. Requests are sent first to OCSP server locations that are manually configured in CA
profiles with the ocsp url statement at the [edit security pki ca-profile profile-name revocation-check]
hierarchy level; up to two locations can be configured for each CA profile. If the first configured OCSP
server is not reachable, the request is sent to the second OCSP server. If the second OCSP server is not
reachable, the request is then sent to the location in the certificate's AuthorityInfoAccess extension field.
The use-ocsp option must also be configured, as certificate revocation list (CRL) is the default checking
method.
1233
SRX Series devices accept only signed OCSP responses from the CA or authorized responder. The response
received is validated using trusted certificates. The response is validated as follows:
1. The CA certificate enrolled for the configured CA profile is used to validate the response.
2. The OCSP response might contain a certificate to validate the OCSP response. The received certificate
must be signed by a CA certificate enrolled in the SRX Series device. After the received certificate is
validated by the CA certificate, it is used to validate the OCSP response.
The response from the OCSP server can be signed by different CAs. The following scenarios are supported:
• The CA server that issues the end entity certificate for a device also signs the OCSP revocation status
response. The SRX Series device verifies the OCSP response signature using the CA certificate enrolled
in the SRX Series device. After the OCSP response is validated, the certificate revocation status is
checked.
• An authorized responder signs the OCSP revocation status response. The certificate for the authorized
responder and the end entity certificate being verified must be issued by the same CA. The authorized
responder is first verified using the CA certificate enrolled in the SRX Series device. The OCSP response
is validated using the responder’s CA certificate. The SRX Series device then uses the OCSP response
to check the revocation status of the end entity certificate.
• There are different CA signers for the end entity certificate being verified and the OCSP response. The
OCSP response is signed by a CA in the certificate chain for the end entity certificate being verified. (All
peers participating in an IKE negotiation need to have at least one common trusted CA in their respective
certificate chains.) The OCSP responder’s CA is verified using a CA in the certificate chain. After validating
the responder CA certificate, the OCSP response is validated using the responder’s CA certificate.
To prevent replay attacks, a nonce payload can be sent in an OCSP request. Nonce payloads are sent by
default unless it is explicitly disabled. If enabled, the SRX Series device expects the OCSP response to
contain a nonce payload, otherwise the revocation check fails. If OCSP responders are not capable of
responding with a nonce payload, then the nonce payload must be disabled on the SRX Series device.
In the normal course of business, certificates are revoked for various reasons. You might wish to revoke
a certificate if you suspect that it has been compromised, for example, or when a certificate holder leaves
the company.
• By referencing a Certificate Authority (CA) certificate revocation list (CRL)— You can automatically access
the CRL online at intervals you specify or at the default interval set by the CA.
In Phase 1 negotiations, participants check the CRL list to see if certificates received during an IKE exchange
are still valid. If a CRL did not accompany a CA certificate and is not loaded on the device, the device tries
to download it automatically from the CRL distribution point of the local certificate. If the device fails to
1234
connect to the URL in the certificate distribution point (CDP), it tries to retrieve the CRL from the URL
configured in the CA profile.
If the certificate does not contain a certificate distribution point extension, and you cannot automatically
retrieve the CRL through Lightweight Directory Access Protocol (LDAP) or Hypertext Transfer Protocol
(HTTP), you can retrieve a CRL manually and load that in the device.
Local certificates are being validated against certificate revocation list (CRL) even when CRL check is
disabled. This can be stopped by disabling the CRL check through the Public Key Infrastructure (PKI)
configuration. When CRL check is disabled, PKI will not validate local certificate against CRL.
Online Certificate Status Protocol (OCSP) and certificate revocation list (CRL) can both be used to check
the revocation status of a certificate. There are advantages and disadvantages to each method.
• OCSP provides certificate status in real time, while CRL uses cached data. For time-sensitive applications,
OCSP is the preferred approach.
• CRL checking is faster because lookup for certificate status is done on information cached on the VPN
device. OCSP requires time to obtain the revocation status from an external server.
• CRL requires additional memory to store the revocation list received from a CRL server. OCSP does not
require additional memory to save the revocation status of certificates.
• OCSP requires that the OCSP server be available at all times. CRL can use cached data to check the
revocation status of certificates when the server is unreachable.
On MX Series and SRX Series devices, CRL is the default method used to check the revocation status of
a certificate.
SEE ALSO
IN THIS SECTION
Requirements | 1235
Overview | 1235
1235
Configuration | 1238
Verification | 1248
This example shows how to improve security by configuring two peers using the Online Certificate Status
Protocol (OCSP) to check the revocation status of the certificates used in Phase 1 negotiations for the
IPsec VPN tunnel.
Requirements
On each device:
• Obtain and enroll a local certificate. This can be done either manually or by using the Simple Certificate
Enrollment Protocol (SCEP).
• Configure security policies to permit traffic to and from the peer device.
Overview
On both peers, a certificate authority (CA) profile OCSP-ROOT is configured with the following options:
• CA name is OCSP-ROOT.
• OCSP is used first to check the certificate revocation status. If there is no response from the OCSP
server, then the certificate revocation list (CRL) is used to check the status. The CRL URL is
http://10.1.1.1:8080/crl-as-der/currentcrl-45.crlid=45.
• The CA certificate received in an OCSP response is not checked for certificate revocation. Certificates
received in an OCSP response generally have shorter lifetimes and a revocation check is not required.
Table 106 on page 1235 shows the Phase 1 options used in this example.
Version v2 v2
Table 107 on page 1236 shows the Phase 2 options used in this example.
Topology
Figure 71 on page 1237 shows the peer devices that are configured in this example.
CA Server
reth 1.0
192.0.2.0/24 ge-0/0/2.0
2001:ac10::1/64 198.51.100.0/24
INTERNET
Peer A Peer B
g039014
Configuration
IN THIS SECTION
Configuring Peer A
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Configure interfaces.
[edit interfaces]
set ge-0/0/3 gigether-options redundant-parent reth1
set ge-9/0/3 gigether-options redundant-parent reth1
set lo0 unit 0 family inet address 172.16.1.100/24
set lo0 redundant-pseudo-interface-options redundancy-group 1
set reth1 redundant-ether-options redundancy-group 1
set reth1 unit 0 family inet address 192.0.2.0/24
set st0 unit 1 family inet address 172.18.1.100/24
Results
From configuration mode, confirm your configuration by entering the show interfaces, show security pki
ca-profile OCSP-ROOT, show security ike, and show security ipsec commands. If the output does not
display the intended configuration, repeat the configuration instructions in this example to correct it.
1241
[edit]
user@host# show interfaces
ge-0/0/3 {
gigether-options {
redundant-parent reth1;
}
}
ge-9/0/3 {
gigether-options {
redundant-parent reth1;
}
}
lo0 {
unit 0 {
family inet {
address 172.16.1.100/24;
}
}
redundant-pseudo-interface-options {
redundancy-group 1;
}
}
reth1 {
redundant-ether-options {
redundancy-group 1;
}
unit 0 {
family inet {
address 192.0.2.0/24;
}
}
}
st0 {
unit 1 {
family inet {
address 172.18.1.100/24;
}
}
}
[edit]
user@host# show security pki ca-profile OCSP-ROOT
ca-identity OCSP-ROOT;
enrollment {
url http://10.1.1.1:8080/scep/OCSP-ROOT/;
1242
}
revocation-check {
crl {
url http://10.1.1.1:8080/crl-as-der/currentcrl-45.crlid=45;
}
ocsp {
disable-responder-revocation-check;
url http://10.157.88.56:8210/OCSP-ROOT/;
}
use-ocsp;
}
[edit]
user@host# show security ike
proposal ike_prop {
authentication-method rsa-signatures;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm 3des-cbc;
}
policy ike_policy {
mode aggressive;
proposals ike_prop;
certificate {
local-certificate localcert1;
}
}
gateway jsr_gateway {
ike-policy ike_policy;
address 10.10.2.50;
remote-identity hostname localcert11.example.net;
external-interface reth1;
version v2-only;
}
[edit]
user@host# show security ipsec
proposal ipsec_prop {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm 3des-cbc;
lifetime-seconds 1200;
lifetime-kilobytes 150000;
}
policy ipsec_policy {
perfect-forward-secrecy {
1243
keys group2;
}
proposals ipsec_prop;
}
vpn test_vpn {
bind-interface st0.1;
ike {
gateway jsr_gateway;
ipsec-policy ipsec_policy;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Peer B
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
1. Configure interfaces.
[edit interfaces]
set ge-0/0/2 unit 0 family inet address 198.51.100.0/24
set lo0 unit 0 family inet address 172.17.1.100/24
set st0 unit 1 family inet address 172.18.1.1/24
Results
From configuration mode, confirm your configuration by entering the show interfaces, show security pki
ca-profile OCSP-ROOT, show security ike, and show security ipsec commands. If the output does not
display the intended configuration, repeat the configuration instructions in this example to correct it.
[edit]
user@host# show interfaces
ge-0/0/2 {
1246
unit 0 {
family inet {
address 198.51.100.0/24;
}
}
}
lo0 {
unit 0 {
family inet {
address 172.17.1.100/24;
}
}
}
st0 {
unit 1 {
family inet {
address 172.18.1.1/24;
}
}
}
[edit]
user@host# show security pki ca-profile OCSP-ROOT
ca-identity OCSP-ROOT;
enrollment {
url http://10.1.1.1:8080/scep/OCSP-ROOT/;
}
revocation-check {
crl {
url http://10.1.1.1:8080/crl-as-der/currentcrl-45.crlid=45;
}
ocsp {
disable-responder-revocation-check;
url http://10.157.88.56:8210/OCSP-ROOT/;
}
use-ocsp;
}
[edit]
user@host# show security ike
proposal ike_prop {
authentication-method rsa-signatures;
dh-group group2;
authentication-algorithm sha1;
encryption-algorithm 3des-cbc;
}
1247
policy ike_policy {
mode aggressive;
proposals ike_prop;
certificate {
local-certificate localcert11;
}
}
gateway jsr_gateway {
ike-policy ike_policy;
address 192.0.2.50;
local-identity hostname localcert11.example.net;
external-interface ge-0/0/2.0;
version v2-only;
}
[edit]
user@host# show security ipsec
proposal ipsec_prop {
protocol esp;
authentication-algorithm hmac-sha1-96;
encryption-algorithm 3des-cbc;
lifetime-seconds 1200;
lifetime-kilobytes 150000;
}
policy ipsec_policy {
perfect-forward-secrecy {
keys group2;
}
proposals ipsec_prop;
}
vpn test_vpn {
bind-interface st0.1;
ike {
gateway jsr_gateway;
ipsec-policy ipsec_policy;
}
establish-tunnels immediately;
}
If you are done configuring the device, enter commit from configuration mode.
1248
Verification
IN THIS SECTION
Verifying CA Certificates
Purpose
Verify the validity of a CA certificate on each peer device.
Action
From operational mode, enter the show security pki ca-certificate ca-profile OCSP-ROOT or show security
pki ca-certificate ca-profile OCSP-ROOT detail command.
Fingerprint:
ed:ce:ec:13:1a:d2:ab:0a:76:e5:26:6d:2c:29:5d:49:90:57:f9:41 (sha1)
af:87:07:69:f0:3e:f7:c6:b8:2c:f8:df:0b:ae:b0:28 (md5)
In this example, IP addresses are used in the URLs in the CA profile configuration. If IP addresses are not
used with CA-issued certificates or CA certificates, DNS must be configured in the device’s configuration.
DNS must be able to resolve the host in the distribution CRL and in the CA URL in the CA profile
configuration. Additionally, you must have network reachability to the same host to receive revocation
checks.
Meaning
The output shows the details and validity of CA certificate on each peer as follows:
• C—Country.
• O—Organization.
• CN—Common name.
Purpose
Verify the validity of a local certificate on each peer device.
Action
From operational mode, enter the show security pki local-certificate certificate-id localcert1 detail
command.
Meaning
The output shows the details and validity of a local certificate on each peer as follows:
• DC—Domain component.
• CN—Common name.
• OU—Organizational unit.
• O—Organization.
• L—Locality
• ST—State.
• C—Country.
Purpose
Verify the IKE Phase 1 status on each peer device.
Action
From operational mode, enter the show security ike security-associations command.
From operational mode, enter the show security ike security-associations detail command.
Meaning
The flags field in the output shows that, IKE security association is created.
Purpose
Verify the IPsec Phase 2 status on each peer device.
Action
From operational mode, enter the show security ipsec security-associations command.
From operational mode, enter the show security ipsec security-associations detail command.
Bind-interface: st0.1
Meaning
The output shows the ipsec security associations details.
SEE ALSO
IN THIS SECTION
Requirements | 1254
Overview | 1254
Configuration | 1254
Verification | 1254
1254
This example shows how to load a CRL manually onto the device.
Requirements
1. Generate a public and private key pair. See “Example: Generating a Public-Private Key Pair” on page 1197.
2. Generate a certificate request. See “Example: Manually Generating a CSR for the Local Certificate and
Sending It to the CA Server” on page 1223.
3. Configure a certificate authority (CA) profile. See “Example: Configuring a CA Profile” on page 1209.
4. Load your certificate onto the device. See “Example: Loading CA and Local Certificates Manually” on
page 1224.
Overview
You can load a CRL manually, or you can have the device load it automatically, when you verify certificate
validity. To load a CRL manually, you obtain the CRL from a CA and transfer it to the device (for example,
using FTP).
In this example, you load a CRL certificate called revoke.crl from the /var/tmp directory on the device.
The CA profile is called ca-profile-ipsec. (Maximum file size is 5 MB.)
If a CRL is already loaded into the ca-profile the command clear security pki crl ca-profile ca-profile-ipsec
must be run first to clear the old CRL.
Configuration
Step-by-Step Procedure
To load a CRL certificate manually:
[edit]
user@host> request security pki crl load ca-profile ca-profile-ipsec filename /var/tmp/revoke.crl
Junos OS supports loading of CA certificates in X509, PKCS #7, DER, or PEM formats.
Verification
To verify the configuration is working properly, enter the show security pki crl operational mode command.
1255
SEE ALSO
Digital certificates are issued for a set period of time and are invalid after the specified expiration date. A
CA can revoke an issued certificate by listing it in a certificate revocation list (CRL). During peer certificate
validation, the revocation status of a peer certificate is checked by downloading the CRL from a CA server
to the local device.
A VPN device must be able to check a peer’s certificate for its revocation status. A device can use the CA
certificate
received from its peer to extract the URL to dynamically download the CA’s CRL and check the revocation
status of the peer’s certificate. A dynamic CA profile is automatically created on the local device with the
format dynamic-nnn. A dynamic CA profile allows the local device to download the CRL from the peer’s
CA and check the revocation status of the peer’s certificate. In Figure 14 on page 170, Host-A can use the
Sales-CA and EE certificates received from Host-B to dynamically download the CRL for Sales-CA and
check the revocation status of Host-B’s certificate.
To enable dynamic CA profiles, the revocation-check crl option must be configured on a parent CA profile
at the [edit security pki ca-profile profile-name] hierarchy level.
The revocation check properties of a parent CA profile are inherited for dynamic CA profiles. In
Figure 14 on page 170, the CA profile configuration on Host-A for Root-CA enables dynamic CA profiles
as shown in the following output:
A dynamic CA profile is created on Host-A for Sales-CA. Revocation checking is inherited for the Sales-CA
dynamic CA profile from Root-CA.
If the revocation-check disable statement is configured in a parent CA profile, dynamic CA profiles are
not created and dynamic CRL download and checking is not performed.
The data for CRLs downloaded from dynamic CA profiles are displayed with the show security pki crl
command in the same way as CRLs downloaded by configured CA profiles. The CRL from a dynamic CA
profile is updated periodically as are those for CA profiles that are configured in the device.
The CA certificate is required to validate the CRL received from a CA server; therefore, the CA certificate
received from a peer is stored on the local device. Because the CA certificate is not enrolled by an
administrator, it is used only for validating the CRL received from the CA server and not for validating the
peer certificate.
SEE ALSO
IN THIS SECTION
Requirements | 1257
Overview | 1257
Configuration | 1258
Verification | 1258
This example shows how to configure a certificate authority profile with CRL locations.
Requirements
1. Generate a key pair in the device. See “Example: Generating a Public-Private Key Pair” on page 1197.
2. Create a CA profile or profiles containing information specific to a CA. See “Example: Configuring a CA
Profile” on page 1209.
3. Obtain a personal certificate from the CA. See “Example: Manually Generating a CSR for the Local
Certificate and Sending It to the CA Server” on page 1223.
4. Load the certificate onto the device. See “Example: Loading CA and Local Certificates Manually” on
page 1224.
6. If necessary, load the certificate's CRL on the device. See “Example: Manually Loading a CRL onto the
Device” on page 1253.
Overview
In Phase 1 negotiations, you check the CRL list to see if the certificate that you received during an IKE
exchange is still valid. If a CRL did not accompany a CA certificate and is not loaded on the device, Junos
OS tries to retrieve the CRL through the LDAP or HTTP CRL location defined within the CA certificate
itself. If no URL address is defined in the CA certificate, the device uses the URL of the server that you
define for that CA certificate. If you do not define a CRL URL for a particular CA certificate, the device
gets the CRL from the URL in the CA profile configuration.
1258
The CRL distribution point extension (.cdp) in an X509 certificate can be added to either an HTTP URL or
an LDAP URL.
In this example, you direct the device to check the validity of the CA profile called my_profile and, if a CRL
did not accompany a CA certificate and is not loaded on the device, to retrieve the CRL from the URL
http://abc/abc-crl.crl.
Configuration
Step-by-Step Procedure
To configure certificate using CRL:
[edit]
user@host# set security pki ca-profile my_profile revocation-check crl url http://abc/abc-crl.crl
[edit]
user@host# commit
Verification
To verify the configuration is working properly, enter the show security pki operational mode command.
SEE ALSO
IN THIS SECTION
Requirements | 1259
Overview | 1259
1259
Configuration | 1259
Verification | 1260
Requirements
No special configuration beyond device initialization is required before configuring this feature.
Overview
In this example, you verify certificates manually to find out whether a certificate has been revoked or
whether the CA certificate used to create a local certificate is no longer present on the device.
When you verify certificates manually, the device uses the CA certificate (ca-cert) to verify the local
certificate ( local.cert). If the local certificate is valid, and if revocation-check is enabled in the CA profile,
the device verifies that the CRL is loaded and valid. If the CRL is not loaded and valid, the device downloads
the new CRL.
For CA-issued certificates or CA certificates, a DNS must be configured in the device’s configuration. The
DNS must be able to resolve the host in the distribution CRL and in the CA cert/revocation list url in the
ca-profile configuration. Additionally, you must have network reachability to the same host in order for
the checks to receive.
Configuration
Step-by-Step Procedure
To manually verify the validity of a certificate:
[edit]
user@host> request security pki local-certificate verify certificate-id local.cert
[edit]
user@host> request security pki ca-certificate verify ca-profile ca-profile-ipsec
1260
The associated private key and the signature are also verified.
Verification
To verify the configuration is working properly, enter the show security pki ca-profile command.
SEE ALSO
You can choose to delete a loaded CRL if you no longer need to use it to manage certificate revocations
and validation.
Specify a CA profile to delete a CRL associated with the CA identified by the profile, or use all to delete
all CRLs.
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 1261
Overview | 1262
Configuration | 1265
Verification | 1276
This example shows how to configure, verify, and troubleshoot PKI. This topic includes the following
sections:
Requirements
• Ensure that the internal LAN interface of the SRX Series device is ge-0/0/0 in zone trust and has a private
IP subnet.
• Ensure that the Internet interface of the device is ge-0/0/3 in zone untrust and has a public IP.
• Ensure that all traffic between the local and remote LANs is permitted, and traffic can be initiated from
either side.
• Ensure that the SSG5 has been preconfigured correctly and loaded with a ready-to-use local certificate,
CA certificate, and CRL.
• Ensure that the SSG5 device is configured to use the FQDN of ssg5.example.net (IKE ID).
• Ensure that PKI certificates with 1024-bit keys are used for the IKE negotiations on both sides.
• Ensure that the CA is a standalone CA at the domain example.com for both VPN peers.
1262
Overview
Figure 73 on page 1262 shows the network topology used for this example to configure a policy-based IPsec
VPN to allow data to be securely transferred between a corporate office and a remote office.
The PKI administration is the same for both policy-based VPNs and route-based VPNs.
In this example, the VPN traffic is incoming on interface ge-0/0/0.0 with the next hop of 10.1.1.1. Thus
the traffic is outgoing on interface ge-0/0/3.0. Any tunnel policy must consider incoming and outgoing
interfaces.
Optionally, you can use a dynamic routing protocol such as OSPF (not described in this document). When
processing the first packet of a new session, the device running Junos OS first performs a route lookup.
The static route, which is also the default route, dictates the zone for the outgoing VPN traffic.
Many CAs use hostnames (for example, FQDN) to specify various elements of the PKI. Because the CDP
is usually specified using a URL containing an FQDN, you must configure a DNS resolver on the device
running Junos OS.
The PKCS10 certificate request process involves generating a public or private key pair and then generating
the certificate request itself, using the key pair.
• Each CA profile is associated with a CA certificate. If a new or renewed CA certificate needs to be loaded
without removing the older CA certificate, a new profile must be created. This profile can also be used
for online fetching of the CRL.
1263
• There can be multiple such profiles present in the system created for different users.
If you specify a CA administrator e-mail address to send the certificate request to, then the system composes
an e-mail from the certificate request file and forwards it to the specified e-mail address. The e-mail status
notification is sent to the administrator.
The following options are available to generate the PKCS10 certificate request:
• certificate-id — Name of the local digital certificate and the public/private key pair. This ensures that
the proper key pair is used for the certificate request and ultimately for the local certificate.
Starting in Junos OS Release 19.1R1, a commit check is added to prevent user from adding ., /, %, and
space in a certificate identifier while generating a local or remote certificates or a key pair.
• subject — Distinguished name format that contains the common name, department, company name,
state, and country:
• CN — Common name
• OU — Department
• O — Company name
• L — Locality
• ST — State
• C — Country
• CN — Phone
• DC — Domain component
You are not required to enter all subject name components. Note also that you can enter multiple
values of each type.
• domain-name — FQDN. The FQDN provides the identity of the certificate owner for IKE negotiations
and provides an alternative to the subject name.
• filename (path | terminal) — (Optional) Location where the certificate request should be placed, or the
login terminal.
The generated certificate request is stored in a specified file location. A local copy of the certificate request
is saved in the local certificate storage. If the administrator reissues this command, the certificate request
is generated again.
1264
The PKCS10 certificate request is stored in a specified file and location, from which you can download it
and send it to the CA for enrollment. If you have not specified the filename or location, you can get PKCS10
certificate request details by using the show security pki certificate-request certificate-id <id-name>
command in the CLI. You can copy the command output and paste it into a Web front end for the CA
server or into an e-mail.
The PKCS10 certificate request is generated and stored on the system as a pending certificate or certificate
request. An e-mail notification is sent to the administrator of the CA (in this example,
[email protected]).
A unique identity called certificate-ID is used to name the generated key pair. This ID is also used in
certificate enrollment and request commands to get the right key pair. The generated key pair is saved in
the certificate store in a file with the same name as the certificate-ID. The file size can be 1024 or 2048
bits.
A default (fallback) profile can be created if intermediate CAs are not preinstalled in the device. The default
profile values are used in the absence of a specifically configured CA profile.
• Per CA profile
• Default CA profile
The administrator submits the certificate request to the CA. The CA administrator verifies the certificate
request and generates a new certificate for the device. The administrator for the Juniper Networks device
retrieves it, along with the CA certificate and CRL.
The process of retrieving the CA certificate, the device’s new local certificate, and the CRL from the CA
depends on the CA configuration and software vendor in use.
• Entrust
• Verisign
• Microsoft
Although other CA software services such as OpenSSL can be used to generate certificates, these certificates
are not verified by Junos OS.
1265
Configuration
IN THIS SECTION
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For instructions
on how to do that, see Using the CLI Editor in Configuration Mode in the CLI User Guide.
To configure PKI:
[edit interfaces]
user@host# set ge-0/0/0 unit 0 family inet address 192.168.10.1/24
user@host# set ge-0/0/3 unit 0 family inet address 10.1.1.2/30
[edit]
user@host# set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1
[edit]
user@host# set system time-zone PST8PDT
After the configuration is committed, verify the clock settings using the show system uptime command.
1266
[edit]
user@host# set system name-server 172.31.2.1
user@host# set system name-server 172.31.2.2
Configuring a CA Profile
Step-by-Step Procedure
1. Create a trusted CA profile.
[edit]
user@host# set security pki ca-profile ms-ca ca-identity example.com
[edit]
user@host# set security pki ca-profile ms-ca revocation-check crl
You can use the disable option to disable the revocation check or select the crl option to configure the
CRL attributes. You can select the disable on-download-failure option to allow the sessions matching
the CA profile, when CRL download failed for a CA profile. The sessions will be allowed only if no old
CRL is present in the same CA profile.
3. Set the refresh interval, in hours, to specify the frequency in which to update the CRL. The default
values are next-update time in CRL, or 1 week, if no next-update time is specified.
1267
[edit]
user@host# set security pki ca-profile ms-ca revocation-check crl refresh-interval 48
4. Specify the location (URL) to retrieve the CRL (HTTP or LDAP). By default, the URL is empty and uses
CDP information embedded in the CA certificate.
[edit]
user@host# set security pki ca-profile ms-ca revocation-check crl url
http://srv1.example.com/CertEnroll/EXAMPLE.crl
Currently you can configure only one URL. Support for backup URL configuration is not available.
Step-by-Step Procedure
When the CA profile is configured, the next step is to generate a key pair on the Juniper Networks device.
To generate the private and public key pair:
Results
After the public-private key pair is generated, the Juniper Networks device displays the following:
Step-by-Step Procedure
1. Generate a local digital certificate request in the PKCS-10 format.
In the sample of the PKCS10 certificate, the request starts with and includes the BEGIN CERTIFICATE
REQUEST line and ends with and includes the END CERTIFICATE REQUEST line. This portion can be
copied and pasted to your CA for enrollment. Optionally, you can also offload the ms-cert-req file and
send that to your CA.
3. Submit the certificate request to the CA, and retrieve the certificate.
Step-by-Step Procedure
1. Load the local certificate, CA certificate, and CRL.
1269
You can verify that all files have been uploaded by using the command file list.
2. Load the certificate into local storage from the specified external file.
You must also specify the certificate ID to keep the proper linkage with the private or public key pair.
This step loads the certificate into the RAM cache storage of the PKI module, checks the associated
private key, and verifies the signing operation.
user@host> request security pki local-certificate load certificate-id ms-cert filename certnew.cer
You must specify the CA profile to associate the CA certificate to the configured profile.
user@host> request security pki ca-certificate load ca-profile ms-ca filename CA-certnew.cer
Fingerprint:
1b:02:cc:cb:0f:d3:14:39:51:aa:0f:ff:52:d3:38:94:b7:11:86:30 (sha1)
90:60:53:c0:74:99:f5:da:53:d0:a0:f3:b0:23:ca:a3 (md5)
Do you want to load this CA certificate ? [yes,no] (no) yes
CA certificate for profile ms-ca loaded successfully
The maximum size of the CRL is 5 MB. You must specify the associated CA profile in the command.
user@host> request security pki crl load ca-profile ms-ca filename certcrl.crl
Results
Verify that all local certificates are loaded.
identifier: ms-cert
Certificate version: 3
Serial number: 3a01c5a0000000000011
Issuer:
Organization: Example, Organizational unit: example, Country: US, State:
CA, Locality: Sunnyvale,
Common name: LAB
Subject:
Organization: Example, Organizational unit: example, Country: US,
State: CA, Locality: Sunnyvale,
Common name: john doe
Alternate subject: "[email protected]", fqdn empty, ip empty
Validity:
Not before: 11- 2-2007 22:54
Not after: 11- 2-2008 23:04
Public key algorithm: rsaEncryption(1024 bits)
30:81:89:02:81:81:00:e4:41:ba:b2:01:bf:09:31:73:5f:a2:82:fe
1c:fa:0b:36:a5:d0:1c:5a:91:4c:5f:1b:11:7b:51:66:16:1d:a5:85
15:82:ea:a3:ab:d7:34:ef:2b:39:2e:58:6a:4e:eb:58:03:40:b0:ca
1b:dc:4d:97:ff:56:9d:95:02:11:8b:84:05:4e:39:01:a8:62:3e:31
31:03:1a:7a:85:b0:90:6a:ac:1e:a8:ca:a1:ad:75:c4:94:bb:4a:94
8a:f3:2f:80:a4:15:0b:1f:21:a7:1f:7d:27:71:01:4e:ea:df:58:bd
69:08:d9:41:99:98:20:36:88:1b:e8:c6:f0:11:2d:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Distribution CRL:
ldap:///CN=LAB,CN=LABSRV1,CN=CDP,CN=Public%20Key%20Services,CN=Services,
CN=Configuration,DC=domain,DC=com?certificateRevocationList?base?
objectclass=cRLDistributionPoint
http://labsrv1.domain.com/CertEnroll/LAB.crl
Fingerprint:
c9:6d:3d:3e:c9:3f:57:3c:92:e0:c4:31:fc:1c:93:61:b4:b1:2d:58 (sha1)
50:5d:16:89:c9:d3:ab:5a:f2:04:8b:94:5d:5f:65:bd (md5)
You can display the individual certificate details by specifying certificate-ID in the command line.
Verify all loaded CRLs or the CRLs of the specified individual CA profile.
CA profile: ms-ca
CRL version: V00000001
CRL issuer: emailAddress = [email protected], C = US, ST = CA,
L = Sunnyvale, O = Example, OU = example, CN = example
Effective date: 10-30-2007 20:32
Next update: 11- 7-2007 08:52
1272
Verify the certificate path for the local certificate and the CA certificate.
Step-by-Step Procedure
To configure the IPsec VPN with the certificate, refer to the network diagram shown in Figure 73 on page 1262
In this example packets are incoming on ge-0/0/0, and the ingress zone is the trust zone.
Host-inbound services are for traffic destined for the Juniper Networks device. These settings include
but are not limited to the FTP, HTTP, HTTPS, IKE, ping, rlogin, RSH, SNMP, SSH, Telnet, TFTP, and
traceroute.
The phase 1 exchange can take place in either main mode or aggressive mode.
In this example, the peer is identified by an FQDN (hostname). Therefore the gateway IKE ID should
be the remote peer domain name. You must specify the correct external interface or peer ID to properly
identify the IKE gateway during Phase 1 setup.
This example uses the Standard proposal set, which includes esp-group2-3des-sha1 and esp-group2-
aes128-sha1 proposals. However, a unique proposal can be created and then specified in the IPsec
policy if needed.
8. Configure the IPsec VPN with an IKE gateway and IPsec policy.
1274
In this example, the ike-vpn VPN name must be referenced in the tunnel policy to create a security
association. Additionally, if required, an idle time and a proxy ID can be specified if they are different
from the tunnel policy addresses.
In this example, traffic from the host LAN to the remote office LAN requires a from-zone trust to-zone
untrust tunnel policy. However, if a session needs to originate from the remote LAN to the host LAN,
then a tunnel policy in the opposite direction from from-zone untrust to-zone trust is also required.
When you specify the policy in the opposite direction as the pair-policy, the VPN becomes bidirectional.
Note that in addition to the permit action, you also need to specify the IPsec profile to be used. Note
that for tunnel policies, the action is always permit. In fact, if you are configuring a policy with the deny
action, you will not see an option for specifying the tunnel.
10. Configure a source NAT rule and a security policy for Internet traffic.
The device uses the specified source-nat interface, and translates the source IP address and port for
outgoing traffic, using the IP address of the egress interface as the source IP address and a random
higher port for the source port. If required, more granular policies can be created to permit or deny
certain traffic.
The security policy should be below the tunnel policy in the hierarchy because the policy list is read
from top to bottom. If this policy were above the tunnel policy, then the traffic would always match
this policy and would not continue to the next policy. Thus no user traffic would be encrypted.
12. Configure the tcp-mss setting for TCP traffic across the tunnel.
TCP-MSS is negotiated as part of the TCP 3-way handshake. It limits the maximum size of a TCP
segment to accommodate the MTU limits on a network. This is very important for VPN traffic because
the IPsec encapsulation overhead along with the IP and frame overhead can cause the resulting ESP
packet to exceed the MTU of the physical interface, causing fragmentation. Because fragmentation
increases the bandwidth and device resources usage, and in general it should be avoided.
The recommended value to use for tcp-mss is 1350 for most Ethernet-based networks with an MTU
of 1500 or higher. This value might need to be altered if any device in the path has a lower value of
MTU or if there is any added overhead such as PPP, Frame Relay, and so on. As a general rule, you
might need to experiment with different tcp-mss values to obtain optimal performance.
Example:
[edit]
user@host# set security flow tcp-mss ipsec-vpn mss 1350
user@host# commit and-quit
commit complete
Exiting configuration mode
1276
Verification
IN THIS SECTION
Purpose
Confirm the VPN status by checking any IKE Phase 1 security associations status.
PKI related to IPsec tunnels is formed during Phase 1 setup. Completion of Phase 1 indicates that PKI was
successful.
Action
From operational mode, enter the show security ike security-associations command.
Meaning
The output indicates that:
• The remote peer is 10.2.2.2 and the status is UP, which means the successful association of Phase 1
establishment.
1277
• The remote peer IKE ID, IKE policy, and external interfaces are all correct.
• Index 20 is a unique value for each IKE security association. You can use this output details to get further
details on each security association. See “Getting Details on Individual Security Associations” on page 1277.
• There are IKE policy parameters, such as the wrong mode type (Aggr or Main), PKI issues, or Phase 1
proposals (all must match on both peers). For more information, see “Troubleshooting IKE, PKI, and IPsec
Issues” on page 1283.
• External interface is invalid for receiving the IKE packets. Check the configurations for PKI-related issues,
check the key management daemon (kmd) log for any other errors, or run trace options to find the
mismatch. For more information, see “Troubleshooting IKE, PKI, and IPsec Issues” on page 1283.
Purpose
Get details on individual IKE.
Action
From operational mode, enter the show security ike security-associations index 20 detail command.
Meaning
The output displays the details of the individual IKE SAs such as role (initiator or responder), status, exchange
type, authentication method, encryption algorithms, traffic statistics, Phase 2 negotiation status, and so
on.
• Know the role of the IKE SA. Troubleshooting is easier when the peer has the responder role.
• Get the traffic statistics to verify the traffic flow in both directions.
Purpose
View IPsec (Phase 2) security associations.
When IKE Phase 1 is confirmed, view the IPsec (Phase 2) security associations.
Action
From operational mode, enter the show security ipsec security-associations command.
Meaning
1279
• There is a configured IPsec SA pair available . The port number 500 indicates that a standard IKE port
is used. Otherwise, it is Network Address Translation-Traversal (NAT-T), 4500, or random high port.
• The security parameter index (SPI) is used for both directions. The lifetime or usage limits of the SA is
expressed either in seconds or in kilobytes. In the output, 1676/ unlim indicates Phase 2 lifetime is set
to expire in 1676 seconds and there is no specified lifetime size.
• The ID number shows the unique index value for each IPsec SA.
• A hyphen (-) in the Mon column indicates that VPN monitoring is not enabled for this SA.
Phase 2 lifetime can be different from the Phase 1 lifetime because Phase 2 is not dependent on Phase 1
after the VPN is up.
Purpose
Display the individual IPsec SA details identified by the index number.
Action
From operational mode, enter the show security ipsec security-associations index 2 detail command.
Virtual-system: Root
Local Gateway: 10.1.1.2, Remote Gateway: 10.2.2.2
Local Identity: ipv4_subnet(any:0,[0..7]=192.168.10.0/24)
Remote Identity: ipv4_subnet(any:0,[0..7]=192.168.168.0/24)
DF-bit: clear
Policy-name: tunnel-policy-out
Direction: inbound, SPI: bce1c6e0, AUX-SPI: 0
Hard lifetime: Expires in 1667 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 1093 seconds
Mode: tunnel, Type: dynamic, State: installed, VPN Monitoring: -
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc
Anti-replay service: enabled, Replay window size: 32
Direction: outbound, SPI: 1a24eab9, AUX-SPI: 0
Hard lifetime: Expires in 1667 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 1093 seconds
Mode: tunnel, Type: dynamic, State: installed, VPN Monitoring: -
1280
Meaning
The output displays the local Identity and the remote Identity.
Note that a proxy ID mismatch can cause Phase 2 completion to fail. The proxy ID is derived from the
tunnel policy (for policy-based VPNs). The local address and remote address are derived from the address
book entries, and the service is derived from the application configured for the policy.
If Phase 2 fails due to a proxy ID mismatch, verify which address book entries are configured in the policy
and ensure that the correct addresses are sent. Also ensure that the ports are matching. Double-check
the service to ensure that the ports match for the remote and local servers.
If multiple objects are configured in a tunnel policy for source address, destination address, or application,
then the resulting proxy ID for that parameter is changed to zeroes.
• Application as junos-http
The resulting proxy IDs can affect the interoperability if the remote peer is not configured for the second
subnet. Also, if you are employing a third-party vendor’s application, you might have to manually enter
the proxy ID to match.
If IPsec fails to complete, then check the kmd log or use the set traceoptions command. For more
information, see “Troubleshooting IKE, PKI, and IPsec Issues” on page 1283.
Purpose
Check statistics and errors for an IPsec SA.
For troubleshooting purpose, check the Encapsulating Security Payload/Authentication Header (ESP/AH)
counters for any errors with a particular IPsec SA.
Action
From operational mode, enter the show security ipsec statistics index 2 command.
ESP Statistics:
Encrypted bytes: 674784
Decrypted bytes: 309276
Encrypted packets: 7029
Decrypted packets: 7029
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
ESP authentication failures: 0, ESP decryption failures: 0
Bad headers: 0, Bad trailers: 0
Meaning
An error value of zero in the output indicates a normal condition.
We recommend running this command multiple times to observe any packet loss issues across a VPN.
Output from this command also displays the statistics for encrypted and decrypted packet counters, error
counters, and so on.
You must enable security flow trace options to investigate which ESP packets are experiencing errors and
why. For more information, see “Troubleshooting IKE, PKI, and IPsec Issues” on page 1283.
Purpose
Test traffic flow across the VPN after Phase 1 and Phase 2 have completed successfully. You can test
traffic flow by using the ping command. You can ping from local host to remote host. You can also initiate
pings from the Juniper Networks device itself.
This example shows how to initiate a ping request from the Juniper Networks device to the remote host.
Note that when pings are initiated from the Juniper Networks device, the source interface must be specified
to ensure that the correct route lookup takes place and the appropriate zones are referenced in the policy
lookup.
In this example, the ge-0/0/0.0 interface resides in the same security zone as the local host and must be
specified in the ping request so that the policy lookup can be from zone trust to zone untrust.
Action
From operational mode, enter the ping 192.168.168.10 interface ge-0/0/0 count 5 command.
Purpose
Confirm the connectivity between a remote host and a local host.
Action
From operational mode, enter the ping 192.168.10.10 from ethernet0/6 command.
Meaning
You can confirm end-to-end connectivity by using the ping command from the remote host to the local
host. In this example, the command is initiated from the SSG5 device.
Failed end-to-end connectivity can indicate an issue with routing, policy, end host, or encryption/decryption
of the ESP packets. To verify the exact causes of the failure:
• Check IPsec statistics for details on errors as described in “Checking IPsec SA Statistics” on page 1280.
• Confirm end host connectivity by using the ping command from a host on the same subnet as the end
host. If the end host is reachable by other hosts, then you can assume that the issue is not with the end
host.
• Enable security flow trace options for troubleshooting the routing-related and policy-related issues.
1283
IN THIS SECTION
Checking the Log Files to Verify Different Scenarios and Uploading Log Files to an FTP | 1284
Setting up IKE and PKI Trace Options to Troubleshoot IKE Setup Issues with Certificates | 1287
Problem
The basic troubleshooting steps are as follows:
The common approach of starting troubleshooting is with the lowest layer of the OSI layers and working
your way up the OSI stack to confirm the layer in which the failure occurs.
Solution
Basic steps for troubleshooting IKE, PKI, and IPsec are as follows:
• Confirm the physical connectivity of the Internet link at the physical and data link levels.
• Confirm that the Juniper Networks device has connectivity to the Internet next hop and connectivity
to the remote IKE peer.
1284
• Confirm the traffic flow across the VPN (if the VPN is up and active).
Junos OS includes the trace options feature. Using this feature, you can enable a trace option flag to write
the data from the trace option to a log file, which can be predetermined or manually configured and stored
in flash memory. These trace logs can be retained even after a system reboot. Check the available flash
storage before implementing trace options.
You can enable the trace options feature in configuration mode and commit the configuration to use the
trace options feature. Similarly to disable trace options, you must deactivate trace options in configuration
mode and commit the configuration.
Problem
Check the statistics on the free disk space in your device file systems.
Solution
From operational mode, enter the show system storage command.
The /dev/ad0s1a represents the onboard flash memory and is currently at 35 percent capacity.
Checking the Log Files to Verify Different Scenarios and Uploading Log Files to an FTP
Problem
View the log files to check security IKE debug messages, security flow debugs, and the state of logging to
the syslog.
1285
Solution
From operational mode, enter the show log kmd, show log pkid, show log security-trace, and show log
messages commands.
You can view a list of all logs in the /var/log directory by using the show log command.
Log files can also be uploaded to an FTP server by using the file copy command.
(operational mode):
user@host> file copy path/filename dest-path/filename
Example:
Problem
To view success or failure messages for IKE or IPsec, you can view the kmd log by using the show log kmd
command. Because the kmd log displays some general messages, it can be useful to obtain additional
details by enabling IKE and PKI trace options.
Generally, it is best practice to troubleshoot the peer that has the responder role. You must obtain the
trace output from the initiator and responder to understand the cause of a failure.
Solution
user@host> configure
Entering configuration mode
[edit]
user@host# edit security ike traceoptions
1286
Possible completions:
<filename> Name of file in which to write trace information
files Maximum number of trace files (2..1000)
match Regular expression for lines to be logged
no-world-readable Don't allow any user to read the log file
size Maximum trace file size (10240..1073741824)
world-readable Allow any user to read the log file
Possible completions:
all Trace everything
certificates Trace certificate events
database Trace security associations database events
general Trace general events
ike Trace IKE module processing
parse Trace configuration processing
policy-manager Trace policy manager processing
routing-socket Trace routing socket messages
timer Trace internal timer events
If you do not specify file names for the <filename> field, then all IKE trace options are written to the kmd
log.
You must specify at least one flag option to write trace data to the log. For example:
• file size — Maximum size of each trace file, in bytes. For example, 1 million (1,000,000 ) can generate a
maximum file size of 1 MB.
• files — Maximum number of trace files to be generated and stored in a flash memory device.
Problem
Enable PKI trace options to identify whether an IKE failure is related to the certificate or to a non-PKI
issue.
Solution
Possible completions:
<filename> Name of file in which to write trace information
files Maximum number of trace files (2..1000)
match Regular expression for lines to be logged
no-world-readable Don't allow any user to read the log file
size Maximum trace file size (10240..1073741824)
world-readable Allow any user to read the log file
Possible completions:
all Trace with all flags enabled
certificate-verification PKI certificate verification tracing
online-crl-check PKI online crl tracing
Setting up IKE and PKI Trace Options to Troubleshoot IKE Setup Issues with Certificates
Problem
Configure the recommended settings for IKE and PKI trace options.
The IKE and PKI trace options use the same parameters, but the default filename for all PKI-related traces
is found in the pkid log.
Solution
1288
user@host> configure
Entering configuration mode
Problem
Understand the output of the show log kmd command when the IKE Phase 1 and Phase 2 conditions are
successful.
Solution
• 10.1.1.2—Local address.
• Phase 1 [responder] done—Phase 1 status, along with the role (initiator or responder).
You can also confirm the IPsec SA status by using the verification commands mentioned in “Confirming
IKE Phase 1 Status” on page 1276.
Problem
Understanding the output of the show log kmd command, where the IKE Phase 1 condition is a failure,
helps in determining the reason for the VPN not establishing Phase 1.
Solution
Nov 7 11:52:14 Phase-1 [responder] failed with error(No proposal chosen) for
local=unknown(any:0,[0..0]=) remote=fqdn(udp:500,[0..15]=ssg5.example.net)
Nov 7 11:52:14 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { 011359c9 ddef501d -
2216ed2a bfc50f5f [-
1] / 0x00000000 } IP; Error = No proposal chosen (14)
• 10.1.1.2—Local address.
• Phase-1 [responder] failed with error (No proposal chosen)—Phase 1 failure because of proposal
mismatch.
To resolve this issue, ensure that the parameters for the IKE gateway Phase 1 proposals on both the
responder and the initiator match. Also confirm that a tunnel policy exists for the VPN.
Problem
Understand the output of the show log kmd command when the IKE Phase 1 condition is a failure. This
helps in determining the reason for the VPN not establishing Phase 1.
Solution
dab1ba4c ae26674b [-
1] / 0x00000000 } IP; Error = Authentication failed (24)
• 10.1.1.2—Local address.
• 10.2.2.2—Remote peer
• Phase 1 [responder] failed with error (Authentication failed)—Phase 1 failure due to the responder not
recognizing the incoming request originating from a valid gateway peer. In the case of IKE with PKI
certificates, this failure typically indicates that an incorrect IKE ID type was specified or entered.
To resolve this issue, confirm that the correct peer IKE ID type is specified on the local peer based on the
following:
Problem
Understand the output of the show log kmd command when the IKE Phase 1 condition is a failure.
Solution
• 10.1.1.2—Llocal address.
• 10.2.2.2—Remote peer.
This error indicates that either the IKE packet is lost enroute to the remote peer or there is a delay or
no response from the remote peer.
Because this timeout error is the result of waiting on a response from the PKI daemon, you must review
the PKI trace options output to see whether there is a problem with PKI.
1291
Problem
Understand the output of the show log kmd command when the IKE Phase 2 condition is a failure.
Solution
• 10.1.1.2—Local address.
• Failed to match the peer proxy ids—The Incorrect proxy IDs are received. In the previous sample, the
two proxy IDs received are 192.168.168.0/24 (remote) and 10.10.20.0/24 (local) (for service=any).
Based on the configuration given in this example, the expected local address is 192.168.10.0/24. This
shows that there is a mismatch of configurations on the local peer, resulting in the failure of proxy ID
match.
To resolve this issue, correct the address book entry or configure the proxy ID on either peer so that it
matches the other peer.
The output also indicates the reason for failure is No proposal chosen. However in this case you also
see the message Failed to match the peer proxy ids.
Problem
Understand the output of the show log kmd command when the IKE Phase 2 condition is a failure.
1292
Solution
• fqdn(udp:500,[0..15]=ssg5.example.net—Remote peer.
• Error = No proposal chosen—No proposal was chosen during Phase 2. This issue is due to proposal
mismatch between the two peers.
To resolve this issue, confirm that the Phase 2 proposals match on both peers.
Problem
Troubleshoot common problems related to IKE and PKI.
Enabling the trace options feature helps you to gather more information on the debugging issues than is
obtainable from the normal log entries. You can use the trace options log to understand the reasons for
IKE or PKI failures.
Solution
Methods for troubleshooting the IKE -and-PKI-related issues:
• Ensure that the clock, date, time zone, and daylight savings settings are correct. Use NTP to keep the
clock accurate.
• Ensure that you use a two-letter country code in the "C=" (country) field of the DN.
For example: use “US” and not “USA” or “United States.” Some CAs require that the country field of the
DN be populated, allowing you to enter the country code value only with a two-letter value.
• Ensure that if a peer certificate is using multiple OU=or CN= fields, you are using the distinguished name
with container method (the sequence must be maintained and is case- sensitive).
• If the certificate is not valid yet, check the system clock and, if required, adjust the system time zone or
just add a day in the clock for a quick test.
1293
• PKI can fail due to a revocation check failure. To confirm this, temporarily disable revocation checking
and see whether IKE Phase 1 is able to complete.
RELATED DOCUMENTATION
Configuration Statements
aaa | 1297
advpn | 1299
certificate | 1307
dead-peer-detection | 1313
decryption-failures | 1316
distribution-profile | 1321
dynamic-vpn | 1325
encryption-algorithm (Security IKE) | 1327
encryption-failures | 1329
file | 1330
group-vpn | 1342
ike-phase1-failures | 1355
ike-phase2-failures | 1356
ipsec-policy | 1364
local-identity | 1367
multi-sa | 1375
pki | 1379
power-mode-ipsec | 1388
remote-identity | 1405
replay-attacks | 1407
security-association | 1410
tcp-encap | 1421
traffic-selector | 1439
verify-path | 1440
vpn-monitor | 1447
xauth-attributes | 1449
xauth-client-username | 1450
1297
aaa
Syntax
aaa {
access-profile access-profile {
config-payload-password config-payload-password;
}
client {
password;
username;
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 15.1X49-D80.
config-payload-password option introduced in Junos OS Release 20.1R1.
Description
Specify that extended authentication is performed in addition to IKE Phase 1 authentication for remote
users trying to access a VPN tunnel. This authentication can be through Extended Authentication (XAuth)
or Extensible Authentication Protocol (EAP). Include a previously created access profile, configured with
the edit access profile statement, to specify the access profile to be used for authentication information.
Options
access-profile profile-name—Name of the previously created access profile to use for extended
authentication for remote users trying to access a VPN.
config-payload-password— Specify common client password for IKEv2 configuration payload with 1 to
128 characters.
client—Specify an AAA client uername and password for each configured authenticator that is allowed to
request authentications for supplicants.
RELATED DOCUMENTATION
advpn
Syntax
advpn {
suggester {
disable;
}
partner {
connection-limit number;
idle-threshold packets/sec;
idle-time seconds;
disable;
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 12.3X48-D10. The range for the idle-threshold option and the
range and default value for the idle-time option revised in Junos OS Release 12.3X48-D20.
Description
Enable Auto Discovery VPN (ADVPN) protocol on the specified gateway. ADVPN dynamically establishes
VPN tunnels between spokes to avoid routing traffic through the Hub.
Options
suggester—VPN peer that can initiate a shortcut exchange to allow shortcut partners to establish dynamic
security associations (SAs) with each other. Specify disable to disable this role on the gateway.
Both suggester and partner roles are enabled if advpn is configured without explicitly configuring
suggester or partner keywords. We do not support suggester and partner roles on the same gateway.
You must explicitly configure disable with the suggester or partner keyword to disable that particular
role. You cannot disable both suggester and partner roles on the same gateway.
partner—VPN peer that can receive a shortcut exchange suggesting that it should establish dynamic SAs
with another peer. Specify disable to disable this role on the gateway.
connection-limit—Maximum number of shortcut tunnels that can be created with different shortcut
partners using a particular gateway. The maximum number, which is also the default, is
platform-dependent.
Reducing the configured connection-limit value causes all active shortcut tunnels to be brought
down. For example, if connection-limit is configured as 100 and you later reconfigure the number
to 80, all active shortcut tunnels are brought down. Increasing the configured connection-limit
value does not cause shortcut tunnels to go down.
idle-threshold—Rate, in packets per second, below which the shortcut is brought down.
Range: 3 through 5,000 packets per second.
Default: 5 packets per second.
idle-time—Duration, in seconds, after which the shortcut is deleted if the traffic remains below the
idle-threshold value.
Range: 60 seconds through 86,400 seconds.
Default: 300 seconds.
RELATED DOCUMENTATION
auto-re-enrollment (Security)
Syntax
auto-re-enrollment {
certificate-id name {
ca-profile-name ca-profile-name;
challenge-password challenge-password;
re-enroll-trigger-time-percentage re-enroll-trigger-time-percentage;
re-generate-keypair;
scep-digest-algorithm {
(md5 | sha1);
}
scep-encryption-algorithm {
(des | des3);
}
}
cmpv2 {
certificate-id certificate-id-name {
ca-profile-name ca-profile-name;
challenge-password password;
re-enroll-trigger-time-percentage percentage;
re-generate-keypair;
}
}
scep {
certificate-id certificate-id-name {
ca-profile-name ca-profile-name;
challenge-password password;
re-enroll-trigger-time-percentage percentage;
re-generate-keypair;
}
}
}
Hierarchy Level
Release Information
Statement modified in Junos OS Release 9.0. cmpv2 and scep options added in Junos OS Release
15.1X49-D40.
Description
1302
Configure the automatic reenrollment of a local end-entity (EE) certificate. Auto-reenrollment requests
that the issuing CA replace a device certificate before its specified expiration date.
Options
certificate-id—Auto reenrollment configuration for certificate ID.
ca-profile-name—Specify the name of the certificate authority (CA) profile to be used for automatic
reenrollment. The CA certificate must be present to initiate reenrollment.
challenge-password—Specify the password used by the certificate authority (CA) for enrollment and
revocation. If the CA does not provide the challenge password, choose your own password.
re-generate-keypair—Specify new key pair generation for automatic certificate reenrollment. If this
statement is not configured, the current key pair is used. If the key pair does not change, the CA
does not issue new certificates. We recommend that a new key pair be generated during
reenrollment as it provides better security.
scep—Configure automatic reenrollment of a local certificate using Simple Certificate Enrollment Protocol
(SCEP).
RELATED DOCUMENTATION
ca-profile ca-profile-name {
administrator {
e-mail-address e-mail-address;
}
ca-identity ca-identity ;
enrollment {
retry number;
retry-interval seconds;
url url-name;
}
proxy-profile;
revocation-check;
routing-instance routing-instance-name ;
source-address ip-address;
}
Hierarchy Level
Release Information
Statement modified in Junos OS Release 8.5. Support for ca-identity option is added in Junos OS Release
11.1. Support for ocsp and use-ocsp options added in Junos OS Release 12.1X46-D20.
Support for proxy-profile option is added in Junos OS Release 18.2R1.
Support for source-address is introduced in Junos OS Release 15.1X49-D60.
Description
Configure certificate authority (CA) profile. The CA profile contains the name and URL of the CA or RA,
as well as retry-timer settings.
Options
ca-profile-name—Name of a trusted CA.
ca-identity—Specify the certificate authority (CA) identity to use in requesting digital certificates. This
name is typically the domain name of the CA.
retry number—Number of automated attempts for online enrollment to be retried in case enrollment
response is pending.
Range: 0 through 1080
Default: 10
url url-name—Enrollment URL where the Simple Certificate Enrollment Protocol (SCEP) or CMPv2
request is sent to the certification authority (CA) as configured in this profile. With SCEP, you
enroll CA certificates with the request security pki ca-certificate enroll command and specify the
CA profile. There is no separate command to enroll CA certificates with CMPv2. The IP address
in the enrollment URL can be an IPv4 or an IPv6 address.
proxy-profile—Use specified proxy server. If proxy profile is configured in CA profile, the device connects
to the proxy host instead of the CA server while certificate enrollment, verification or revocation. The
proxy host communicates with the CA server with the requests from the device, and then relay the
response to the device.
Public key infrastructure (PKI) uses proxy profile configured at the system-level. The proxy profile
being used in the CA profile must be configured at the [edit services proxy] hierarchy. There can be
more than one proxy profile configured under [edit services proxy] hierarchy. Each CA profile is
referred to the most one such proxy profile. You can configure host and port of the proxy profile at
the [edit system services proxy] hierarchy.
revocation-check—Specify the method the device uses to verify the revocation status of digital certificates.
source-address—Specifies a source IPv4 or IPv6 address to be used instead of the IP address of the egress
interface for communications with external servers. External servers are used for certificate enrollment
and reenrollment using Simple Certificate Enrollment Protocol (SCEP) or Certificate Management
Protocol version 2 (CMPv2), downloading certificate revocation lists (CRLs) using HTTP or LDAP, or
checking certificate revocation status with Online Certificate Status Protocol (OCSP). If this option is
not specified then the IP address of the egress interface is used as the source address.
RELATED DOCUMENTATION
certificate
Syntax
certificate {
local-certificate certificate-id;
peer-certificate-type (pkcs7 | x509-signature);
policy-oids oid;
trusted-ca {
ca-profile ca-profile-name;
trusted-ca-group trusted-ca-group-name;
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. policy-oids option added in Junos OS Release 12.3X48-D10.
Support for trusted-ca option added in Junos OS Release 18.1R1.
Description
Specify usage of a digital certificate to authenticate the virtual private network (VPN) initiator and recipient.
Options
local-certificate certificate-id —Specify a particular certificate when the local device has multiple loaded
certificates. The device deletes existing IKE and IPsec SAs when you update the local-certificate
configuration in the IKE policy. Starting in Junos OS Release 19.1R1, a commit check is added to prevent
user from adding ., /, %, and space in a certificate identifier while generating a local or remote certificates
or a key pair.
• x509-signature—X509 is an ITU-T standard for public key infrastructure. This is the default value.
policy-oids oid—Configure policy object identifiers (OIDs). This configuration is optional. Policy OID
contained in a peer’s certificate or certificate chain. Up to five policy OIDs can be configured. Each OID
can be up to 63 bytes long. You must ensure that at least one of the configured policy OIDs is included in
a peer’s certificate or certificate chain. Note that the policy-oids field in a peer’s certificate is optional. If
you configure policy OIDs in an IKE policy and the peer’s certificate chain does not contain any policy
OIDs, certificate validation for the peer fails.
1308
trusted-ca—Specify a name for the trusted CA group. A minimum of one CA profile is mandatory to create
a trusted CA group and a maximum of 20 CAs are allowed in one trusted CA group. Any CA from a particular
group can validate the certificate for that particular entity. Specify the preferred certificate authority (CA)
to use when requesting a certificate from the peer. If no value is specified, then no certificate request is
sent (although incoming certificates are still accepted). You can associate an IKE policy to a single trusted
CA profile or a trusted CA group. During certificate validation the IKE policy will limit itself to the configured
group of CAs while establishing a secure connection. Any certificate issued other than the single trusted
CA or the trusted CA group are not validated.
• ca-profile ca-profile-name—Specify a name for the CA profiles. A Certificate Authority (CA) is an entity
that issues digital certificates which helps to establish secure connection between peers through certificate
validation.
RELATED DOCUMENTATION
clients (Security)
Syntax
clients configuration-name {
ipsec-vpn vpn-name;
remote-exceptions ip-address/mask;
remote-protected-resources ip-address/mask;
user username;
user-groups user-group-name;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 9.5.
Statement user-groups introduced in Junos OS Release 12.1X44-D10.
Description
Create a client configuration for the dynamic VPN feature. Within the configuration, specify a name for
the configuration, reference a standard VPN configuration to use for IPsec negotiations, specify which
resources to protect, define any exceptions, and list the users to which the dynamic VPN configuration
applies.
Options
configuration-name—Name of the client configuration.
ipsec-vpn—Use this statement to specify which IPsec VPN configuration the dynamic VPN feature should
use to secure traffic.
remote-exceptions—Use this statement to specify exceptions to the remote protected resources list for
the specified dynamic VPN configuration. Traffic to the specified IP address will not go through the
dynamic VPN tunnel and therefore will not be protected by the firewall’s security policies.
remote-protected-resources—Use this statement to specify which resources to protect using the dynamic
VPN feature. Traffic to the protected resource will go through the specified dynamic VPN tunnel and
will therefore be protected by the firewall’s security policies.
user—Specify which users can access the selected dynamic VPN configuration.
user-group—Specify which users can access the selected dynamic VPN configuration.
1310
RELATED DOCUMENTATION
crl (Security)
Syntax
crl {
disable {
on-download-failure;
}
refresh-interval hours;
url url-name;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. disable option is introduced in Junos OS Release 9.0.
Description
Configure the certificate revocation list (CRL). A CRL is a time-stamped list identifying revoked certificates,
which is signed by a CA and made available to the participating IPsec peers on a regular periodic basis.
Options
disable on-download-failure—(Optional) Override the default behavior and permit certificate verification
even if the CRL fails to download.
refresh-interval hours—Specify the amount of time interval in hours between certificate revocation list
(CRL) updates.
Range: 0 through 8784 hours.
Default: Next-update time in CRL, or 1 week, if no next-update time is specified.
url url-name—Name of the location from which to retrieve the CRL through HTTP or Lightweight Directory
Access Protocol (LADP). You can specify one URL for each configured CA profile. By default, no
location is specified. Use a fully qualified domain name (FQDN) or an IP address and, optionally, a port
number. If no port number is specified, port 80 is used for HTTP and port 443 is used for LDAP.
RELATED DOCUMENTATION
dead-peer-detection
Syntax
dead-peer-detection {
(always-send | optimized | probe-idle-tunnel);
interval seconds;
threshold number;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. Support for the optimized and probe-idle-tunnel options
added in Junos OS Release 12.1X46-D10.
Description
Enable the device to use dead peer detection (DPD). DPD is a method used by devices to verify the current
existence and availability of IPsec peers. A device performs this verification by sending encrypted IKE
Phase 1 notification payloads (R-U-THERE messages) to a peer and waiting for DPD acknowledgements
(R-U-THERE-ACK messages) from the peer.
Options
interval—Specify the amount of time that the peer waits for traffic from its destination peer before sending
a dead-peer-detection (DPD) request packet.
Default: 10 seconds
Range: 2 through 60 seconds
always-send—Instructs the device to send dead peer detection (DPD) requests regardless of whether there
is outgoing IPsec traffic to the peer.
optimized—Send dead peer detection (DPD) messages if there is no incoming IKE or IPsec traffic within
the configured interval after outgoing packets are sent to the peer. This is the default DPD mode.
probe-idle-tunnel—Send dead peer detection (DPD) messages during idle traffic time between peers.
threshold—Specify the maximum number of unsuccessful dead peer detection (DPD) requests to be sent
before the peer is considered unavailable.
Default: 5
Range: 1 through 5
1314
RELATED DOCUMENTATION
dead-peer-detection {
always-send;
interval seconds;
threshold number;
}
Hierarchy Level
Release Information
Support for the Group VPN server added in Junos OS Release 15.1X49-D30 for vSRX.
Description
Enable the device to use dead peer detection (DPD). DPD is a method used by devices to verify the current
existence and availability of IPsec peers. A device performs this verification by sending encrypted IKE
Phase 1 notification payloads (R-U-THERE messages) to a peer and waiting for DPD acknowledgements
(R-U-THERE-ACK messages) from the peer.
Options
always-send—Send probes periodically regardless of incoming and outgoing data traffic.
interval seconds—Specify the interval time in seconds between DPD probe messages.
Range: 10 through 60 seconds
Default: 10 seconds
RELATED DOCUMENTATION
decryption-failures
Syntax
decryption-failures {
threshold value;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 11.2.
Description
Raise a security alarm after exceeding a specified number of decryption failures.
Default
Multiple decryption failures do not cause an alarm to be raised.
Options
failures—Number of decryption failures up to which an alarm is not raised. When the configured number
is exceeded, an alarm is raised.
Range: 1 through 1,000,000,000.
Default: 1000
RELATED DOCUMENTATION
dh-group (group1 | group2 | group5 | group14 | group15 | group16 | group19 | group20 | group21 | group24);
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5.
Support for the group14 option added in Junos OS Release 11.1.
Support for group19, group20, and group24 options added in Junos OS Release 12.1X45-D10.
Support for group19 and group20 options added in Junos OS Release 15.1X49-D70 for vSRX.
group15, group16, and group21 options introduced in Junos OS Release 19.1R1 on SRX Series devices.
Starting in Junos OS Release 20.2R1, we’ve changed the help text description as NOT RECOMMENDED
for the CLI options group1, group2, group5, and group14.
Description
Specify the IKE Diffie-Hellman group. The device does not delete existing IPsec SAs when you update the
dh-group configuration in the IKE proposal.
Options
dh-group—Diffie-Hellman group for key establishment.
• group19—256-bit random Elliptic Curve Groups modulo a Prime (ECP groups) algorithm.
We recommend that you use group14, group15, group16, group19, group20, or group21 instead of group1,
group2, or group5.
1318
RELATED DOCUMENTATION
distinguished-name (Security)
Syntax
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5.
Description
Specify a distinguished name as the identifier for the remote gateway with a dynamic IP address.
Options
container-string—DN field and value to be matched. For example, cn=admin, ou=eng, o=example, dc=net.
Specify one or more distinguished name (DN) field and value pairs that must match the DN in the VPN
peer’s digital certificate. The order of the fields and their values must exactly match the DN in the
peer’s digital certificate.
Add a space between each field and value pair. For example, edit security ike gateway jsr_gateway
dynamic distinguished-name container o=example, dc=net.
wildcard-string—DN field and value pairs to be matched. For example, cn=admin, ou=eng, o=example,
dc=net. Specify one or more distinguished name (DN) field and value pairs that must match the DN
in the VPN peer’s digital certificate. The configured field and value must match the DN in the peer’s
digital certificate but the order of the fields in the DN does not matter.
Add a space between each field and value pair. For example, edit security ike gateway jsr_gateway
dynamic distinguished-name wildcard o=example, dc=net.
Starting in Junos OS Release 19.4R1, you can now configure only one dynamic DN attribute among
container-string and wildcard-string at [edit security ike gateway gateway_name dynamic
distinguished-name] hierarchy. If you try configuring the second attribute after you configure the first
attribute, the first attribute is replaced with the second attribute. Before your upgrade your device,
you must remove one of the attributes if you have configured both the attributes.
RELATED DOCUMENTATION
distribution-profile
Syntax
Hierarchy Level
[edit security]
Release Information
Statement introduced in Junos OS Release 19.2R1.
Description
The distribution-profile option is introduced to give the administrator an option to define a profile to
handle tunnels associated with a certain VPN object. If the default profiles such as default-spc3-profile
or default-spc2-profile are not selected, a new user-defined profile can be created. In a profile, you should
mention the Flexible PIC Concentrator (FPC) slot and the PIC slot. When this profile is associated with a
VPN object, all matching tunnels will be distributed across these PICs. The thread-id is an optional value.
If you specify a thread ID, then the tunnel is distributed in the specified thread.
Starting in Junos OS Release 20.2R1, when you add, change, or delete the thread ID from distribution
profile, all tunnels part of modified distribution profile anchored on modified SPU member of distribution
profile are teared down and re-negotiated. See Table 108 on page 1322 for catastrophic changes when you
change the distribution profile configuration.
1322
Add new distribution profile added to the VPN. All tunnels part of this new distribution profile are brought
down and re-negotiated.
Add new SPU information to a profile already part of the No impact on any tunnel.
VPN.
Delete SPU information from a distribution profile of the Only those tunnels part of the distribution profile that is
VPN. modified and anchored on a deleted SPU are brought
down and re-negotiated.
Add first thread ID to an SPU part of the distribution All tunnels part of this distribution profile are brought
profile. down and re-negotiated.
Add next set of thread IDs to SPU part of the distribution No impact for any tunnel.
profile.
Delete a thread ID from an SPU part of the distribution Only those tunnels part of the modified distribution profile
profile. and anchored on the deleted SPU are brought down and
re-negotiated.
Delete last thread ID from SPU part of the distribution No impact on any tunnel.
profile.
Change distribution profile name from profileA to profileB All tunnels part of this profile are brought down and
in VPN. re-negotiated.
Options
description—Text description of the distribution profile.
dynamic (Security)
Syntax
dynamic {
connections-limit number;
distinguished-name {
container container-string;
wildcard wildcard-string
}
hostname domain-name;
ike-user-type (group-ike-id | shared-ike-id);
inet ip-address;
inet6 ipv6-address;
reject-duplicate-connection;
user-at-hostname e-mail-address;
}
Hierarchy Level
Release Information
Statement modified in Junos OS Release 8.5. Support for the inet6 option added in Junos OS Release
11.1.
Description
Specify the identifier for the remote gateway with a dynamic IPv4 or IPv6 address. Use this statement to
set up a VPN with a gateway that has an unspecified IPv4 or IPv6 address.
Options
connections-limit—Configure the number of concurrent connections that the group profile supports. When
the maximum number of connections is reached, no more dynamic virtual private network (VPN)
endpoints dialup users attempting to access an IPsec VPN are allowed to begin Internet Key Exchange
(IKE) negotiations. This configuration applies to SRX300, SRX320, SRX340, SRX345, SRX550M,
SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances, and to SRX5400, SRX5600,
and SRX5800 devices configured for AutoVPN.
distinguished-name—Specify a distinguished name as the identifier for the remote gateway with a dynamic
IP address.
is matched to the right-most part of the alternate subject field in the peer device’s certificate. For
example, the partial FQDN example.net can match devices with host1.example.net or host2.example.net
in the alternate subject field of their certificates. Note that the partial FQDN example.net does not
match host1.example.network.com or host2.net.com because example.net is not the right-most value
in the alternate subject field. For AutoVPN, a partial FQDN combined with ike-user-type group-ike-id
can be used to identify a specific remote user or peer when there are multiple peers that share a
common domain name.
• shared-ike-id—E-mail address shared by a large number of remote access users so that each user
does not need to configure a separate IKE profile. When a shared IKE ID is configured, all users
share a single IKE ID and a single IKE preshared key. Each user is authenticated through the mandatory
XAuth phase, where the credentials of individual users are verified either with an external RADIUS
server or with a local access database. XAuth is required for shared IKE IDs.
RELATED DOCUMENTATION
dynamic-vpn
Syntax
dynamic-vpn {
access-profile profile-name;
clients configuration-name {
ipsec-vpn vpn-name;
remote-exceptions ip-address/mask;
remote-protected-resources ip-address/mask;
user username;
user-groups user-group-name;
}
config-check;
force-upgrade;
interface;
traceoptions {
file <filename> <files files> <match match> <size size> <(world-readable | no-world-readable)>;
flag {
all;
}
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
}
Hierarchy Level
[edit security]
Release Information
Statement introduced in Junos OS Release Release 9.5.
config-check and interface options introduced in Junos OS Release 12.1X44-D10.
Description
Configure the dynamic VPN feature. The dynamic VPN feature simplifies remote access by enabling users
to create IPsec VPN tunnels without having to manually configure settings on their PCs or laptops. This
feature is supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
Options
access-profile—Specify the access profile to use for Extended Authentication for remote users trying to
download the Access Manager. This feature is supported on SRX300, SRX320, SRX340, SRX345, and
SRX550HM devices.
1326
config-check—Enable extra dynamic VPN configuration checking. If you include this statement in your
configuration, it is automatically enabled. If the statement is not present in your configuration, the
configuration check option is not enabled. This feature is supported on SRX300, SRX320, SRX340,
SRX345, and SRX550HM devices.
interface—Specify a list of interfaces to set the interfaces that allow access to dynamic VPN, separated
by spaces. This feature is supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
RELATED DOCUMENTATION
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. Support for aes-128-gcm and aes-256-gcm options added
in Junos OS Release 15.1X49-D40.
Starting in Junos OS Release 20.2R1, we’ve changed the help text description as NOT RECOMMENDED
for the CLI options 3des-cbc and des-cbc.
Description
Configure an encryption algorithm for an IKE proposal. The device does not delete existing IPsec SAs when
you update the encryption-algorithm configuration in the IKE proposal.
Options
3des-cbc—Has a block size of 24 bytes; the key size is 192 bits long.
aes-128-gcm—AES 128-bit authenticated encryption algorithm supported with IKEv2 only. When this
option is used, aes-128-gcm should be configured at the [edit security ipsec proposal proposal-name]
hierarchy level, and the authentication-algorithm option should not be configured at the [edit security
ike proposal proposal-name] hierarchy level.
When aes-128-gcm or aes-256-gcm encryption algorithms are configured in the IPsec proposal, it is
not mandatory to configure AES-GCM encryption algorithm in the corresponding IKE proposal.
aes-256-gcm—AES 256-bit authenticated encryption algorithm supported with IKEv2 only. When this
option is used, aes-256-gcm should be configured at the [edit security ipsec proposal proposal-name]
hierarchy level, and the authentication-algorithm option should not be configured at the [edit security
ike proposal proposal-name] hierarchy level.
RELATED DOCUMENTATION
encryption-failures
Syntax
encryption-failures {
threshold value;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 11.2.
Description
Raise a security alarm after exceeding a specified number of encryption failures.
Default
Multiple encryption failures do not cause an alarm to be raised.
Options
failures—Number of encryption failures up to which an alarm is not raised. When the configured number
is exceeded, an alarm is raised.
Range: 1 through 1,000,000,000.
Default: 1000
RELATED DOCUMENTATION
file
Syntax
file <filename> <files files> <match match> <size size> <(world-readable | no-world-readable)>;
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 12.1X44-D10.
Description
Configure the trace file options. Name of the file to receive the output of the tracing operation.
Options
filename—Name of file in which to write trace information
RELATED DOCUMENTATION
gateway gateway-name {
ike-policy policy-name;
local address ip-address;
local-identity {
(hostname hostname | inet ip-address | inet6 ipv6-address | user-at-hostname e-mail-address);
}
remote-identity {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
routing-instance routing-instance;
server-address ip-address;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2. Support for the routing-instance option added in Junos
OS Release 15.1X49-D30 for vSRX.
Description
Configure IKE gateway for group VPN member. An IKE gateway initiates and terminates network
connections between a firewall and a security device.
Options
gateway gateway-name—Name of the gateway.
local address ip-address—Configure the IPv4 address the member uses when accessing the group server.
local-identity local-identity—Specify the local IKE identity to send in the exchange with the destination
peer to establish communication.
remote-identity remote-identity—Specify the name of a routing instance. If this is not specified, the default
inet.0 routing instance is used.
1332
routing-instance routing-instance—Specify the name of a routing instance. If this is not specified, the default
inet.0 routing instance is used.
server-address ip-address—Specify the group server IPv4 address that this member registers through a
groupkey-pull exchange. Up to four server IP addresses can be configured. The group member attempts
to register with the first configured server. If registration with a configured server is not successful,
the group member tries to register with the next configured server.
We recommend that group members only register with sub-servers in a server cluster and not the
root-server.
RELATED DOCUMENTATION
gateway gateway-name {
address ip-address;
dead-peer-detection {
always-send;
interval seconds;
threshold number;
}
dynamic {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
ike-policy policy-name;
local-address ip-address;
local-identity {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
remote-identity {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
routing-instance routing-instance;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Support for the Group VPN server added in Junos OS Release 15.1X49-D30 for vSRX.
Description
Configure IKE gateway for group VPN server.
Options
gateway gateway-name —Name of the gateway.
dynamic—Specify the identifier for the remote gateway with a dynamic IPv4 address. Use this statement
to set up a VPN with a gateway that has an unspecified IPv4 address.
Configuring mode main for group VPN servers or members is not supported when the remote gateway
has a dynamic address and the authentication method is pre-shared-keys.ike-policy policy-name —Specify
the name of the IKE policy.
local-address ip-address —Configure the source IP address the group VPN server uses when communicating
with a group member or a root-server. This statement is normally used when there are multiple IP addresses
bound to an interface.
local-identity—Specify the local IKE identity to send in the exchange with the destination peer to establish
communication. If you do not configure a local-identity, the device uses the IPv4 corresponding to the
local endpoint by default.
remote-identity—Specify the remote IKE identity of the destination peer. If you do not configure a remote
identity, the device uses, by default, the IPv4 address that corresponds to the destination peer.
routing-instance routing-instance—Configure the routing instance that the group VPN server uses when
communicating with a group server. This statement is used when the IKE gateway is not configured in the
default routing instance.
RELATED DOCUMENTATION
gateway gateway-name {
aaa {
access-profile access-profile {
config-payload-password config-payload-password;
}
client {
password;
username;
}
}
address [ip-address-or-hostname];
advpn {
suggester {
disable;
}
partner {
connection-limit number;
idle-threshold packets/sec;
idle-time seconds;
disable;
}
}
dead-peer-detection {
(always-send | optimized | probe-idle-tunnel);
interval seconds;
threshold number;
}
dynamic {
connections-limit number;
distinguished-name {
container container-string;
wildcard wildcard-string
}
hostname domain-name;
ike-user-type (group-ike-id | shared-ike-id);
inet ip-address;
inet6 ipv6-address;
reject-duplicate-connection;
user-at-hostname e-mail-address;
}
1336
external-interface external-interface-name;
fragmentation {
disable;
size bytes;
}
general-ikeid;
ike-policy policy-name;
local-address (ipv4-address | ipv6-address);
local-identity {
(distinguished-name | hostname hostname | inet ip-address | inet6 ipv6-address | key-id | user-at-hostname
e-mail-address);
}
nat-keepalive seconds;
no-nat-traversal;
remote-identity {
(distinguished-name <container container-string> <wildcard wildcard-string> | hostname hostname | inet ip-address
| inet6 ipv6-address | key-id | user-at-hostname e-mail-address);
}
tcp-encap-profile profile-name;
version (v1-only | v2-only);
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. Support for IPv6 addresses added in Junos OS Release
11.1. The inet6 option added in Junos OS Release 11.1. Support for the advpn option added in Junos OS
Release 12.3X48-D10.
Option fragmentation isintroduced in Junos OS Release 15.1X49-D80.
Description
Configure an IKE gateway.
1337
Options
gateway-name—Name of the gateway.
address—Specify the IPv4 or IPv6 address or the hostname of the primary Internet Key Exchange (IKE)
gateway and up to four backup gateways.
Values:
• address—IPv4 or IPv6 address or hostname of an IKE gateway.
aaa—Specify that extended authentication is performed in addition to IKE Phase 1 authentication for
remote users trying to access a VPN tunnel.
advpn—Enable Auto Discovery VPN (ADVPN) protocol on the specified gateway. ADVPN dynamically
establishes VPN tunnels between spokes to avoid routing traffic through the Hub.
dynamic—Specify the identifier for the remote gateway with a dynamic IPv4 or IPv6 address. Use this
statement to set up a VPN with a gateway that has an unspecified IPv4 or IPv6 address.
external-interface—Name of the interface to be used to send traffic to the IPsec VPN. Specify the outgoing
interface for IKE SAs. This interface is associated with a zone that acts as its carrier, providing firewall
security for it.
fragmentation—Disable IKEv2 packet fragmentation and, optionally, configure the maximum size of an
IKEv2 message before the message is split into fragments that are individually encrypted and
authenticated.
size bytes—Maximum size, in bytes, of an IKEv2 message before it is split into fragments. The size
applies to both IPv4 and IPv6 messages.
Range: 500 to 1300 bytes
Default: 576 bytes for IPv4 messages and 1280 bytes for IPv6 messages
local-address—Local IP address for IKE negotiations. Specify the local gateway address. Multiple addresses
in the same address family can be configured on an external physical interface to a VPN peer. If this
is the case, we recommend that local-address be configured. If there is only one IPv4 and one IPv6
address configured on an external physical interface, local-address configuration is not necessary.
The local-address value must be an IP address that is configured on an interface on the SRX Series
device. We recommend that local-address belong to the external interface of the IKE gateway. If
local-address does not belong to the external interface of the IKE gateway, the interface must be in
the same zone as the external interface of the IKE gateway and an intra-zone security policy must be
1338
configured to permit traffic. The local-address value and the remote IKE gateway address must be in
the same address family, either IPv4 or IPv6.
local-identity—Specify the local IKE identity to send in the exchange with the destination peer to establish
communication.
nat-keepalive—Specify the interval at which NAT keepalive packets (seconds) can be sent so that NAT
translation continues. Default value changed from 5 seconds to 20 seconds in Junos OS Release
12.1X46-D10.
Default: 20
Range: 1 through 300
no-nat-traversal—Disable IPSec NAT traversal. Disables UDP encapsulation of IPsec Encapsulating Security
Payload (ESP) packets, otherwise known as Network Address Translation Traversal (NAT-T). NAT-T
is enabled by default.
tcp-encap-profile—Specify the TCP encapsulation profile to be used for TCP connections for remote access
clients.
RELATED DOCUMENTATION
group name {
anti-replay-time-window milliseconds;
description description;
group-id number;
ike-gateway gateway-name;
ipsec-sa name {
match-policy policy-name {
destination ip-address/netmask;
destination-port number;
protocol number;
source ip-address/netmask;
source-port number;
}
proposal proposal-name;
}
member-threshold number;
server-cluster {
ike-gateway gateway-name;
retransmission-period seconds;
server-role (root-server | sub-server);
}
server-member-communication {
certificate certificate-id;
communication-type (unicast);
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
lifetime-seconds seconds;
number-of-retransmission number;
retransmission-period seconds;
sig-hash-algorithm (sha-256 | sha-384);
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2
member-threshold option introduced in Junos OS Release 15.1X49-D30 for vSRX.
1340
Description
Configure group VPN on the group server. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
name—Name of the group.
We recommend that NTP be configured on Group VPNv2 devices to ensure proper antireplay operation.
Group members that are running on vSRX instances on a host machine where the hypervisor is running
under a heavy load may experience issues that can be corrected by reconfiguring the
anti-replay-time-window value. If data that matches the IPsec policy on the group member is not being
transferred, check the show security group-vpn member ipsec statistics output for D3P errors. Make
sure that NTP is operating correctly. If there are errors, adjust the anti-replay-time-window value.
• group-id number—Identifier for this group VPN. Specify a value from 1 to 4,294,967,295.
• ike-gateway gateway-name—Define the group member for Phase 1 negotiation. There can be multiple
instances of this option configured. When a group member sends its registration request to the server,
the server checks to see that the member is configured for the group.
• ipsec-sa name—Configure the group SAs to be downloaded to members. There can be multiple group
SAs downloaded to group members.
• member-threshold number—Specify the maximum number of group VPN members that can be accepted
in the group. The same member-threshold value must be configured on the root-server and all sub-servers
in a group server cluster.
The maximum number you can configure for a group is dependent upon the group server platform. Also,
the sum of the member-threshold numbers for all groups configured on the group server must not
exceed the capacity of the group server platform.
RELATED DOCUMENTATION
group-vpn
Syntax
group-vpn {
member {
ike {
gateway gateway-name;
policy;
proposal;
traceoptions;
}
ipsec {
vpn vpn-name {
df-bit (clear | copy | set);
exclude rule rule-name {
source-address ip-address/mask;
destination-address ip-address/mask;
application application;
}
fail-open rule rule-name {
source-address ip-address/mask;
destination-address ip-address/mask;
application application;
}
group id;
group-vpn-external-interface interface;
ike-gateway gateway-name;
recovery-probe;
}
}
}
server {
group name {
anti-replay-time-window milliseconds;
description description;
group-id number;
ike-gateway gateway-name;
ipsec-sa;
member-threshold number;
server-cluster;
}
ike {
gateway gateway-name;
1343
policy;
proposal;
}
ipsec {
proposal proposal-name;
}
traceoptions (Security Group VPN);
}
}
Hierarchy Level
[edit security]
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Configure Group VPNs in Group VPNv2. Group VPNv2 extends IPsec architecture to support SAs that
are shared by a group of security devices. With Group VPNv2, any-to-any connectivity is achieved by
preserving the original source and destination IP addresses in the outer header.
1344
Options
member—Configure group VPN member.
proposal—Define an IKE proposal. You can configure one or more IKE proposals. Each proposal is a list of
IKE attributes to protect the IKE connection between the IKE host and its peer.
traceoptions—Configure group VPN tracing options to aid in troubleshooting the IKE or server issues.
group-id number—Identifier for this group VPN. Specify a value from 1 to 4,294,967,295.
ike-gateway gateway-name—Define the group member for Phase 1 negotiation. There can be multiple
instances of this option configured. When a group member sends its registration request to the server,
the server checks to see that the member is configured for the group.
ipsec-sa—Configure the group SAs to be downloaded to members. There can be multiple group SAs
downloaded to group members.
member-threshold—Specify the maximum number of group VPN members that can be accepted in the
group. There is no default number.
server-cluster—Configure the Group Domain of Interpretation (GDOI) group controller/key server (GCKS)
cluster for the specified group. All servers in a group VPN server cluster must be SRX Series devices.
RELATED DOCUMENTATION
ike (Security)
Syntax
ike {
gateway (Security IKE) name {
( address | dynamic (Security) distinguished-name (Security) < container> < wildcard> hostname inet inet6
user-at-hostname <connections-limit connections-limit> <ike-user-type (group-ike-id | shared-ike-id)>
<reject-duplicate-connection>);
aaa {
access-profile;
client password password username username;
}
advpn {
partner {
connection-limit connection-limit;
disable;
idle-threshold idle-threshold;
idle-time seconds;
}
suggester {
disable;
}
}
dead-peer-detection (always-send | optimized | probe-idle-tunnel);
external-interface external-interface;
fragmentation {
disable;
size size;
}
general-ikeid;
ike-policy;
local-address;
local-identity (distinguished-name | hostname identity-hostname | inet identity-ipv4 | inet6 identity-ipv6 | key-id
string-key-id | user-at-hostname identity-user);
remote-identity distinguished-name <container container> <wildcard wildcard>hostname identity-hostnameinet
identity-ipv4inet6 identity-ipv6 key-id string-key-id user-at-hostname identity-user;
tcp-encap-profile;
version (v1-only | v2-only);
}
policy name {
certificate {
local-certificate (Security) local-certificate;
peer-certificate-type (pkcs7 | x509-signature);
1347
policy-oids policy-oids;
trusted-ca (ca-profile ca-profile | trusted-ca-group trusted-ca-group );
}
description description;
mode (aggressive | main);
pre-shared-key (ascii-text ascii-text | hexadecimal hexadecimal);
proposal-set (Security IKE) (basic | compatible | prime-128 | prime-256 | standard | suiteb-gcm-128 |
suiteb-gcm-256);
proposals [ proposals ... ];
reauth-frequency reauth-frequency;
}
proposal name {
authentication-algorithm (md5 | sha-256 | sha-384 | sha-512 | sha1);
authentication-method (dsa-signatures | ecdsa-signatures-256 | ecdsa-signatures-384 | ecdsa-signatures-521
| pre-shared-keys | rsa-signatures);
description description;
dh-group (group1 | group14 | group15 | group16 | group19 | group2 | group20 | group21 | group24 | group5);
encryption-algorithm (Security IKE) (3des-cbc | aes-128-cbc | aes-128-gcm | aes-192-cbc | aes-256-cbc |
aes-256-gcm | des-cbc);
lifetime-seconds seconds;
}
respond-bad-spi <max-responses>;
traceoptions {
file {
filename;
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag flag (all | certificates | config | database | general | high-availability | ike | next-hop-tunnels | parse |
policy-manager | routing-socket | thread | timer)reference/configuration-statement/security-edit-ike-security;
no-remote-trace;
rate-limit messages-per-second;
}
}
Hierarchy Level
[edit security]
1348
Release Information
Statement modified in Junos OS Release 8.5.
Support for IPv6 addresses added in Junos OS Release 11.1.
inet6 option added in Junos OS Release 11.1.
group15, group16, group21, ecdsa-signatures-521, and sha-512 options introduced in Junos OS Release
19.1R1 on SRX Series devices.
Description
Define Internet Key Exchange (IKE) configuration. IKE is a key management protocol that creates dynamic
SAs; it negotiates SAs for IPsec. An IKE configuration defines the algorithms and keys used to establish a
secure connection with a peer security gateway.
Options
respond-bad-spi max-responses—(Optional) Number of times to respond to invalid SPI values per gateway.
Enable response to invalid IPsec Security Parameter Index (SPI) values. If the security associations (SAs)
between two peers of an IPsec VPN become unsynchronized, the device resets the state of a peer so that
the two peers are synchronized.
Range: 1 through 30
Default: 5
traceoptions—Configure IKE tracing options to aid in troubleshooting the IKE issues. This helps troubleshoot
one or multiple tunnels negotiation by standard tracefile configuration. IKE tracing allows the user to view
the detailed packet exchange and the negotiation information in Phase 1 and Phase 2. IKE tracing is not
enabled by default. By default , all IKE or IPsec negotiations are logged into /var/log/kmd. But user can
also specify customized file name while configuring the IKE traceoptions.
RELATED DOCUMENTATION
ike {
gateway gateway-name {
ike-policy policy-name;
local address ip-address;
local-identity {
(hostname hostname | inet ip-address | inet6 ipv6-address | user-at-hostname e-mail-address);
}
remote-identity {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
routing-instance routing-instance;
server-address ip-address;
}
policy policy-name {
description description;
mode (aggressive | main);
pre-shared-key (ascii-text key | hexadecimal key);
proposals proposal-name;
}
proposal proposal-name {
authentication-algorithm (sha-256 | sha-384);
authentication-method pre-shared-keys;
description description;
dh-group (group14 | group24);
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
lifetime-seconds seconds;
}
traceoptions {
file {
filename;
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag flag (all | certificates | config | database | general | high-availability | ike | next-hop-tunnels | parse |
policy-manager | routing-socket | thread | timer);
gateway-filter {
local-address ip-address;
remote-address ip-address;
1350
}
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Configure IKE group VPN on the group member. A group member encrypts the traffic and is responsible
for the actual encryption and decryption of data traffic. A group member is configured with IKE Phase 1
parameters and GC/KS information.
Options
gateway gateway-name—Configure IKE gateway for group VPN member.
traceoptions—Configure group VPN tracing options to aid in troubleshooting the IKE issues.
RELATED DOCUMENTATION
ike {
gateway gateway-name {
address ip-address;
dead-peer-detection {
always-send;
interval seconds;
threshold number;
}
dynamic {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
ike-policy policy-name;
local-address ip-address;
local-identity {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
remote-identity {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
routing-instance routing-instance;
}
policy policy-name {
description description;
mode (aggressive | main);
pre-shared-key (ascii-text key | hexadecimal key);
proposals proposal-name;
}
proposal proposal-name {
authentication-algorithm (sha-256 | sha-384);
authentication-method pre-shared-keys;
description description;
dh-group (group14 | group24);
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Configure Phase 1 security association (SA) with a member on the group server. The gateway is the group
member. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500,
SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
gateway gateway-name—Configure IKE gateway for group VPN server.
RELATED DOCUMENTATION
ike {
anti-replay-window-size anti-replay-window-size;
gateway gateway-name;
idle-time seconds;
install-interval seconds;
ipsec-policy ipsec-policy-name;
no-anti-replay;
proxy-identity {
local ip-prefix;
remote ip-prefix;
service (any | service-name);
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. Support for IPv6 addresses added in Junos OS Release
11.1.
Statement anti-replay-window-size is introduced in Junos OS Release 19.2R1.
Description
Define an IKE-keyed IPsec VPN.
Options
anti-replay-window-size—To enable the anti-replay-window-size option, you first need to configure the
option for each VPN object or at the global level. You can configure the anti-replay window size in
the range of 64 to 8192 (power of 2). If the anti-replay window size is not configured, the window
size is 64 by default. If anti-replay-window-size command is configured at both the global and VPN
object levels, the configuration on VPN object takes precedence over global configuration.
anti-replay-window-size is supported only on SRX 5000 Series devices with SRX5K-SPC3 card installed.
idle-time—Specify the maximum amount of idle time to delete a security association (SA).
Default: To be disabled
1354
install-interval—Specify the maximum number of seconds to allow for the installation of a rekeyed outbound
security association (SA) on the device.
Range: 0 through 10 seconds
no-anti-replay—Disable the antireplay checking feature of IPsec. Antireplay is an IPsec feature that can
detect when a packet is intercepted and then replayed by attackers. By default, antireplay checking
is enabled.
proxy-identity—Optionally specify the IPsec proxy ID to use in negotiations. The default is the identity
based on the IKE gateway. If the IKE gateway is an IPv6 site-to-site gateway, the default proxy ID is
::/0. If the IKE gateway is an IPv4 gateway or a dynamic endpoint or dialup gateway, the default proxy
ID is 0.0.0.0/0.
• local—Specify the local IPv4 or IPv6 address and subnet mask for the proxy identity.
• remote—Specify the remote IPv4 or IPv6 address and subnet mask for the proxy identity.
• service—Specify the service (port and protocol combination) to protect. Name of the service is as
defined with system-services (Interface Host-Inbound Traffic) and system-services (Zone
Host-Inbound Traffic).
RELATED DOCUMENTATION
ike-phase1-failures
Syntax
ike-phase1-failures {
threshold value;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 11.2.
Description
Raise a security alarm after exceeding a specified number of Internet Key Exchange (IKE) Phase 1 failures.
Default
Multiple IKE phase 1 failures do not cause an alarm to be raised.
Options
failures—Number of IKE phase 1 failures up to which an alarm is not raised. When the configured number
is exceeded, an alarm is raised.
Range: 1 through 1,000,000,000.
Default: 20
RELATED DOCUMENTATION
ike-phase2-failures
Syntax
ike-phase2-failures {
threshold value;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 11.2.
Description
Raise a security alarm after exceeding a specified number of Internet Key Exchange (IKE) phase 2 failures.
Default
Multiple IKE phase 2 failures do not cause an alarm to be raised.
Options
failures—Number of IKE phase 2 failures up to which an alarm is not raised. When the configured number
is exceeded, an alarm is raised.
Range: 1 through 1,000,000,000.
Default: 20
RELATED DOCUMENTATION
internal {
security-association {
manual {
encryption {
algorithm (3des-cbc | aes-128-cbc);
ike-ha-link-encryption enable;
key ascii-text;
}
}
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 12.1X45-D10.
Support for ike-ha-link-encryption option added in Junos OS Release 12.1X47-D15.
Support for iked_encryption option added in Junos OS Release 12.1X47-D10.
Support for aes-128-cbc option added in Junos OS Release 19.1R1.
Support for ike-ha-link-encryption option added for vSRX in Junos OS Release 19.4R1
Description
Enable secure login and to prevent attackers from gaining privileged access through this control port by
configuring the internal IP security (IPsec) security association (SA).
When the internal IPsec is configured, IPsec-based rlogin and remote command (rcmd) are enforced, so
an attacker cannot gain unauthorized information.
Options
security-association—Specify an IPsec SA. An SA is a simplex connection that allows two hosts to
communicate with each other securely by means of IPsec.
manual encryption—Specify a manual SA. Manual SAs require no negotiation; all values, including the keys,
are static and specified in the configuration.
algorithm aes-128-cbc—Specify the encryption algorithm for high availability encryption link.
key ascii-text—Specify the encryption key. You must ensure that the manual encryption key is in ASCII
text and 24 characters long; otherwise, the configuration will result in a commit failure.
RELATED DOCUMENTATION
ipsec (Security)
Syntax
ipsec {
anti-replay-window-size anti-replay-window-size;
internal;
policy;
proposal
security-association sa-name;
traceoptions;
vpnvpn-name;
vpn-monitor-options {
interval seconds;
threshold number;
}
}
Hierarchy Level
[edit security]
Release Information
Statement modified in Junos OS Release 8.5.
group15, group16, group21, hmac-sha-512 and hmac-sha-384 options introduced in Junos OS Release
19.1R1 on SRX Series devices.
Description
Define IPsec configuration. A VPN connection can link two LANs (site-to-site VPN) or a remote dial-up
user and a LAN. The traffic that flows between these two points passes through shared resources such
as routers, switches, and other network equipment that make up the public WAN. An IPsec tunnel is
created between two participant devices to secure VPN communication.
Options
anti-replay-window-size—Anti-replay window size.
Range: 64 through 8192 bytes
Default: 64 bytes
internal—Configure internal IPsec. When the internal IPsec is configured, IPsec-based rlogin and remote
command (rcmd) are enforced, so an attacker cannot gain unauthorized information.
1360
policy—Define an IPsec policy. An IPsec policy defines a combination of security parameters (IPsec proposals)
used during IPsec negotiation. It defines Perfect Forward Secrecy (PFS) and the proposals needed for
the connection.
proposal—Name of the IPsec proposal. An IPsec proposal lists protocols and algorithms (security services)
to be negotiated with the remote IPsec peer.
traceoptions—Configure IPsec tracing options. Trace operations track IPsec events and record them in a
log file in the /var/log directory.
vpn vpn-name—Configure an IPsec VPN. A VPN provides a means by which remote computers communicate
securely across a public WAN suchas the Internet
threshold number—Number of consecutive unsuccessful pings before the peer is declared unreachable.
Range: 1 through 65,536 pings
Default: 10 pings
RELATED DOCUMENTATION
ipsec {
vpn vpn-name {
df-bit (clear | copy | set);
exclude rule rule-name {
source-address ip-address/mask;
destination-address ip-address/mask;
application application;
}
fail-open rule rule-name {
source-address ip-address/mask;
destination-address ip-address/mask;
application application;
}
group id;
group-vpn-external-interface interface;
ike-gateway gateway-name;
recovery-probe;
}
t}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2. df-bit, exclude rule, fail-open rule, and recovery-probe
options added in Junos OS Release 15.1X49-D30 for vSRX.
Description
Configure IPsec for Phase 2 exchange on the group member. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX
instances.
Options
vpn vpn-name—Name of the VPN.
df-bit—Specifies pre-fragmentation and post-fragmentation of IPsec traffic on the group member. One of
the following options can be configured:
1362
• clear—Sets the outer IP do not fragment (DF) bit to 0. When the packet size is larger than the path
maximum transmission unit (path MTU), pre-fragmentation is done if the DF bit is not set in the
inner packet and post-fragmentation is done if the DF bit is set in the inner packet. This is the default.
• copy—Copies the DF bit from the inner header to the outer header. When the packet size is larger
than the path PMTU, pre-fragmentation is done if the DF bit is not set in the inner packet. If the DF
bit is set in the inner packet, the packet is dropped and an ICMP message is sent back.
• set—Sets the outer IP DF bit to 1. When the packet size is larger than the path MTU,
pre-fragmentation is done if the DF bit is not set in the inner packet. If the DF bit is set in the inner
packet, the packet is dropped and an ICMP message is sent back
exclude rule—Specifies traffic to be excluded from Group VPN encryption. A maximum of 10 exclude rules
can be configured. Source and destination addresses must be specified in ip-address/mask format;
address books and address sets are not supported. Predefined and user-defined applications are
supported, but application sets are not supported.
fail-open rule—Specifies the traffic to be sent in cleartext mode if there is no valid SA key available to
protect the traffic. Traffic that is not specified by the fail-open rule is blocked if there is no valid SA
key available to protect the traffic. A maximum of 10 fail-open rules can be configured. Source and
destination addresses must be specified in ip-address/mask format; address books and address sets
are not supported. Predefined and user-defined applications are supported, but application sets are
not supported.
RELATED DOCUMENTATION
ipsec {
proposal proposal-name {
authentication-algorithm (hmac-sha-256-128);
description description;
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
lifetime-seconds seconds;
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Configure IPsec proposal for Phase 2 exchange on the group server. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX
instances.
Options
proposal proposal-name—Name of the proposal. The proposal name can be up to 32 alphanumeric characters
long.
RELATED DOCUMENTATION
ipsec-policy
Syntax
Hierarchy Level
[edit security]
Release Information
Statement introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Specifies that matching traffic is checked against rules associated with the specified Group VPN. Exclude
and fail-open rules are configured at the [edit security group-vpn member ipsec vpn vpn-name] hierarchy
level.
Options
from-zone zone-name—Specify the incoming zone for Group VPN traffic.
The to-zone zone must include the interface configured with the group-vpn-external-interface option
at the [edit security group-vpn member ipsec vpn vpn-name] hierarchy level.
ipsec-group-vpn vpn-name—Specify the Group VPN to which the traffic applies. Only one Group VPN can
be referenced by a specific from-zone/to-zone pair.
RELATED DOCUMENTATION
ipsec-sa name {
match-policy policy-name {
destination ip-address/netmask;
destination-port number;
protocol number;
source ip-address/netmask;
source-port number;
}
proposal proposal-name;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Configure the group SAs to be downloaded to members. There can be multiple group SAs downloaded to
group members.
Options
ipsec-sa name—Define the group SAs to be downloaded to members.
• match-policy policy-name—Configure the group policy with source address, source port, destination
address, destination port, and protocol.
• proposal proposal-name—Specify the name of the IPsec proposal configured with the proposal
configuration statement at the [edit security group-vpn server ipsec] hierarchy.
RELATED DOCUMENTATION
local-identity
Syntax
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. The inet6 option added in Junos OS Release 11.1.
Description
Specify the local IKE identity to send in the exchange with the destination peer to establish communication.
If you do not configure a local-identity, the device uses the IPv4 or IPv6 address corresponding to the
local endpoint by default.
For Network Address Translation Traversal (NAT-T), both local identity and remote identity must be
configured.
Options
• distinguished-name distinguished name—Specify a distinguished name as the identifier for the remote
gateway.
RELATED DOCUMENTATION
manual {
authentication {
algorithm (hmac-md5-96 | hmac-sha-256-128 | hmac-sha1-96);
key (ascii-text key | hexadecimal key );
}
encryption {
algorithm (3des-cbc | aes-128-cbc | aes-128-gcm | aes-192-cbc | aes-256-cbc | aes-256-gcm | des-cbc);
key (ascii-text key | hexadecimal key );
}
external-interface external-interface-name;
gateway ip-address;
protocol (ah | esp);
spi spi-value;
}
Hierarchy Level
Release Information
Statement modified in Junos OS Release 8.5. Support for IPv6 addresses added in Junos OS Release 11.1.
Support for hmac-sha-256-128 added to SRX5400, SRX5600, and SRX5800 devices in Junos OS Release
12.1X46-D20. Support for authentication algorithms (SHA1: hmac-sha1-96 and SHA2: hmac-sha-256-128)
in PowerMode IPsec (PMI) mode is introduced for SRX4100, SRX4200, and vSRX in Junos OS Release
19.3R1. Support for vSRX 3.0 is introduced in Junos OS Release 20.1R1.
Support for cipher algorithms aes-128-cbc, aes-192-cbc, and aes-256-cbc in PowerMode IPsec (PMI)
mode is introduced for SRX4100, SRX4200, and vSRX in Junos OS Release 19.3R1. Support for vSRX 3.0
is introduced in Junos OS Release 20.1R1.
Description
Define a manual IPsec security association (SA).
Options
authentication algorithm—Hash algorithm that authenticates packet data. It can be one of the following
• hmac-sha1-96—Hash algorithm that authenticates packet data. It produces a 160-bit digest. Only
96 bits are used for authentication.
• ascii-text key—ASCII text key. For hmac-md5-96, the key is 16 ASCII characters; for hmac-sha1-96,
the key is 20 ASCII characters.
• hexadecimal key—Hexadecimal key. For hmac-md5-96, the key is 32 hexadecimal characters; for
hmac-sha1-96, the key is 40 hexadecimal characters.
• des-cbc—Encryption algorithm with block size of 8 bytes (64 bits) and key size 48 bits.
• 3des-cbc—Encryption algorithm with block size of 8 bytes (64 bits) and key size of 192 bits.
For 3des-cbc, we recommend that the first 8 bytes be different from the second 8 bytes, and the
second 8 bytes be the same as the third 8 bytes.
• ascii-text key—ASCII text key. For the des-cbc option, the key contains 8 ASCII characters; for
3des-cbc, the key contains 24 ASCII characters.
• hexadecimal key—Hexadecimal key. For the des-cbc option, the key contains 16 hexadecimal
characters; for the 3des-cbc option, the key contains 48 hexadecimal characters.
gateway—For a manual security association, specify the IPv4 or IPv6 address of the peer
• esp—ESP protocol (To use the ESP protocol, you must also use the tunnel statement at the [edit
security ipsec security-association sa-name mode] hierarchy level)
1370
spi—Configure a security parameter index (SPI) for a security association (SA). An arbitrary value that
uniquely identifies which security association (SA) to use at the receiving host (the destination address
in the packet).
Range: 256 through 16,639
RELATED DOCUMENTATION
member {
ike {
gateway gateway-name;
policy;
proposal;
traceoptions;
}
ipsec {
vpn vpn-name {
df-bit (clear | copy | set);
exclude rule rule-name {
source-address ip-address/mask;
destination-address ip-address/mask;
application application;
}
fail-open rule rule-name {
source-address ip-address/mask;
destination-address ip-address/mask;
application application;
}
group id;
group-vpn-external-interface interface;
ike-gateway gateway-name;
recovery-probe;
}
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Configure group VPN member. A group member encrypts the traffic and is responsible for the actual
encryption and decryption of data traffic. A group member is configured with IKE Phase 1 parameters and
GC/KS information.
1372
Options
ikegateway-name—Configure IKE gateway for group VPN member.
traceoptions—Configure group VPN tracing options to aid in troubleshooting the IKE issues.
RELATED DOCUMENTATION
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. Support for group-vpn hierarchies added in Junos OS
Release 10.2.
Description
Define the mode used for Internet Key Exchange (IKE) Phase 1 negotiations. Use aggressive mode only
when you need to initiate an IKE key exchange without ID protection, as when a peer unit has a dynamically
assigned IP address. (The main option is not supported on dynamic VPN implementations.) Group VPNv2
is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and
SRX4600 devices and vSRX instances.
• The device deletes existing IKE and IPsec SAs when you update the mode configuration in the IKE policy.
Options
• aggressive—Aggressive mode.
• main—Main mode. Main mode is the recommended key-exchange method because it conceals the
identities of the parties during the key exchange.
Configuring mode main for group VPN servers or members is not supported when the remote gateway
has a dynamic address and the authentication method is pre-shared-keys.
RELATED DOCUMENTATION
multi-sa
Syntax
multi-sa {
forwarding-class expedited-forwarding | assured-forwarding | best-effort | network-control;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 18.2R1.
Description
Negotiate multiple security association (SAs) based on configuration choice. Multiple SAs negotiates with
the same traffic selector on the same IKE SA. By negotiating multiple SAs, the peer gateways have more
replay windows. If the peer gateways create separate multiple SAs for the configured Forwarding-Classes
(FC), then potentially a separate anti-replay window is available for each FC value. With this mapping, even
if CoS can reorder packets, reordering is done with in a given multiple SA, thus avoiding packets drop due
to the anti-replay checks.
Options
forwarding-class—Forwarding classes (FCs) allow you to group packets for transmission and to assign
packets to output queues.
Values:
• expedited-forwarding—Provides a low-loss, low-latency, low-jitter, assured-bandwidth, end-to-end
service.
• assured-forwarding—Provides a group of values you can define and includes four subclasses—AF1,
AF2, AF3, and AF4—each with three drop probabilities (low, medium, and high).
• best-effort—Provides no service profile. For the BE forwarding class, loss priority is typically not
carried in a class-of-service (CoS) value, and random early detection (RED) drop profiles are more
aggressive.
RELATED DOCUMENTATION
ocsp {
connection-failure (disable | fallback-crl);
disable-responder-revocation-check;
nonce-payload (enable | disable);
url ocsp-url;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 12.1X46-D20.
Description
Configure Online Certificate Status Protocol (OCSP) to check the revocation status of a certificate.
Options
connection-failure—(Optional) Specify action to take if there is a connection failure to the OCSP responder.
If this option is not configured and there is no response from the OCSP responder, certificate validation
will fail.
nonce-payload—(Optional) Send a nonce payload to prevent replay attack. A nonce payload is sent by
default unless it is explicitly disabled. If enabled, the SRX Series device expects OCSP responses to
contain a nonce payload, otherwise the revocation check will fail. If OCSP responders are not capable
of responding with a nonce payload, disable this option.
url ocsp-url—Specify HTTP addresses for OCSP responders. A maximum of two HTTP URL addresses can
be configured. If the configured URLs are not reachable, or URLs are not configured, the URL from
the certificate being verified is checked.
RELATED DOCUMENTATION
pki
Syntax
pki {
auto-re-enrollment;
ca-profile ca-profile-name;
traceoptions;
trusted-ca-group name {
ca-profiles ca-profiles;
}
}
Hierarchy Level
[edit security]
Release Information
Statement modified in Junos OS Release 8.5.
Description
Configure an IPsec profile to request digital certificates. The Public Key Infrastructure (PKI) provides an
infrastructure for digital certificate management.
Options
auto-re-enrollment—Configure the automatic reenrollment of a local end-entity (EE) certificate.
RELATED DOCUMENTATION
policy policy-name {
description description;
mode2 (aggressive | main);
pre-shared-key (ascii-text key | hexadecimal key);
proposals proposal-name;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Configure an IKE policy. An IKE policy defines a combination of security parameters (IKE proposals) to be
used during IKE negotiation. It defines a peer address, the preshared key for the given peer, and the
proposals needed for that connection. During the IKE negotiation, IKE looks for an IKE policy that is the
same on both peers. The peer that initiates the negotiation sends all its policies to the remote peer, and
the remote peer tries to find a match.
Options
policy policy-name—Name of the IKE policy. The policy name can be up to 32 alphanumeric characters
long.
mode—Define the mode used for Internet Key Exchange (IKE) Phase 1 negotiations.
proposals proposal-name—Specify up to four Phase 1 proposals for an IKE policy. If you include multiple
proposals, use the same Diffie-Hellman group in all of the proposals.
RELATED DOCUMENTATION
policy policy-name {
certificate {
local-certificate certificate-id;
peer-certificate-type (pkcs7 | x509-signature);
policy-oids [ oid ];
trusted-ca {
ca-profile ca-profile-name;
trusted-ca-group trusted-ca-group-name;
}
}
description description;
mode (aggressive | main);
pre-shared-key (ascii-text key | hexadecimal key);
proposal-set (basic | compatible | prime-128 | prime-256 | standard | suiteb-gcm-128 | suiteb-gcm-256);
proposals proposal-name;
reauth-frequency number;
}
Hierarchy Level
Release Information
Statement modified in Junos OS Release 8.5. Support for suiteb-gcm-128 and suiteb-gcm-256 options
added in Junos OS Release 12.1X45-D10. Support for policy-oids option added in Junos OS Release
12.3X48-D10. Support for trusted-ca option added in Junos OS Release 18.1R1.
Support for reauth-frequency option added in Junos OS Release 15.1X49-D60.
Description
Configure an IKE policy.
Options
policy-name—Name of the IKE policy. The policy name can be up to 32 alphanumeric characters long.
certificate—Specify usage of a digital certificate to authenticate the virtual private network (VPN) initiator
and recipient.
mode—Define the mode used for Internet Key Exchange (IKE) Phase 1 negotiations. Use aggressive mode
only when you need to initiate an IKE key exchange without ID protection, as when a peer unit has a
dynamically assigned IP address. IKEv2 protocol does not negotiate using mode configuration. The device
deletes existing IKE and IPsec SAs when you update the mode configuration in the IKE policy.
• aggressive—Aggressive mode.
• main—Main mode. Main mode is the recommended key-exchange method because it conceals the
identities of the parties during the key exchange.
Configuring mode main for group VPN servers or members is not supported when the remote gateway
has a dynamic address and the authentication method is pre-shared-keys.
pre-shared-key—Define a preshared key for an IKE policy. Preshared keys are used to secure the Phase
1 SAs between the root-server and the sub-servers and between the sub-servers and the group members.
Ensure that the preshared keys used are strong keys. On the sub-servers, the preshared key configured
for the IKEpolicy RootSrv must match the preshared key configured on the root-server, and the preshared
key configured for the IKE policy GMs must match the preshared key configured on the group members.
The device deletes existing IKE and IPsec SAs when you update the pre-shared-key configuration in the
IKE policy.
• ascii-text key—Specify a string of 1 to 255 ASCII text characters for the key. Characters @ + - or = are
not allowed. To include the special characters ( ) [ ] { } , ; enclose either the entire key string or the special
character in quotation marks; for example “str)ng” or str”)”ng. Other use of quotation marks within the
string is not allowed. With des-cbc encryption, the key contains 8 ASCII characters. With 3des-cbc
encryption, the key contains 24 ASCII characters.
• hexadecimal key—Specify a string of 1 to 255 hexadecimal characters for the key. Characters must be
hexadecimal digits 0 through 9, or letters a through f or A through F. With des-cbc encryption, the key
contains 16 hexadecimal characters. With 3des-cbc encryption, the key contains 48 hexadecimal
characters.
proposals proposal-name—Specify up to four Phase 1 proposals for an IKE policy. If you include multiple
proposals, use the same Diffie-Hellman group in all of the proposals.
RELATED DOCUMENTATION
policy policy-name {
description description;
perfect-forward-secrecy keys (group1 | group14 | group19 | group2 | group20 | group24 | group5 | group15 |
group16 | group21);
proposal-set (basic | compatible | prime-128 | prime-256 | standard | suiteb-gcm-128 | suiteb-gcm-256);
proposals proposal-name;
}
Hierarchy Level
Release Information
Statement modified in Junos OS Release 8.5.
Support for group 14 is added in Junos OS Release 11.1.
Support for group14 options added in Junos OS Release 11.1.
Support for group19, group20, and group24 options added in Junos OS Release 12.1X45-D10.
group15, group16, and group21 options introduced in Junos OS Release 19.1R1 on SRX Series devices.
Support for suiteb-gcm-128 and suiteb-gcm-256 options added in Junos OS Release 12.1X45-D10.
Support for prime-128 and prime-256 options added in Junos OS Release 15.1X49-D40.
Starting in Junos OS Release 20.2R1, we’ve changed the help text description as NOT RECOMMENDED
for the CLI options group1, group2, group5, and group14.
Description
Define an IPsec policy. An IPsec policy defines a combination of security parameters (IPsec proposals)
used during IPsec negotiation. It defines Perfect Forward Secrecy (PFS) and the proposals needed for the
connection.
Options
name—Name of the IPsec policy.
perfect-forward-secrecy keys—Specify Perfect Forward Secrecy (PFS) as the method that the device uses
to generate the encryption key. PFS generates each new encryption key independently from the
previous key. The device deletes existing IPsec SAs when you update the perfect-forward-secrecy
configuration in the IPsec policy.
Values:
• group1—Diffie-Hellman Group 1.
1386
• group2—Diffie-Hellman Group 2.
• group5—Diffie-Hellman Group 5.
• ESP protocol
• ESP protocol
• ESP protocol
RELATED DOCUMENTATION
power-mode-ipsec
Syntax
power-mode-ipsec;
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 18.3R1 for vSRX instances.
Statement introduced in Junos OS Release 18.4R1 for SRX4100 and SRX4200 devices.
Statement introduced in Junos OS Release 18.2R2 and 19.1R1 for SRX5400, SRX5600, and SRX5800
devices.
Description
Enable PowerMode IPsec. processing. PMI is a new mode of operation that provides IPsec performance
improvements.
For SRX4100, SRX4200 devices running Junos OS Release 18.4R1 and vSRX instances running Junos OS
Release 18.3R1, after you enable or disable the PMI, you must reboot the device for the configuration to
take effect.
Packets cannot go through the PMI when firewall or advanced security services are combined with IPsec.
Hence, PMI must not be used when firewall or advanced security services are combined with IPsec.
RELATED DOCUMENTATION
proposal proposal-name {
authentication-algorithm (sha-256 | sha-384);
authentication-method pre-shared-keys;
description description;
dh-group (group14 | group24);
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
lifetime-seconds seconds;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Define an IKE proposal. You can configure one or more IKE proposals. Each proposal is a list of IKE attributes
to protect the IKE connection between the IKE host and its peer.
Options
proposal proposal-name—Name of the IKE proposal. The proposal name can be up to 32 alphanumeric
characters long.
authentication-method pre-shared-keys—Specify the method the device uses to authenticate the source
of Internet Key Exchange (IKE) messages. The pre-shared-keys option refers to a preshared key, which is
a secret key shared between the two peers, is used during authentication to identify the peers to each
other. The same key must be configured for each peer. This is the default method.
• group24—2048-bit, 256 bit subgroup. Support for the group24 option added in Junos OS Release
15.1X49-D30 for vSRX.
lifetime-seconds seconds—Specify the lifetime (in seconds) of an IKE or IPsec security association (SA) for
group VPN. When the SA expires, it is replaced by a new SA and security parameter index (SPI) or
terminated.
Range: 180 through 86,400 seconds
Default: 3600 seconds
The device does not delete existing IPsec SAs when you update the authentication-algorithm,
authentication-method, dh-group, and encryption-algorithm configuration in the IKE proposal.
RELATED DOCUMENTATION
proposal proposal-name {
authentication-algorithm (sha-256 | sha-384);
authentication-method pre-shared-keys;
description description;
dh-group (group14 | group24);
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Define an IKE proposal for group VPN server. You can configure one or more IKE proposals. Each proposal
is a list of IKE attributes to protect the IKE connection between the IKE host and its peer.
Options
proposal proposal-name—Name of the IKE proposal. The proposal name can be up to 32 alphanumeric
characters long.
authentication-method pre-shared-keys—Specify the method the device uses to authenticate the source
of Internet Key Exchange (IKE) messages. The pre-shared-keys option refers to a preshared key, which is
a secret key shared between the two peers, is used during authentication to identify the peers to each
other. The same key must be configured for each peer. This is the default method.
• group24—2048-bit, 256 bit subgroup. Support for the group24 option added in Junos OS Release
15.1X49-D30 for vSRX.
The device does not delete existing IPsec SAs when you update the authentication-algorithm,
authentication-method, dh-group, and encryption-algorithm configuration in the IKE proposal.
RELATED DOCUMENTATION
proposal proposal-name {
authentication-algorithm (hmac-sha-256-128);
description description;
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
lifetime-seconds seconds;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Define an IPsec proposal. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM,
SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
proposal-name—Name of the IPsec proposal.
encryption-algorithm—Configure an encryption algorithm. The device deletes existing IPsec SAs when
you update the encryption-algorithm configuration in the IPsec proposal.
lifetime-seconds seconds—Specify the lifetime (in seconds) of an IPsec security association (SA) for group
VPN. When the SA expires, it is replaced by a new SA and security parameter index (SPI) or terminated.
Specify a value from 180 to 86,400 seconds. The default is 3600 seconds.
RELATED DOCUMENTATION
proposal proposal-name {
authentication-algorithm (md5 | sha-256 | sha-384| sha1 | sha-512);
authentication-method (dsa-signatures | ecdsa-signatures-256 | ecdsa-signatures-384 | pre-shared-keys |
rsa-signatures | ecdsa-signatures-521);
description description;
dh-group (group1 | group14 | group19 | group2 | group20 | group24 | group5 | group15 | group16 | group21);
encryption-algorithm (3des-cbc | aes-128-cbc | aes-192-cbc | aes-256-cbc | des-cbc);
lifetime-seconds seconds;
}
Syntax
For MX, M, and T Series Routers
proposal ike-proposal-name {
authentication-algorithm (md5 | sha1 | sha-256);
authentication-method (dsa-signatures | pre-shared-keys | rsa-signatures);
description description;
dh-group (group1 | group2 | group 5 | group14);
encryption-algorithm algorithm;
lifetime-seconds seconds;
}
Hierarchy Level
Release Information
Statement modified in Junos OS Release 8.5.
Support for dh-group group 14 and dsa-signatures added in Junos OS Release 11.1.
Support for sha-384, ecdsa-signatures-256, ecdsa-signatures-384, group19, group20, and group24 options
added in Junos OS Release 12.1X45-D10.
sha-512, group15, group16, group21, and ecdsa-signatures-521 options introduced in Junos OS Release
19.R1 on SRX Series devices.
Support for authentication algorithm (SH1: hmac-sha1-96) added to vSRX in Junos OS Release 19.3R1
for Power Mode IPSec mode, along with the existing support in normal mode.
1396
Description
Define an IKE proposal.
1397
Options
proposal-name—Name of the IKE proposal. The proposal name can be up to 32 alphanumeric characters
long.
authentication-algorithm—Configure the Internet Key Exchange (IKE) authentication hash algorithm that
authenticates packet data. It can be one of the following algorithms:
The device does not delete existing IPsec SAs when you update the authentication-algorithm configuration
in the IKE proposal. The device deletes existing IPsec SAs when you update the authentication-algorithm
configuration in the IPsec proposal.
authentication-method—Specify the method the device uses to authenticate the source of Internet Key
Exchange (IKE) messages. The pre-shared-keys option refers to a preshared key, which is a key for
encryption and decryption that both participants must have before beginning tunnel negotiations. The
other options refer to types of digital signatures, which are certificates that confirm the identity of the
certificate holder. The device does not delete existing IPsec SAs when you update the
authentication-method configuration in the IKE proposal.
• ecdsa-signatures-256—Specify that the Elliptic Curve DSA (ECDSA) using the 256-bit elliptic curve
secp256r1, as specified in the Federal Information Processing Standard (FIPS) Digital Signature Standard
(DSS) 186-3, is used.
• ecdsa-signatures-384—Specify that the ECDSA using the 384-bit elliptic curve secp384r1, as specified
in the FIPS DSS 186-3, is used.
• pre-shared-keys—Specify that a preshared key, which is a secret key shared between the two peers, is
used during authentication to identify the peers to each other. The same key must be configured for
each peer. This is the default method.
• rsa-signatures—Specify that a public key algorithm, which supports encryption and digital signatures, is
used.
• ecdsa-signatures-521—Specify that the ECDSA using the 521-bit elliptic curve secp521r1 is used.
lifetime-seconds seconds—Specify the lifetime (in seconds) of an IKE security association (SA). When the
SA expires, it is replaced by a new SA and security parameter index (SPI) or terminated.
Range: 180 through 86,400 seconds
Default: 28,800 seconds
RELATED DOCUMENTATION
proposal proposal-name {
authentication-algorithm (hmac-md5-96 | hmac-sha-256-128 | hmac-sha-256-96 | hmac-sha-384 | hmac-sha-512
| hmac-sha1-96);
description description;
encryption-algorithm (3des-cbc | aes-128-cbc | aes-128-gcm | aes-192-cbc | aes-192-gcm | aes-256-cbc |
aes-256-gcm | des-cbc);
extended-sequence-number;
lifetime-kilobytes kilobytes;
lifetime-seconds seconds;
protocol (ah | esp);
}
Hierarchy Level
Release Information
Statement introduced before Junos OS Release 7.4.
extended-sequence-number option introduced in Junos OS Release 19.4R1.
Junos OS Release 19.3R1 supports options aes-128-cbc, aes-192-cbc, and aes-256-cbc on SRX4100,
SRX4200, and vSRX in Power Mode IPsec mode to improve IPsec performance, along with the existing
support in normal mode.
Starting in Junos OS Release 20.2R1, we’ve changed the help text description as NOT RECOMMENDED
for the CLI options hmac-md5-96, hmac-sha1-96, 3des-cbc, and des-cbc.
hmac-sha-512 and hmac-sha-384 options introduced in Junos OS Release 19.1R1 on SRX5000 line of
devices with SRX5K-SPC3 card.
Support for aes-128-gcm, aes-192-gcm, and aes-256-gcm options added in Junos OS Release 15.1X49-D70
for vSRX.
Support for aes-128-gcm, aes-192-gcm, and aes-256-gcm options added in Junos OS Release 12.1X45-D10.
Support for hmac-sha-256-128 added to SRX5400, SRX5600, and SRX5800 devices in Junos OS Release
12.1X46-D20.
Description
Define an IPsec proposal. An IPsec proposal lists protocols and algorithms (security services) to be negotiated
with the remote IPsec peer.
Options
proposal-name—Name of the IPsec proposal.
1400
• hmac-sha1-96—Hash algorithm that authenticates packet data. It produces a 160-bit digest. Only
96 bits are used for authentication.
encryption-algorithm—Define encryption algorithm. The device deletes existing IPsec SAs when you
update the encryption-algorithm configuration in the IPsec proposal.
Values:
• 3des-cbc—Encryption algorithm with block size of 8 bytes (64 bits) and key size of 192 bits.
For an IKE proposal, AES 128-bit authenticated encryption algorithm is supported with IKEv2 only.
When this option is used, aes-128-gcm should be configured at the [edit security ipsec proposal
proposal-name] hierarchy level, and the authentication-algorithm option should not be configured
at the [edit security ike proposal proposal-name] hierarchy level.
When aes-128-gcm or aes-256-gcm encryption algorithms are configured in the IPsec proposal, it
is not mandatory to configure AES-GCM encryption algorithm in the corresponding IKE proposal.
• aes-192-gcm—AES GCM 192-bit encryption algorithm. This option is for IPsec proposals only.
For an IKE proposal, AES 256-bit authenticated encryption algorithm is supported with IKEv2 only.
When this option is used, aes-256-gcm should be configured at the [edit security ipsec proposal
proposal-name] hierarchy level, and the authentication-algorithm option should not be configured
at the [edit security ike proposal proposal-name] hierarchy level.
• des-cbc—Encryption algorithm with block size of 8 bytes (64 bits) and key size 48 bits.
1401
lifetime-kilobytes—Specify the lifetime (in kilobytes) of an IPsec security association (SA). If this statement
is not configured, the number of kilobytes used for the SA lifetime is unlimited.
Range: 64 through 1,048,576 kilobytes
lifetime-seconds—Lifetime in seconds.
Range: 180 through 86400
Default: 3600 seconds
protocol—Define the IPsec protocol for a manual or dynamic security association (SA).
Values:
• ah—Authentication header
RELATED DOCUMENTATION
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. Support for suiteb-gcm-128 and suiteb-gcm-256 options
added in Junos OS Release 12.1X45-D10. Support for prime-128 and prime-256 options added in Junos
OS Release 15.1X49-D40.
Starting in Junos OS Release 20.2R1, we’ve changed the help text description as NOT RECOMMENDED
for the CLI options basic, compatible, and standard.
Description
Specify a set of default Internet Key Exchange (IKE) proposals.
The prime-128 and prime-256 proposal sets require IKEv2 and certificate-based authentication.
Options
• basic—Includes a basic set of two IKE proposals:
• Proposal 1—Preshared key, Data Encryption Standard (DES) encryption, and Diffie-Hellman (DH) group
1 and Secure Hash Algorithm 1 (SHA-1) authentication.
• Proposal 2—Preshared key, DES encryption, and DH group 1 and Message Digest 5 (MD5)
authentication.
• Proposal 1—Preshared key, triple DES (3DES) encryption, and Diffie-Hellman (DH) group 2 (DH group
2) and SHA-1 authentication.
• Proposal 2—Preshared key, 3DES encryption, and DH group 2 and MD5 authentication.
• Proposal 3—Preshared key, DES encryption, and DH group 2 and SHA-1 authentication.
• Proposal 4—Preshared key, DES encryption, and DH group 2 and MD5 authentication.
• prime-128—Provides the following proposal set (this option is not supported on Group VPNv2):
• Diffie-Hellman Group—19.
1403
When this option is used, prime-128 should also be configured at the [edit security ipsec policy
policy-name proposal-set] hierarchy level.
• prime-256—Provides the following proposal set (this option is not supported on Group VPNv2):
• Diffie-Hellman Group—20.
When this option is used, prime-256 should also be configured at the [edit security ipsec policy
policy-name proposal-set] hierarchy level.
• Proposal 1— Preshared key, 3DES encryption, and DH group 2 and SHA-1 authentication.
• Proposal 2—Preshared key, AES 128-bit encryption, and DH group 2 and SHA-1 authentication.
• suiteb-gcm-128—Provides the following Suite B proposal set (this option is not supported on Group
VPNv2):
• Diffie-Hellman Group—19
• Encryption algorithm—Advanced Encryption Standard (AES) 128-bit cipher block chaining (CBC)
• Authentication algorithm—SHA-256
• suiteb-gcm-256—Provides the following Suite B proposal set (this option is not supported on Group
VPNv2):
• Diffie-Hellman Group—20
• Authentication algorithm—SHA-384
RELATED DOCUMENTATION
remote-identity
Syntax
remote-identity {
distinguished-name {
container container-string;
wildcard wildcard-string;
}
hostname hostname;
inet ip-address;
inet6 ipv6-address;
key-id;
user-at-hostname e-mail-address;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 11.4.
Description
Specify the remote IKE identity to exchange with the destination peer to establish communication. If you
do not configure a remote-identity, the device uses the IPv4 or IPv6 address corresponding to the remote
endpoint by default.
For Network Address Translation Traversal (NAT-T), both remote identity and local identity must be
configured.
Options
• distinguished-name—Specify identity as the distinguished name (DN) from the certificate. If there is
more than one certificate on the device, use the security ike gateway gateway-name policy policy-name
certificate local-certificate certificate-id.
RELATED DOCUMENTATION
replay-attacks
Syntax
replay-attacks {
threshold value;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 11.2.
Description
Raise a security alarm when the device detects a replay attack. A replay attack is a form of network attack
in which a valid data transmission is maliciously or fraudulently repeated or delayed.
Default
Replay attacks do not raise security alarms.
Options
• threshold value—Number of reply attacks up to which an alarm is not raised. When the configured
number is exceeded, an alarm is raised.
RELATED DOCUMENTATION
revocation-check {
crl:
disable;
ocsp:
use-crl;
use-ocsp;
}
Hierarchy Level
Release Information
Statement modified in Junos OS Release 8.5. Support for ocsp, use-crl, and use-ocsp options added in
Junos OS Release 12.1X46-D20.
Description
Specify the method the device uses to verify the revocation status of digital certificates.
Options
crl—Only certificate revocation list (CRL) is supported. A CRL is a time-stamped list identifying revoked
certificates, which is signed by a CA and made available to the participating IPsec peers on a regular
periodic basis. By default, crl is enabled. Local certificates are being validated against certificate
revocation list (CRL) even when CRL check is disabled. This can be stopped by disabling the CRL check
through the Public Key Infrastructure (PKI) configuration. When CRL check is disabled, PKI will not
validate local certificate against CRL.
oscp—Configure Online Certificate Status Protocol (OCSP) to check the revocation status of a certificate.
use-crl—Specify the CRL as the method to check the revocation status of a certificate. CRL is the default
method.
use-ocsp—Specify the Online Certificate Status Protocol (OCSP) as the method to check the revocation
status of a certificate. CRL is the default method.
RELATED DOCUMENTATION
security-association
Syntax
security-association sa-name {
manual {
direction bidirectional {
authentication {
algorithm (hmac-md5-96 | hmac-sha1-96);
key {
ascii-text key;
hexadecimal key;
}
}
encryption {
algorithm (3des-cbc | des-cbc );
key {
ascii-text key;
hexadecimal key;
}
}
protocol (ah | esp);
spi spi-value;
}
}
mode transport;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 12.1X46-D20.
Description
Configure a manual IPsec security association (SA) to be applied to an OSPF or OSPFv3 interface or virtual
link. IPsec can provide authentication and confidentiality to OSPF or OSPFv3 routing packets.
Options
sa-name—Name of the SA.
direction—Direction of the manual SA. For this feature, the direction must be bidirectional. Decrypt and
authenticate the incoming and outgoing traffic using the same algorithm, keys, or SPI in both directions,
unlike inbound and outbound SAs that use different attributes in both directions.
Values: algorithm—Hash algorithm that authenticates packet data. It can be one of the following:
• hmac-md5-96—Produces a 128-bit digest. This is the default.
• ascii-text key—ASCII text key. For hmac-md5-96, the key is 16 ASCII characters; for hmac-sha1-96,
the key is 20 ASCII characters.
• hexadecimal key—Hexadecimal key. For hmac-md5-96, the key is 32 hexadecimal characters; for
hmac-sha1-96, the key is 40 hexadecimal characters.
Values: encryption—Configure an encryption algorithm and key for a manual Security Association
(SA). It can be one of the following:
• algorithm—Select the encryption algorithm for the internal Routing-Engine-to-Routing-Engine IPsec
security association (SA) configuration.
• des-cbc—Encryption algorithm with block size of 8 bytes (64 bits) and key size 48 bits.
• 3des-cbc—Encryption algorithm with block size of 8 bytes (64 bits) and key size of 192 bits.
For 3des-cbc, we recommend that the first 8 bytes be different from the second 8 bytes, and the
second 8 bytes be the same as the third 8 bytes.
• ascii-text key—ASCII text key. For the des-cbc option, the key contains 8 ASCII characters; for
3des-cbc, the key contains 24 ASCII characters.
• hexadecimal key—Hexadecimal key. For the des-cbc option, the key contains 16 hexadecimal
characters; for the 3des-cbc option, the key contains 48 hexadecimal characters.
protocol—Define the IPsec protocol for a manual security association (SA). The protocol can be one of the
following:
spi spi-value—Configure the security parameter index (SPI) for a security association (SA). An arbitrary
value that uniquely identifies which SA to use at the receiving host (the destination address in the
packet).
Range: 256 through 16,639
1412
RELATED DOCUMENTATION
server {
group name {
anti-replay-time-window milliseconds;
description description;
group-id number;
ike-gateway [gateway-name];
ipsec-sa name {
match-policy policy-name {
destination ip-address/netmask;
destination-port number;
protocol number;
source ip-address/netmask;
source-port number;
}
proposal proposal-name;
}
member-threshold number;
server-cluster {
ike-gateway gateway-name;
retransmission-period seconds;
server-role (root-server | sub-server);
}
server-member-communication {
certificate certificate-id;
communication-type unicast;
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
lifetime-seconds seconds;
number-of-retransmission number;
retransmission-period seconds;
sig-hash-algorithm (sha-256 | sha-384);
}
}
ike {
gateway gateway-name {
address ip-address ;
dead-peer-detection {
always-send;
interval seconds;
threshold number;
}
1414
dynamic {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
ike-policy policy-name;
local-address ip-address;
local-identity {
(hostname hostname | inet ip-address | user-at-hostname e-mail-address);
}
remote-identity {
(hostname [hostname] | inet ip-address | user-at-hostname e-mail-address);
}
routing-instance routing-instance;
}
policy policy-name {
description text;
mode (aggressive | main);
pre-shared-key (ascii-text key | hexadecimal key);
proposals [proposal-name];
}
proposal proposal-name {
authentication-algorithm (sha-256 | sha-384);
authentication-method pre-shared-keys;
description description;
dh-group (group14 | group24);
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
}
}
ipsec {
proposal proposal-name {
authentication-algorithm hmac-sha-256-128;
description description;
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
lifetime-seconds seconds;
}
}
1415
traceoptions {
file {
filename;
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag flag;
gateway-filter {
local-address ip-address;
remote-address ip-address;
}
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2.
Description
Configure group VPN server. You can configure the following on the group server:
• Group identifier, group members, server-member communications, and group policies to be downloaded
to members
Options
gateway gateway-name—Configure IKE gateway for group VPN server.
ike—Configure Phase 1 security association (SA) with a member on the group server.
traceoptions—Configure group VPN tracing options to aid in troubleshooting the IKE issues.
RELATED DOCUMENTATION
server-cluster {
ike-gateway gateway-name;
retransmission-period seconds;
server-role (root-server | sub-server);
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Configure the Group Domain of Interpretation (GDOI) group controller/key server (GCKS) cluster for the
specified group. All servers in a group VPN server cluster must be SRX Series devices.
Options
ike-gateway gateway-name—(Required) Specify the name of the IKE gateway for the local device in the
group server cluster. IKE gateways are configured at the [edit security group-vpn server ike] hierarchy
level.
If the local device is a root-server, the IKE gateway name must be a sub-server in the cluster; up to
four sub-server IKE gateways can be specified.
If the local device is a sub-server, the IKE gateway name must be the root-server.
retransmission-period seconds—(Optional) Specify the time after which the root-server retransmits a
cluster-update message if it has not received an acknowledgement from a sub-server.
Range: 2 to 60 seconds.
Default: 10 seconds.
server-role—(Required) Assign the role of the local device in the group server cluster, either root-server
or sub-server. Only one device in the cluster can be configured as the root-server. You can configure
up to four other devices as a sub-server in a group server cluster.
You must ensure that there is only one root-server at any time for a group VPN server cluster.
RELATED DOCUMENTATION
server-member-communication {
certificate certificate-id;
communication-type (unicast);
encryption-algorithm (aes-128-cbc | aes-192-cbc | aes-256-cbc);
lifetime-seconds seconds;
number-of-retransmission number;
retransmission-period seconds;
sig-hash-algorithm (sha-256 | sha-384);
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2
Description
Enable and configure server to member communication. When these options are configured, group members
receive new keys before current keys expire. Starting with Junos OS Release 15.1X49-D80, the minimum
value that you can configure for the lifetime-seconds option is 300 seconds instead of 180 seconds.
Options
• certificate certificate-id—Specify the certificate identification. Only RSA keys are supported.
• encryption-algorithm—Encryption used for communications between the group server and group
member. Specify aes-128-cbc, aes-192-cbc, or aes-256-cbc.
• lifetime-seconds seconds—Lifetime, in seconds, of the key encryption key (KEK). Specify a value from
300 to 86,400. The default is 3600 seconds.
• number-of-retransmission number—For unicast communications, the number of times the group server
retransmits messages to a group member when there is no reply. Specify a value from 0 to 60. The
default is 2.
• retransmission-period seconds—The time period between a transmission and the first retransmission
when there is no reply from the group member. Specify a value from 2 to 60. The default is 10 seconds.
1420
RELATED DOCUMENTATION
tcp-encap
Syntax
tcp-encap {
profile profile-name;
ssl-profile ssl-profile-name;
log ;
}
traceoptions {
file filename {
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag (all | configuration | session | tunnel);
level (all | error | info | notice | verbose | warning);
no-remote-trace’
}
Hierarchy Level
[edit security]
Release Information
Statement introduced in Junos OS Release 15.1X49-D80.
Support for the ssl-profile option added in Junos OS Release 18.1R1.
Description
Specify TCP encapsulation operations for a remote access client to a remote access gateway on an SRX
Series device to support IPsec messages encapsulated within a TCP connection.
Options
profile profile-name—Configure a TCP encapsulation profile for a remote access client to a remote access
gateway on an SRX Series device to define the data encapsulation operation.
ssl-profile ssl-profile-name—Specify the SSL termination profile that is configured at the [edit services
ssl termination profile] hierarchy level. This parameter is required for NCP Exclusive Remote
Access Client of Full SSL Session.
RELATED DOCUMENTATION
Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access Client | 1065
1423
traceoptions {
file <filename> <files files> <match match> <size size> <(world-readable | no-world-readable)>;
flag {
all;
}
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 12.1X44-D10.
Description
Configure dynamic VPN tracing options. This feature is supported on SRX300, SRX320, SRX340, SRX345,
and SRX550HM devices.
Options
file—Configure the trace file options.
file filename—Name of the file to receive the output of the tracing operation.
flag—Trace operation to perform. To specify more than one trace operation, include multiple flag statements.
Values:
• all—Enable all tracing operations
RELATED DOCUMENTATION
traceoptions {
file {
filename;
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag flag (all | certificates | config | database | general | high-availability | ike | next-hop-tunnels | parse |
policy-manager | routing-socket | thread | timer);
gateway-filter {
local-address ip-address;
remote-address ip-address;
}
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.2. Support for gateway-filter option for the [edit security
group-vpn member ike] hierarchy level added in Junos OS Release 15.1X49-D30 for vSRX.
Description
Configure group VPN tracing options to aid in troubleshooting the IKE or server issues. This helps
troubleshoot one or multiple tunnels negotiation by standard tracefile configuration. Tracing allows the
user to view the detailed packet exchange and the negotiation information. Group VPNv2 is supported
on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices
and vSRX instances.
Options
• file—Configure the trace file options.
• filename—Name of the file to receive the output of the tracing operation. Enclose the name within
quotation marks. All files are placed in the directory /var/log.
1426
• files number—Maximum number of trace files. When a trace file named trace-file reaches its maximum
size, it is renamed to trace-file.0, then trace-file.1, and so on, until the maximum number of trace files
is reached. The oldest archived file is overwritten.
If you specify a maximum number of files, you also must specify a maximum file size with the size
option and a filename.
Default: 10 files
• match regular-expression—Refine the output to include lines that contain the regular expression.
1427
• size maximum-file-size—Maximum size of each trace file, in kilobytes (KB), megabytes (MB), or gigabytes
(GB). When a trace file named trace-file reaches this size, it is renamed trace-file.0. When the trace-file
again reaches its maximum size, trace-file.0 is renamed trace-file.1 and trace-file is renamed trace-file.0.
This renaming scheme continues until the maximum number of trace files is reached. Then the oldest
trace file is overwritten.
If you specify a maximum file size, you also must specify a maximum number of trace files with the
files option and filename.
Range: 10 KB through 1 GB
Default: 128 KB
• world-readable | no-world-readable—By default, log files can be accessed only by the user who
configures the tracing operation. The world-readable option enables any user to read the file. To
explicitly set the default behavior, use the no-world-readable option.
• flag—Trace operation to perform. To specify more than one trace operation, include multiple flag
statements.
• gateway-filter—Configure debugging for the tunnel between the group VPN server and a group member.
This option is configured on a group VPN server or member.
• local-address—When configured on a server, the IP address of the group VPN server. When configured
on a member, the IP address of the group VPN member.
• remote-address—When configured on a server, the IP address of the group VPN member. When
configured on a member, the IP address of the group VPN server.
1428
RELATED DOCUMENTATION
traceoptions {
file {
filename;
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag flag (all | certificates | config | database | general | high-availability | ike | next-hop-tunnels | parse |
policy-manager | routing-socket | thread | timer);
no-remote-trace;
rate-limit messages-per-second;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5.
Description
Configure IKE tracing options to aid in troubleshooting the IKE issues. This helps troubleshoot one or
multiple tunnels negotiation by standard tracefile configuration. IKE tracing allows the user to view the
detailed packet exchange and the negotiation information in Phase 1 and Phase 2. IKE tracing is not enabled
by default. By default , all IKE or IPsec negotiations are logged into /var/log/kmd. But user can also specify
customized file name while configuring the IKE traceoptions.
Options
• file—Configure the trace file options.
• filename—Name of the file to receive the output of the tracing operation. Enclose the name within
quotation marks. All files are placed in the directory /var/log.
Default: kmd
• files number—Maximum number of trace files. When a trace file named trace-file reaches its maximum
size, it is renamed to trace-file.0, then trace-file.1, and so on, until the maximum number of trace files
is reached. The oldest archived file is overwritten.
1430
If you specify a maximum number of files, you also must specify a maximum file size with the size
option and a filename.
Default: 10 files
• match regular-expression—Refine the output to include lines that contain the regular expression.
1431
• size maximum-file-size—Maximum size of each trace file, in kilobytes (KB), megabytes (MB), or gigabytes
(GB). When a trace file named trace-file reaches this size, it is renamed trace-file.0. When the trace-file
again reaches its maximum size, trace-file.0 is renamed trace-file.1 and trace-file is renamed trace-file.0.
This renaming scheme continues until the maximum number of trace files is reached. Then the oldest
trace file is overwritten.
If you specify a maximum file size, you also must specify a maximum number of trace files with the
files option and filename.
Range: 10 KB through 1 GB
Default: 1024 KB
• world-readable | no-world-readable—By default, log files can be accessed only by the user who
configures the tracing operation. The world-readable option enables any user to read the file. To
explicitly set the default behavior, use the no-world-readable option.
• flag—Trace operation to perform. To specify more than one trace operation, include multiple flag
statements.
By default, the flag statement is not set. You need to explicitly configure the flag statement to perform
trace operation.
1432
Default: 0
RELATED DOCUMENTATION
traceoptions {
flag flag;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5.
Description
Configure IPsec tracing options. Trace operations track IPsec events and record them in a log file in the
/var/log directory.
Options
• flag—To specify more than one trace operation, include multiple flag statements.
RELATED DOCUMENTATION
traceoptions {
file {
filename;
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag {
all;
certificate-verification;
online-crl-check;
}
no-remote-trace;
}
Hierarchy Level
Release Information
Statement modified in Junos OS Release 8.5.
Description
Configure public key infrastructure (PKI) tracing options. To specify more than one trace option, include
multiple flag statements. Trace option output is recorded in the /var/log/pkid file.
Options
• file—Configure the trace file options.
• filename—Name of the file to receive the output of the tracing operation. Enclose the name within
quotation marks. All files are placed in the directory /var/log. By default, the name of the file is the
name of the process being traced.
• files number—Maximum number of trace files. When a trace file named trace-file reaches its maximum
size, it is renamed to trace-file.0, then trace-file.1, and so on, until the maximum number of trace files
is reached. The oldest archived file is overwritten.
If you specify a maximum number of files, you also must specify a maximum file size with the size
option and a filename.
1435
Default: 10 files
• match regular-expression—Refine the output to include lines that contain the regular expression.
• size maximum-file-size—Maximum size of each trace file, in kilobytes (KB), megabytes (MB), or gigabytes
(GB). When a trace file named trace-file reaches this size, it is renamed trace-file.0. When the trace-file
again reaches its maximum size, trace-file.0 is renamed trace-file.1 and trace-file is renamed trace-file.0.
This renaming scheme continues until the maximum number of trace files is reached. Then the oldest
trace file is overwritten.
If you specify a maximum file size, you also must specify a maximum number of trace files with the
files option and a filename.
Range: 10 KB through 1 GB
Default: 128 KB
• world-readable | no-world-readable—By default, log files can be accessed only by the user who
configures the tracing operation. The world-readable option enables any user to read the file. To
explicitly set the default behavior, use the no-world-readable option.
• flag—Trace operation to perform. To specify more than one trace operation, include multiple flag
statements.
RELATED DOCUMENTATION
traceoptions {
file filename {
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag (all | configuration | session | tunnel);
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 15.1X49-D80.
Description
Configure TCP encapsulation tracing options.
Options
file—Configure the trace file options.
• filename—Name of the file to receive the output of the tracing operation. Enclose the name within
quotation marks. All files are placed in the directory /var/log.
• files number—Maximum number of trace files. When a trace file named trace-file reaches its maximum
size, it is renamed to trace-file.0, then trace-file.1, and so on, until the maximum number of trace
files is reached. The oldest archived file is overwritten.
If you specify a maximum number of files, you also must specify a maximum file size with the size
option and a filename.
Default: 10 files
• match regular-expression—Refine the output to include lines that contain the regular expression.
1437
• size maximum-file-size—Maximum size of each trace file, in kilobytes (KB), megabytes (MB), or
gigabytes (GB). When a trace file named trace-file reaches its maximum size, it is renamed trace-file.0.
When trace-file.0 reaches its maximum size, it is renamed trace-file.1 and trace-file is renamed
trace-file.0. This renaming scheme continues until the maximum number of trace files is reached.
Then the oldest trace file is overwritten.
If you specify a maximum file size, you also must specify a maximum number of trace files with the
files option and filename.
Range: 10 KB through 1 GB
Default: 128 KB
• world-readable | no-world-readable—By default, log files can be accessed only by the user who
configures the tracing operation. The world-readable option enables any user to read the file. To
explicitly set the default behavior, use the no-world-readable option.
flag—Trace operation to perform. To specify more than one trace operation, include multiple flag statements.
RELATED DOCUMENTATION
Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access Client | 1065
tcp-encap | 1421
1439
traffic-selector
Syntax
traffic-selector traffic-selector-name {
local-ip ip-address/netmask;
remote-ip ip-address/netmask;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 12.1X46-D10.
Description
Configure local and remote IP addresses for a traffic selector. A traffic selector is an agreement between
IPsec peers to permit traffic through a VPN tunnel if the traffic matches a specified pair of local and remote
addresses. Only the traffic that conforms to a traffic selector is permitted through the associated security
association (SA).
Options
local-ip ip-address/netmask—A local IP address or a local subnetwork protected by the local VPN device.
remote-ip ip-address/netmask—A remote IP address or a remote subnetwork protected by the peer VPN
device.
RELATED DOCUMENTATION
verify-path
Syntax
verify-path {
destination-ip ip-address;
packet-size bytes;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 15.1X49-D70. packet-size option added in Junos OS Release
15.1X49-D120.
Description
Verify the IPsec datapath before the secure tunnel (st0) interface is activated and route(s) associated with
the interface are installed in the Junos OS forwarding table. This configuration is useful in network topologies
where there is a transit firewall located between the VPN tunnel endpoints, and where IPsec data traffic
that uses active routes for an established VPN tunnel on the st0 interface might be blocked by the transit
firewall.
When this option is configured, the source interface and destination IP addresses that can be configured
for VPN monitor operation are not used for IPsec datapath verification. The source for the ICMP requests
in the IPsec datapath verification is the local tunnel endpoint.
1. Upon the establishment of the VPN tunnel, an ICMP request is sent to the peer tunnel endpoint to
verify the IPsec datapath.
The peer tunnel endpoint must be reachable by VPN monitor ICMP requests and must be able to
respond to the ICMP request. While the datapath verification is in progress, “V” is displayed in the VPN
Monitoring field in the show security ipsec security-association detail command output.
2. The st0 interface is activated only when a response is received from the peer.
The show interface st0.x command output shows the st0 interface status during and after the datapath
verification: Link-Layer-Down before the verification finishes and Up after the verification finishes
successfully.
1441
3. If no ICMP response is received from the peer, another ICMP request is sent at the configured VPN
monitor interval (the default is 10 seconds) until the VPN monitor threshold (the default is 10 times)
is reached.
If the verification does not succeed, the KMD_VPN_DOWN_ALARM_USER system log entry indicates
the reason as a VPN monitoring verify-path error. The error is logged under tunnel events in the show
security ipsec security-association detail command output. The show security ipsec
tunnel-events-statistics command displays the number of times the error occurred.
VPN monitor interval and threshold values are configured with vpn-monitor-options at the [edit security
ipsec] hierarchy level.
4. If no ICMP response is received from the peer after the VPN monitor threshold is reached, the
established VPN tunnel is brought down and the VPN tunnel is renegotiated.
Options
destination-ip ip-address—Original, untranslated IP address of the peer tunnel endpoint that is behind a
NAT device. This IP address must not be the NAT translated IP address. This option is required if the
peer tunnel endpoint is behind a NAT device. The verify-path ICMP request is sent to this IP address
so that the peer can generate an ICMP response.
packet-size bytes—(Optional) The size of the packet that is used to verify an IPsec datapath before the st0
interface is brought up.
The packet size must be lower than the path maximum transmission unit (PMTU) minus tunnel overhead.
The packet used for IPsec datapath verification must not be fragmented.
Range: 64 to 1350 bytes
Default: 64 bytes
RELATED DOCUMENTATION
vpn-monitor | 1447
vpn (Security) | 1442
1442
vpn (Security)
Syntax
vpn vpn-name {
bind-interface interface-name;
df-bit (clear | copy | set);
distribution-profile (default-spc2-profile | default-spc3-profile | distribution-profile-name);
copy-outer-dscp;
establish-tunnels (immediately | on-traffic | responder-only | responder-only-no-rekey);
match-direction (input | output);
passive-mode-tunneling;
tunnel-mtu tunnel-mtu;
udp-encapsulate <dest-port dest-port>;
ike {
anti-replay-window-size anti-replay-window-size;
gateway gateway-name;
idle-time seconds;
install-interval seconds;
ipsec-policy ipsec-policy-name;
no-anti-replay;
proxy-identity {
local ip-prefix;
remote ip-prefix;
service (any | service-name);
}
}
manual {
authentication {
algorithm (hmac-md5-96 | hmac-sha-256-128 | hmac-sha1-96);
key (ascii-text key | hexadecimal key);
}
encryption {
algorithm (3des-cbc | aes-128-cbc | aes-128-gcm | aes-192-cbc | aes-256-cbc | aes-256-gcm | des-cbc);
key (ascii-text key | hexadecimal key);
}
external-interface external-interface-name;
gateway ip-address;
protocol (ah | esp);
spi spi-value;
}
multi-sa {
forwarding-class (expedited-forwarding | assured-forwarding | best-effort | network-control);
}
1443
traffic-selector traffic-selector-name {
local-ip ip-address/netmask;
remote-ip ip-address/netmask;
}
vpn-monitor {
destination-ip ip-address;
optimized;
source-interface interface-name;
verify-path {
destination-ip ip-address;
packet-size bytes;
}
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. Support for IPv6 addresses added in Junos OS Release
11.1. Support for copy-outer-dscp added in Junos OS Release 15.1X49-D30. verify-path keyword and
destination-ip added in Junos OS Release 15.1X49-D70. packet-size option added in Junos OS Release
15.1X49-D120.
Description
Configure an IPsec VPN. A VPN provides a means by which remote computers communicate securely
across a public WAN suchas the Internet. A VPN connection can link two LANs (site-to-site VPN) or a
remote dial-up user and a LAN. The trafficthat flows between these two points passes through shared
resources such as routers, switches, and othernetwork equipment that make up the public WAN. To secure
VPN communication while passing throughthe WAN, the two participants create an IP Security (IPsec)
tunnel. IPsec is a suite of related protocols for cryptographically securing communications at the IP Packet
Layer.
1444
Options
vpn-name—Name of the VPN.
bind-interface—Configure the tunnel interface to which the route-based virtual private network (VPN) is
bound.
copy-outer-dscp—Enable copying of Differentiated Services Code Point (DSCP) (outer DSCP+ECN) field
from the outer IP header encrypted packet to the inner IP header plain text message on the decryption
path. The benefit in enabling this feature is that after IPsec decryption, clear text packets can follow
the inner CoS (DSCP+ECN) rules.
df-bit—Specify how the device handles the Don't Fragment (DF) bit in the outer header.
On SRX5400, SRX5600, and SRX5800 devices, the DF-bit configuration for VPN only works if the
original packet size is smaller than the st0 interface MTU, and larger than the external interface-ipsec
overhead.
Values:
• clear—Clear (disable) the DF bit from the outer header. This is the default.
establish-tunnels—Specify when IKE is activated: immediately after VPN information is configured and
configuration changes are committed, or only when data traffic flows. If this configuration is not
specified, IKE is activated only when data traffic flows.
Values:
• immediately—IKE is activated immediately after VPN configuration changes are committed.
Starting with Junos OS Release 15.1X49-D70, a warning message is displayed if you configure the
establish-tunnels immediately option for an IKE gateway with group-ike-id or shared-ike-id IKE
user types (for example, with AutoVPN or a remote access VPN). The establish-tunnels immediately
option is not appropriate for these VPNs because multiple VPN tunnels may be associated with a
single VPN configuration. Committing the configuration will succeed, however the establish-tunnels
1445
immediately configuration is ignored. The state of the tunnel interface will be up all the time, which
was not the case in previous releases when the establish-tunnels immediately option was configured.
• on-traffic—IKE is activated only when data traffic flows and must to be negotiated with the peer
gateway. This is the default behavior.
• responder-only—Responds to IKE negotiations that are initiated by the peer gateway, but does not
initiate IKE negotiations from the device. This option is required when another vendor’s peer gateway
expects the protocol and port values in the traffic selector from the initiating gateway. responder-only
option added in Junos OS Release 19.1R1.
• responder-only-no-rekey—Option does not establish any VPN tunnel from the device, so the VPN
tunnel is initiated from the remote peer. An established tunnel does not start any rekeying from the
device and relies on the remote peer to initiate this rekeying. If rekeying does not occur, then the
tunnel is brought down after hard-lifetime expires.
multi-sa—Negotiate multiple security association (SAs) based on configuration choice. Multiple SAs
negotiates with the same traffic selector on the same IKE SA.
udp-encapsulation—(Optional) Use the specified UDP destination port for the UDP header that is appended
to the ESP encapsulation. Enable multiple path forwarding of IPsec traffic by adding a UDP header to
the IPsec encapsulation of packets. Doing this increases the throughput of IPsec traffic. If you do not
enable UDP encapsulation, all the IPsec traffic follows a single forward path rather than using multiple
available paths.
Range: 1025 through 65536. Do not use 4500.
Default: If you do not include the udp-dest-port statement, the default UDP destination port is 4565.
RELATED DOCUMENTATION
vpn-monitor
Syntax
vpn-monitor {
destination-ip ip-address;
optimized;
source-interface interface-name;
verify-path {
destination-ip ip-address;
packet-size bytes;
}
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 8.5. verify-path keyword and destination-ip added in Junos
OS Release 15.1X49-D70. packet-size option added in Junos OS Release 15.1X49-D120.
Description
Configure settings for VPN monitoring.
Options
destination-ip—Specify the destination of the Internet Control Message Protocol (ICMP) pings. If this
statement is used, the device uses the peer's gateway address by default.
optimized—Specify that VPN monitoring optimization is enabled for the VPN object. When VPN monitoring
optimization is enabled, the SRX Series device only sends ICMP echo requests (pings) when there is
outgoing traffic and no incoming traffic from the configured peer through the VPN tunnel. If there is
incoming traffic through the VPN tunnel, the SRX Series device considers the tunnel to be active and
does not send pings to the peer.
Because ICMP echo requests are only sent when needed to determine peer liveliness, VPN monitoring
optimization can save resources on the SRX Series device. Also, ICMP echo requests can activate
costly backup links that would otherwise not be used.
source-interface—Specify the source interface for ICMP requests (VPN monitoring “hellos” ). If no source
interface is specified, the device automatically uses the local tunnel endpoint interface.
1448
verification-path—Specify the verification path to verify the IPsec datapath before the secure tunnel (st0)
interface is activated and route(s) associated with the interface are installed in the Junos OS forwarding
table.
• destination-ip ip-address—Original, untranslated IP address of the peer tunnel endpoint that is behind
a NAT device. This IP address must not be the NAT translated IP address. This option is required if
the peer tunnel endpoint is behind a NAT device. The verify-path ICMP request is sent to this IP
address so that the peer can generate an ICMP response.
• packet-size bytes—(Optional) The size of the packet that is used to verify an IPsec datapath before
the st0 interface is brought up. The packet size must be lower than the path maximum transmission
unit (PMTU) minus tunnel overhead. The packet used for IPsec datapath verification must not be
fragmented. The range of the packet size is 64 to 1350 bytes and the default packet size value is
64 bytes
RELATED DOCUMENTATION
xauth-attributes
Syntax
xauth-attributes {
primary-dns IP address;
primary-wins IP address;
secondary-dns IP address;
secondary-wins IP address;
}
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 10.4.
Description
Configure XAuth attributes to use in XAuth authentication.
Options
• apply-groups—Groups from which to inherit configuration data.
RELATED DOCUMENTATION
xauth-client-username
Syntax
username username;
Hierarchy Level
Release Information
Statement introduced in Junos OS Release 15.1X49-D80.
Description
An IKE gatewayExtended Authentication (XAuth) is used to authenticate the remote access user. Specify
that extended authentication is performed in addition to IKE Phase 1 authentication for remote users
trying to access a VPN tunnel. This authentication can be through XAuth or Extensible Authentication
Protocol (EAP). The maximum number of characters allowed for XAuth client username is 128.
RELATED DOCUMENTATION
Operational Commands
Release Information
Command introduced in Junos Release 10.4.
Description
Clear all dynamic VPN user connections. This feature is supported on SRX300, SRX320, SRX340, SRX345,
and SRX550HM devices.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
clear security dynamic-vpn all
user@host> clear security dynamic-vpn all
Release Information
Command introduced in Junos Release 10.4.
Description
Clear the dynamic VPN user connection for the specified username. This feature is supported on SRX300,
SRX320, SRX340, SRX345, and SRX550HM devices.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
clear security dynamic-vpn user
user@host> clear security dynamic-vpn user user ike-id bob.example.net
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Command introduced in Junos OS Release 15.1F5 for MX Series routers.
Description
Clear all current information for IKE, TEK, and KEK SAs. Group VPNv2 is supported on MX Series routers,
SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices
and vSRX instances.
Options
none—Clear SA information for all groups.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1458
Release Information
Command introduced in Junos OS Release 10.2.
Description
Clear IKE security association (SA) for a group member. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
• none—Clear all IKE SAs for the group member.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1459
Release Information
Command introduced in Junos OS Release 10.2.
Description
Clear group VPN SA for a group member. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
• none—Clear all group VPN SAs for the group member.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1460
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Clear IPsec SA statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM,
SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
none—Clear IPsec SA statistics for all groups.
group-id group-id—(Optional) Clear IPsec SA statistics for the specified group identifier.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1461
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Clear IPsec statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM,
SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
none—Clear IPsec statistics for all groups.
index index—(Optional) Clear the IPsec statistics for the SA with this index number.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1462
Description
Clear active members for a specified group. If no options are specified, members are cleared from all
groups. After this command is issued, members will need to reregister. Group VPNv2 is supported on
SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices
and vSRX instances.
An IKE SA can be used by a group member to register to multiple groups. When you clear members for a
specified group, all existing IKE SAs that could be used to register to the group are also cleared.
Options
• none—All members are cleared from all groups.
• group—(Optional) Clear members and SAs for the specified group name.
• group-id—(Optional) Clear members and SAs for the specified group identifier.
RELATED DOCUMENTATION
Output Fields
If there is a problem with the command, one of the following messages appears:
clear security group-vpn server server-cluster statistics <group group-name> <group-id group-id>
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Clear Group VPNv2 server cluster statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
none—Clear Group VPNv2 server cluster statistics for all groups.
group group-name—(Optional) Clear Group VPNv2 server cluster statistics for the specified group name.
group-id group-id—(Optional) Clear Group VPNv2 server cluster statistics for the specified group identifier.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1464
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Clear group statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM,
SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
none—Clear statistics for all groups.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1465
Release Information
Command introduced in Junos OS Release 8.5.
Description
Clear information about invalid Internet Key Exchange (IKE) security parameter index (SPI) counters.
Options
• none—Clear all invalid SPI counters.
• gateway-name —(Optional) Clear the invalid SPI counters for the given gateway.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1466
Release Information
Command introduced in Junos OS Release 8.5. The fpc, pic, and kmd-instance options added in Junos
OS Release 9.3. The port option added in Junos OS Release 10.0. The family option added in Junos OS
Release 11.1.
Description
Clear information about the current Internet Key Exchange security associations (IKE SAs). For IKEv2, the
device clears the information about the IKE SAs and the associated IPSec SA.
Options
• none—Clear all IKE SAs.
• peer-address —(Optional) Clear IKE SAs for the destination peer at this IP address.
• fpc slot-number —Specific to SRX Series devices. Clear information about existing IKE SAs in this Flexible
PIC Concentrator (FPC) slot.
• index SA-index-number —(Optional) Clear the IKE SA with this index number.
• kmd-instance—Specific to SRX Series devices. Clear information about existing IKE SAs in the key
management process (the daemon, which in this case is KMD) identified by FPC slot-number and PIC
slot-number.
• pic slot-number —Specific to SRX Series devices. Clear information about existing IKE SAs in this PIC
slot.
• sa-type shortcut—(Optional for ADVPN) Type of SA. shortcut is the only option for this release.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1468
Release Information
Command introduced in Junos OS Release 8.5. The fpc, pic, and kmd-instance options added in Junos OS
Release 9.3. The family option added in Junos OS Release 11.1.
Description
Clear information about IPsec security associations (SAs).
Options
• none—Clear all IPsec SAs.
• fpc slot-number —Specific to SRX Series devices. Clear information about existing IPsec SAs in this
Flexible PIC Concentrator (FPC) slot.
• index SA-index-number —(Optional) Clear the IPsec SA with this index number.
• kmd-instance—Specific to SRX Series devices. Clear information about existing IPsec SAs in the key
management process (the daemon, which in this case is KMD) identified by FPC slot-number and PIC
slot-number .
pic slot-number —Specific to SRX Series devices. Clear information about existing IPsec SAs in this PIC
slot.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1470
Release Information
Command introduced in Junos OS Release 8.5. fpc and pic options added in Junos OS Release 9.3.
kmd-instance option added in Junos OS Release 10.4.
Description
Clear IPsec statistics on the device.
Options
• none—Clear all IPsec statistics.
• fpc slot-number —Specific to SRX Series devices. Clear statistics about existing IPsec security associations
(SAs) in this Flexible PIC Concentrator (FPC) slot.
• index SA-index-number —(Optional) Clear the IPsec statistics for the SA with this index number.
• kmd-instance—Specific to SRX Series devices. Clear information about existing IKE SAs in the key
management process (the daemon, which in this case is KMD) identified by FPC slot-number and PIC
slot-number .
• pic slot-number —Specific to SRX Series devices. Clear statistics about existing IPsec SAs in this PIC slot.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1471
Release Information
Command is introduced in Junos OS Release 20.1R1.
Description
Clears the global IKE statistics.
RELATED DOCUMENTATION
Sample Output
clear security ike stats
user@host> clear security ike stats
The clear security ike stats command does not display any output. To view the IKE statistics, run the show
security ike stats detail command.
Discarded : 0 ID error : 0
Integrity fail : 0 Invalid SPI : 0
Invalid exchange type: 0 Invalid length: 0
Disorder : 0
1474
Release Information
Command introduced in Junos OS Release 12.3X48-D10.
Description
Clear IPsec tunnel event statistics.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1475
Release Information
Command introduced in Junos OS Release 8.5.
Description
Clear public key infrastructure (PKI) key pair information for local digital certificates on the device.
Options
• all—Clear key pair information for all local certificates.
• certificate-id certificate-id —Clear key pair information for the local certificate with this certificate ID.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1476
Release Information
Command modified in Junos OS Release 9.1.
Description
Clear public key infrastructure (PKI) information for local digital certificates on the device.
Options
• all—Clear information for all the local digital certificates on the device.
You cannot clear the automatically generated self-signed certificate using clear security pki
local-certificate all command. To clear the self-signed certificate you need to use system-generated as
an option.
• certificate-id certificate-id —Clear the specified local digital certificate with this certificate ID.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
1477
Sample Output
clear security pki local-certificate all
user@host> clear security pki local-certificate all
Sample Output
clear security pki local-certificate system-generated
user@host> clear security pki local-certificate system-generated
1478
Release Information
Command introduced in Release Junos OS 11.4R3.
Description
Disable IKE debugging.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1479
Release Information
Command introduced in Junos OS Release 11.4R3.
Description
Enable IKE tracing on a single VPN tunnel specified by a local and a remote IP address. Use of this command
is an alternative to configuring IKE traceoptions; no configuration is required to use this command. This
command only traces a single tunnel, whereas configuring IKE traceoptions affects all VPN tunnels on the
SRX Series device.
1. Identify the local and remote IP addresses of the VPN tunnel you want to trace.
If you have configured a file for IKE traceoptions, the trace information is stored in the specified filename.
4. Disable per-tunnel IKE tracing with the request security ike debug-disable command.
5. Review the /var/log/iked file with the show log iked command.
You can use the show security ike debug-status command to see the status of the per-tunnel IKE tracing
operation.
Options
• local local-ip-address—The address of the local VPN peer.
RELATED DOCUMENTATION
1480
Release Information
Command introduced in Junos OS Release 15.1X49-D80.
Description
Clear TCP encapsulation statistics.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1482
request security pki ca-certificate ca-profile-group load ca-group-name ca-group-name filename [path/filename |
default]
Release Information
Command introduced in Junos OS Release 12.1; default option added in Junos OS Release 12.1X47-D10.
Description
For SSL forward proxy, you need to load trusted CA certificates on your system. By default, Junos OS
provides a list of trusted CA certificates that include default certificates used by common browsers.
Alternatively, you can define your own list of trusted CA certificates and import them on to your system.
Use this command to load the default certificates or to specify a path and filename of trusted CA certificates
that you define.
Options
ca-group-name ca-group-name—Load the specified CA group profile.
filename path/filename—Directory location and filename of the trusted CA certificates defined by you.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
1483
Sample Output
request security pki ca-certificate ca-profile-group load (default)
user@host> request security pki ca-certificate ca-profile-group load ca-group-name ca-default filename
default
Sample Output
request security pki ca-certificate ca-profile-group load (path/filename)
user@host> request security pki ca-certificate ca-profile-group load ca-group-name ca-manual filename
/var/tmp/firefox-all.pem
...
ca-manual_195_sysgen: Loading done.
ca-manual_196_sysgen: Loading done.
ca-profile-group 'ca-manual’ successfully loaded. Success[193] Skipped[3]
1484
Release Information
Command introduced in Junos OS Release 7.5.
Description
Request a digital certificate from a certificate authority (CA) online by using the Simple Certificate Enrollment
Protocol (SCEP).
Options
ca-profile ca-profile-name—CA profile name.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
request security pki ca-certificate enroll
user@host> request security pki ca-certificate enroll ca-profile entrust
Fingerprint: bc:78:87:9b:a7:91:13:20:71:db:ac:b5:56:71:42:ad:1a:b6:46:17
Certificate: C=us, O=example
Fingerprint: 00:8e:6f:58:dd:68:bf:25:0a:e3:f9:17:70:d6:61:f3:53:a7:79:10
Do you want to load the above CA certificate ? [yes,no] (no) yes
1486
Release Information
Command introduced in Junos OS Release 7.5.
Description
Manually load a certificate authority (CA) digital certificate from a specified location.
Options
ca-profile ca-profile-name—Load the specified CA profile.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
request security pki ca-certificate load
user@host> request security pki ca-certificate load ca-profile 2Kkey filename /var/tmp/2Kkey.pem
Fingerprint:
a0:08:bb:1f:75:96:76:cd:ee:db:36:10:b6:c6:d8:df:5e:02:05:05 (sha1)
1487
f5:58:6b:de:7c:d6:cd:90:5a:18:c3:0e:3d:95:da:25 (md5)
Do you want to load this CA certificate ? [yes,no] (no) yes
Release Information
Command introduced in Junos OS Release 8.5.
Description
Verify the digital certificate installed for the specified certificate authority (CA).
Options
ca-profile ca-profile-name —Display the specified CA profile.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
Sample Output
This user has not downloaded the certificate revocation list (CRL).
request security pki ca-certificate verify ca-profile ca1 (CRL not downloaded)
user@host> request security pki ca-certificate verify ca-profile ca1
CA certificate ca1: CRL verification in progress. Please check the PKId debug logs
for completion status
1490
Release Information
Command introduced in Junos OS Release 8.1.
Description
Manually install a certificate revocation list (CRL) on the device from a specified location.
Options
ca-profile ca-profile-name —Load the specified certificate authority (CA) profile.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
request security pki crl load
user@host> request security pki crl load ca-profile ca-test filename example-inter-ca.crl
Release Information
Command introduced in Junos OS Release 7.5. Support for digest option added in Junos OS Release
12.1X45-D10.
Description
Manually generate a local digital certificate request in the Public-Key Cryptography Standards #10 (PKCS-10)
format.
Options
certificate-id certificate-id-name—Name of the local digital certificate and the public/private key pair.
domain-name domain-name—Fully qualified domain name (FQDN) provides the identity of the certificate
owner for Internet Key Exchange (IKE) negotiations and provides an alternative to the subject name.
• DC—Domain component
• CN—Common name
• O—Organization name
• L—Locality
• ST—State
• C—Country
• sha256—SHA-256 digests for RSA or ECDSA only (default value for ECDSA).
Starting in Junos OS Release 18.1R3, the default encryption algorithm that is used for validating
automatically and manually generated self-signed PKI certificates is Secure Hash Algorithm 256
(SHA-256). Prior to Junos OS Release 18.1R3, SHA-1 is used as default encryption algorithm.
filename (path | terminal)—(Optional) Location where the local digital certificate request should be placed
or the login terminal.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
request security pki generate-certificate-request
user@host> request security pki generate-certificate-request certificate-id local-entrust2 domain-name
router2.example.net filename entrust-req2 subject cn=router2.example.net
VR0RAQH/BBowGIIWdHAxLmVuZ2xhYi5qdW5pcGVyLm5ldDANBgkqhkiG9w0BAQQF
AAOBgQBc2rq1v5SOQXH7LCb/FdqAL8ZM6GoaN5d6cGwq4bB6a7UQFgtoH406gQ3G
3iH0Zfz4xMIBpJYuGd1dkqgvcDoH3AgTsLkfn7Wi3x5H2qeQVs9bvL4P5nvEZLND
EIMUHwteolZCiZ70fO9Fer9cXWHSQs1UtXtgPqQJy2xIeImLgw==
-----END CERTIFICATE REQUEST-----
Fingerprint:
0d:90:b8:d2:56:74:fc:84:59:62:b9:78:71:9c:e4:9c:54:ba:16:97 (sha1)
1b:08:d4:f7:90:f1:c4:39:08:c9:de:76:00:86:62:b8 (md5)
1494
Release Information
Command introduced in Junos OS Release 11.1.
Options to support Elliptic Curve Digital Signature Algorithm (ECDSA) added in Junos OS Release
12.1X45-D10.
521 option to support ECDSA introduced in Junos OS Release 19.1R1 on SRX5000 line of devices with
SRX5K-SPC3 card.
Description
Generate a public key infrastructure (PKI) public/private key pair for a local digital certificate.
Options
certificate-id certificate-id-name—Name of the local digital certificate and the public/private key pair.
size—Key pair size. The key pair size can be 256, 384, 521, 1024, 2048, or 4096 bits. Key pair sizes of 256,
384, and 521 bits are compatible with ECDSA. For Digital Signal Algorithm (DSA) and Rivest Shamir
Adleman (RSA), algorithms the size must be 1024, 2048, or 4096. The default key pair size is 1024 for
DSA and 2048 for RSA.
• Load a complete certificate, which is generated using an external tool like OpenSSL into PKI.
• Manually generate a Certificate Signing Request (CSR) for a local certificate and sending the CSR to
a (Certificate Authority) CA server to enroll.
• ecdsa—ECDSA encryption
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
request security pki generate-key-pair
user@host> request security pki generate-key-pair type [xxx] size [xxx] certificate-id test
Release Information
Command introduced in Junos OS Release 15.1X49-D60.
Description
Export the keypair for an end-entity (EE) certificate. The exported keypair is encrypted and can be imported
along with the EE certificate. Using the CLI request security pki key-pair export command, you can export
the pki key-pairs file as a backup or to check the file for troubleshooting purposes. We recommend denying
access to the CLI request security pki key-pair export command to all users and restrict this command
only to the privileged users.
Options
certificate-id certificate-id—Name of the local digital certificate.
passphrase passphrase—(Optional) Passphrase to protect the keypair data for PEM format. The passphrase
can be up to 64 characters. If specified, the passphrase must be used when importing the keypair.
type (der | pem)—(Optional) Type of format, either DER or PEM. PEM is the default.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1497
Release Information
Command introduced in Junos OS Release 15.1X49-D40.
Description
Enroll and install a local digital certificate online by using CMPv2. This command loads both end-entity
(EE) and CA certificates based on the CA server configuration. Certificate revocation list (CRL) or Online
Certificate Status Protocol (OCSP) can be used to check the revocation status of a certificate.
Options
ca-dn subject-dn—The distinguished name (DN) of the CA enrolling the EE certificate must be specified
during enrollment. This optional parameter is mandatory if the CA certificate is not already enrolled.
If the CA certificate is already enrolled, the subject DN is extracted from the CA certificate.
certificate-id certificate-id-name—Name of the local digital certificate and the public/private key pair.
domain-name domain-name—Fully qualified domain name (FQDN). The FQDN provides the identity of
the certificate owner for Internet Key Exchange (IKE) negotiations and provides an alternative to the
subject name.
subject subject-distinguished-name—Distinguished Name (DN) format that contains the domain component,
common name, department, serial number, company name, state, and country in the following format:
DC, CN, OU, O, SN, L, ST, C.
• DC—Domain component
• CN—Common name
• O—Organization name
If you define SN in the subject field without the serial number, then the serial number is read directly
from the device and added to the certificate signing request (CSR).
• ST—State
• C—Country
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
user@host> request security pki local-certificate enroll cmpv2 ca-profile root-552 ca-dn
DC=example,CN=root-552 certificate-id tc552 email [email protected] domain-name example.net
ip-address 192.0.2.22 ca-secret example ca-reference 51892 subject CN=example,OU=SBU,O=552-22
Certificate enrollment has started. To view the status of your enrollment, check
the public key infrastructure log (pkid) log file at /var/log/pkid.
1499
Release Information
Command introduced in Junos OS Release 9.1. Serial number (SN) option added to the subject string
output field in Junos OS Release 12.1X45. scep keyword and ipv6-address option added in Junos OS
Release 15.1X49-D40.
Starting in Junos OS Release 20.1R1 on vSRX 3.0, you can safeguard the private keys used by PKID and
IKED using Microsoft Azure Key Vault hardware security module (HSM) service. You can establish a PKI
based VPN tunnel using the keypairs generated at the HSM. The hub certificate-id option under certificate-id
is not available for configuration after generating HSM key-pair.
Description
Enroll and install a local digital certificate online by using Simple Certificate Enrollment Protocol (SCEP).
If you enter the request security pki local-certificate enroll command without specifying the scep or cmpv2
keyword, SCEP is the default method for enrolling a local certificate.
Options
ca-profile ca-profile-name—CA profile name.
certificate-id certificate-id-name—Name of the local digital certificate and the public/private key pair.
challenge-password password—Password set by the administrator and normally obtained from the SCEP
enrollment webpage of the CA. The password is maximum 256 characters in length. You can enforce
the limit to the required characters.
digest (sha-1 | sha-256)—Hash algorithm used for signing RSA certificates, either SHA-1 or SHA-256.
SHA-1 is the default.
1500
domain-name domain-name—Fully qualified domain name (FQDN). The FQDN provides the identity of
the certificate owner for Internet Key Exchange (IKE) negotiations and provides an alternative to the
subject name.
scep-digest-algorithm (md5 | sha-1)—Hash algorithm digest, either MD5 or SHA-1; SHA-1 is the default.
scep-encryption-algorithm (des | des3)—Encryption algorithm, either DES or DES3; DES3 is the default.
subject subject-distinguished-name—Distinguished Name (DN) format that contains the domain component,
common name, department, serial number, company name, state, and country in the following format:
DC, CN, OU, O, SN, L, ST, C.
• DC—Domain component
• CN—Common name
• O—Organization name
If you define SN in the subject field without the serial number, then the serial number is read directly
from the device and added to the certificate signing request (CSR).
• ST—State
• C—Country
RELATED DOCUMENTATION
Output Fields
1501
When you enter this command, you are provided feedback on the status of your request.
Sample Output
user@host> request security pki local-certificate enroll scep certificate-id r3-entrust-scep ca-profile
entrust domain-name router3.example.net subject "CN=router3,OU=Engineering,O=example,C=US"
challenge-password 123
Certificate enrollment has started. To view the status of your enrollment, check
the public key infrastructure log (pkid) log file at /var/log/pkid. Please save
the challenge-password for revoking this certificate in future. Note that this
password is not stored on the router.
Sample Output
Sample output for vSRX 3.0
user@host> request security pki generate-key-pair certificate-id example
Possible completions:
<certificate-id> Certificate identifier
example
error: Failed to generate key pair at HSM. Found a key with the same name at HSM.
Use a different certificate id next time. Refer to PKID logs for more details
1502
Release Information
Command introduced in Junos OS Release 12.1.
Description
Export a generated self-signed certificate from the default location (var/db/certs/common/local) to a
specific location within the device.
Options
certificate id certificate-id-name—Name of the local digital certificate.
type (der | pem)—Certificate format: DER (distinguished encoding rules) or PEM (privacy-enhanced mail).
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
request security pki local-certificate export
user@host> request security pki local-certificate export filename /var/tmp/my-cert.pem certificate-id
nss-cert type pem
Release Information
Command introduced in Junos OS Release 9.1. Support for digest option added in Junos OS Release
12.1X45-D10.
Description
Manually generate a self-signed certificate for the given distinguished name.
Options
certificate-id certificate-id-name—Name of the certificate and the public/private key pair.
domain-name domain-name—Fully qualified domain name (FQDN) provides the identity of the certificate
owner for Internet Key Exchange (IKE) negotiations and provides an alternative to the subject name.
• DC—Domain component
• CN—Common name
• O—Organization name
• L—Locality
• ST—State
• C—Country
add-ca-constraint—(Optional) Specifies that the certificate can be used to sign other certificates.
• sha256—SHA-256 digest
1504
Starting in Junos OS Release 18.1R3, the default encryption algorithm that is used for validating
automatically and manually generated self-signed PKI certificates is Secure Hash Algorithm 256 (SHA-256).
Prior to Junos OS Release 18.1R3, SHA-1 is used as default encryption algorithm.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
request security pki local-certificate generate-self-signed certificate-id self-cert subject cn=abc
domain-name example.net email [email protected]
user@host> request security pki local-certificate generate-self-signed certificate-id self-cert subject
cn=abc domain-name example.net email [email protected]
request security pki local-certificate load filename ssl_proxy_ca.crt key ssl_proxy_ca.key certificate-id certificate id
Release Information
Command introduced in Junos OS Release 11.4.
Description
Manually load a local digital certificate from a specified location.
Options
filename — Filename that contains the certificate to load
Starting in Junos OS Release 19.1R1, a commit check is added to prevent user from adding ., /, %, and
space in a certificate identifier while generating a local or remote certificates or a key pair.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
1506
Sample Output
request security pki local-certificate load
user@host> request security pki local-certificate load filename cert_name.crt key key_name.key
certificate-id test
Release Information
Command introduced in Junos OS Release 15.1X49-D60.
Description
Manually reenroll an end-entity (EE) certificate with Certificate Management Protocol version 2 (CMPv2).
This command allows the administrator to initiate renewal of the EE certificate using CMPv2 and can be
used in conjunction with the set security pki auto-re-enrollment cmpv2 automatic enrollment configuration.
Options
certificate-id certificate-id-name—Name of the local digital certificate.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1508
Release Information
Command introduced in Junos OS Release 15.1X49-D60.
Description
Manually reenroll an end-entity (EE) certificate with Simple Certificate Enrollment Protocol (SCEP). This
command allows the administrator to initiate renewal of the EE certificate using SCEP and can be used in
conjunction with the set security pki auto-re-enrollment scep automatic enrollment configuration.
Options
certificate-id certificate-id-name—Name of the local digital certificate.
challenge-password password—Password set by the administrator and normally obtained from the SCEP
enrollment webpage of the CA. The password is 16 characters in length.
scep-digest-algorithm —(Optional) Hash algorithm digest, either MD5 or SHA-1; SHA-1 is the default.
scep-encryption-algorithm —(Optional) Encryption algorithm, either DES or DES3; DES3 is the default.
RELATED DOCUMENTATION
Output Fields
This command produces no output.
1509
Release Information
Command introduced in Junos OS Release 8.5.
Description
Verify the validity of the local digital certificate identifier.
Options
certificate-id certificate-id-name — Name of the local digital certificate identifier.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
You receive the following response before the certificate revocation list (CRL) is downloaded:
Local certificate bme1: CRL verification in progress. Please check the PKId debug
logs for completion status
Sample Output
You receive the following response after the certificate revocation list (CRL) is downloaded:
Release Information
Command introduced in Junos OS Release 11.2.
Do not use this command for non-FIPS or Common Criteria releases. We recommend that you do not use
this command for any Junos OS Release 15.1X49-D40 or later releases.
Description
Verify the integrity of public key infrastructure (PKI) files. This feature is supported only on SRX5400,
SRX5600, and SRX5800 devices and vSRX instances.
RELATED DOCUMENTATION
Output Fields
When you enter this command, you are provided feedback on the status of your request.
Sample Output
request security pki verify-integrity-status
user@host> request security pki verify-integrity-status
Release Information
Command introduced in Junos OS Release 10.4.
Description
Display information summary about a specific pool.
Output Fields
Table 109 on page 1512 lists the output fields for the show network-access address-assignment pool
command. Output fields are listed in the approximate order in which they appear.
Hardware address MAC address of the client. For XAuth clients, the value is NA.
Host/User For static IP address assignment, the user name and profile are displayed in the
format username@profile. If the client is assigned an IP address from an address
pool and a user name exists, the user name is displayed. For DHCP applications,
if the host name is configured the host name is displayed; otherwise NA is
displayed.
Sample Output
show security dynamic-policies [detail] [from-zone zone] [scope-id id] [to-zone zone]
Release Information
Command introduced in Junos OS Release 10.2.
Description
Display dynamic policies downloaded on the group member. This command is supported on SRX100,
SRX110, SRX210, SRX220, SRX240, and SRX650 devices.
Options
• none—Display basic information about all policies installed on the group member.
• detail—(Optional) Display a detailed view of all of the policies installed on the group member.
• from-zone—(Optional) Display information about the policies installed on the group member for the
specified source zone.
• scope-id—(Optional) Display information about the policies installed on the group member for the
specified policy identifier.
• to-zone—(Optional) Display information about the policies installed on the group member for the specified
destination zone.
RELATED DOCUMENTATION
Output Fields
1515
Table 110 on page 1515 lists the output fields for the show security dynamic-policies command. Output
fields are listed in the approximate order in which they appear.
• enabled: The policy can be used in the policy lookup process, which determines
access rights for a packet and the action taken in regard to it.
• disabled: The policy cannot be used in the policy lookup process, and therefore
it is not available for access control.
Sequence number Number of the policy within a given context. For example, three policies that are
applicable in a from-zoneA-to-zoneB context might be ordered with sequence
numbers 1, 2, and 3. Also, in a from-zoneC-to-zoneD context, four policies might
have sequence numbers 1, 2, 3, and 4.
Source addresses For standard display mode, the names of the source addresses for a policy. Address
sets are resolved to their individual names. (In this case, only the names are given,
not their IP addresses.)
For detail display mode, the names and corresponding IP addresses of the source
addresses for a policy. Address sets are resolved to their individual address name-IP
address pairs.
Destination addresses Name of the destination address (or address set) as it was entered in the destination
zone’s address book. A packet’s destination address must match this value for the
policy to apply to it.
1516
Application Name of a preconfigured or custom application whose type the packet matches,
as specified at configuration time.
Sample Output
show security dynamic-policies
user@host> show security dynamic-policies
Applications: Unknown
action-type: permit, tunnel:
Sample Output
show security dynamic-policies detail
user@host> show security dynamic-policies detail
Sample Output
show security dynamic-policies from-zone Internal
user@host> show security dynamic-policies from-zone Internal
Sample Output
show security dynamic-policies scope-id 8 from-zone Internal
user@host> show security dynamic-policies scope-id 8 from-zone Internal
Sample Output
show security dynamic-policies detail from-zone Internal
user@host> show security dynamic-policies detail from-zone Internal
Application: Unknown
IP protocol: 6, ALG: 0, Inactivity timeout: 0
Source port range: [0-0]
Destination port range: [80-80]
Tunnel: Test Tunnel, Type: IPSec, Index: 1005
Policy: policy_external-0001, action-type: permit, State: enabled, Index:
1048584,AI: disabled, Scope Policy: 8
Policy Type: Dynamic
Sequence number: 1
From zone: Internal, To zone: untrust
Source addresses:192.168.1.0/24
Destination addresses:192.168.20.0/24
Application: Unknown
IP protocol: 6, ALG: 0, Inactivity timeout: 0
Source port range: [0-0]
Destination port range: [80-80]
Tunnel: Test Tunnel, Type: IPSec, Index: 1006
Sample Output
show security dynamic-policies detail from-zone Internal to-zone Host
user@host> show security dynamic-policies detail from-zone Internal to-zone Host
Release Information
Command introduced in Junos OS Release 10.0.
Description
Display all relevant user information. This feature is supported on SRX300, SRX320, SRX340, SRX345,
and SRX550HM devices.
RELATED DOCUMENTATION
Output Fields
Table 111 on page 1521 lists the output fields for the show security dynamic-vpn users command. Output
fields are listed in the approximate order in which they appear.
User Username.
Sample Output
Release Information
This command introduced in Junos OS Release 10.0.
Description
Display all relevant user information. This feature is supported on SRX300, SRX320, SRX340, SRX345,
and SRX550HM devices.
RELATED DOCUMENTATION
Output Fields
Table 112 on page 1523 lists the output fields for the show security dynamic-vpn users terse command.
Output fields are listed in the approximate order in which they appear.
User Username.
Table 112: show security dynamic-vpn users terse Output Fields (continued)
Sample Output
Name
alice group-one 192.168.2.10 alicegw2.CONNECTED 72000 3600 group Wed
example. Aug 8
10:
net 26:39
2012
1525
show security group-vpn member ike security-associations [brief | detail] [index sa-index] [peer-ipaddress]
Release Information
Command introduced in Junos OS Release 10.2.
Description
Display IKE security associations (SAs) for group members. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
• none—Display summary information about all IKE SAs for the group members.
• index sa-index—(Optional) Display detailed information about the specified SA identified by index number.
To obtain a list of all SAs that includes their index numbers, use the command with no options.
RELATED DOCUMENTATION
Output Fields
Table 113 on page 1526 lists the output fields for the show security group-vpn member ike
security-associations command. Output fields are listed in the approximate order in which they appear.
1526
Table 113: show security group-vpn member ike security-associations Output Fields
Index Index number of an SA. This number is an internally generated number you can
use to display information about a single SA.
Initiator cookie Random number, called a cookie, which is sent to the remote node when the IKE
negotiation is triggered.
Responder cookie Random number generated by the remote node and sent back to the initiator as
a verification that the packets were received.
Mode Negotiation method agreed on by the two IPsec endpoints, or peers, used to
exchange information between themselves. Each exchange type determines the
number of messages and the payload types that are contained in each message.
The modes, or exchange types, are
• main—The exchange is done with six messages. This mode or exchange type
encrypts the payload, protecting the identity of the neighbor. The authentication
method used is displayed: preshared keys or certificate.
• aggressive—The exchange is done with three messages. This mode or exchange
type does not encrypt the payload, leaving the identity of the neighbor
unprotected.
Remote Address IP address of the destination peer with which the local peer communicates.
IKE Peer IP address of the destination peer with which the local peer communicates.
1527
Table 113: show security group-vpn member ike security-associations Output Fields (continued)
Exchange type Negotiation method agreed on by the two IPsec endpoints, or peers, used to
exchange information between themselves. Each exchange type determines the
number of messages and the payload types that are contained in each message.
The modes, or exchange types, are
• main—The exchange is done with six messages. This mode or exchange type
encrypts the payload, protecting the identity of the neighbor. The authentication
method used is displayed: preshared keys or certificate.
• aggressive—The exchange is done with three messages. This mode or exchange
type does not encrypt the payload, leaving the identity of the neighbor
unprotected.
Authentication method Method the server uses to authenticate the source of IKE messages:
Algorithms Internet Key Exchange (IKE) algorithms used to encrypt and secure exchanges
between the peers during the IPsec Phase 2 process:
Sample Output
show security group-vpn member ike security-associations
user@host> show security group-vpn member ike security-associations
Sample Output
show security group-vpn member ike security-associations detail
user@host> show security group-vpn member ike security-associations detail
show security group-vpn member ipsec inactive-tunnels <brief> <detail> <group-id group-id>
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Show inactive Group VPNs. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM,
SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
none—Display information for all groups.
RELATED DOCUMENTATION
Output Fields
Table 114 on page 1529 lists the output fields for the show security group-vpn member ipsec inactive-tunnels
command. Output fields are listed in the approximate order in which they appear.
Table 114: show security group-vpn member ipsec inactive-tunnels Output Fields
Table 114: show security group-vpn member ipsec inactive-tunnels Output Fields (continued)
Recovery Probe Status of the recovery probe, either enabled or disabled (default).
Table 114: show security group-vpn member ipsec inactive-tunnels Output Fields (continued)
Sample Output
show security group-vpn member ipsec inactive-tunnels
user@host> show security group-vpn member ipsec inactive-tunnels
Delete Received : 0
Exceed Maximum Keys(4) : 0
Exceed Maximum Policies(10): 0
Unsupported Algo : 0
Down Reason: uninitiated
1533
show security group-vpn member ipsec security-associations [brief | detail] [index sa-index]
Release Information
Command introduced in Junos OS Release 10.2.
Command introduced in Junos OS Release 18.2R1 for MX-series.
Description
Display group VPN security associations (SAs) for a group member. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX
instances.
Options
• none—Display information about all group VPN SAs for the group member.
• index sa-index—(Optional) Display detailed information about the specified SA identified by index number.
To obtain a list of all SAs that includes their index numbers, use the command with no options.
RELATED DOCUMENTATION
Output Fields
Table 115 on page 1534 lists the output fields for the show security group-vpn member ipsec
security-associations command. Output fields are listed in the approximate order in which they appear.
1534
ID Index number of the SA. You can use this number to get additional information
about the SA.
Algorithm Cryptography used to secure exchanges between peers during the IKE Phase 2
negotiations includes
Life: sec/kb The lifetime of the SA, after which it expires, expressed either in seconds or
kilobytes.
Local Identity Identity of the local peer so that its partner destination gateway can communicate
with it. The value is specified as an IPv4 address, fully qualified domain name,
e-mail address, or distinguished name.
Hard lifetime The hard lifetime specifies the lifetime of the SA.
Lifesize Remaining The lifesize remaining specifies the usage limits in kilobytes. If there is no lifesize
specified, it shows unlimited.
Soft lifetime The soft lifetime informs the IPsec key management system that the SA is about
to expire.
Each lifetime of a security association has two display options, hard and soft, one
of which must be present for a dynamic security association. This allows the key
management system to negotiate a new SA before the hard lifetime expires.
Anti-replay service State of the service that prevents packets from being replayed. It can be Enabled
or Disabled.
Sample Output
show security group-vpn member ipsec security-associations
user@host> show security group-vpn member ipsec security-associations
1536
Sample Output
show security group-vpn member ipsec security-associations detail
user@host> show security group-vpn member ipsec security-associations detail
Stats:
Pull Succeeded : 3
Pull Failed : 0
Pull Timeout : 6
Pull Aborted : 0
Push Succeeded : 1773
Push Failed : 0
Server Failover : 0
Delete Received : 0
Exceed Maximum Keys(4) : 0
Exceed Maximum Policies(10): 0
Unsupported Algo : 0
Flags:
Rekey Needed: no
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Command introduced in Junos OS Release 18.2R1 for MX-series.
Description
Show IPsec statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM,
SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
none—Display information for all IPsec SAs.
index index—(Optional) Display detailed information about the specified SA, identified by index number.
To obtain a list of all SAs that includes their index numbers, use the command with no options.
RELATED DOCUMENTATION
Output Fields
Table 116 on page 1538 lists the output fields for the show security group-vpn member ipsec statistics
command. Output fields are listed in the approximate order in which they appear.
Table 116: show security group-vpn member ipsec statistics Output Fields
ESP Statistics Numbers of encrypted and decrypted bytes and encrypted and decrypted
packets.
AH Statistics Numbers of input and output bytes and input and output packets.
1539
Table 116: show security group-vpn member ipsec statistics Output Fields (continued)
D3P Statistics Numbers of old timestamp packets, new timestamp packets, no timestamp
packets, unexpected D3P header packets, invalid type packets, invalid
length packets, and invalid next header packets.
Sample Output
show security group-vpn member ipsec statistics
user@host> show security group-vpn member ipsec statistics
ESP Statistics:
Encrypted bytes: 54712
Decrypted bytes: 16800
Encrypted packets: 381
Decrypted packets: 200
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
1540
show security group-vpn member kek security-associations [brief | detail | display xml] [index sa-index] [peer-ipaddress]
Release Information
Command introduced in Junos OS Release 10.2.
Description
Display Group VPNv2 security associations (SAs) for a group member. Group VPNv2 is supported on
SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices
and vSRX instances.
Group VPNv2 is the name of the Group VPN technology on MX5, MX10, MX40, MX80, MX240, MX480,
and MX960 routers. Group VPNv2 is different from the Group VPN technology implemented on SRX
Security Gateways.
For more information about Group VPN on SRX Security Gateway devices, see “Group VPNv2 Overview”
on page 907.
Options
• none—Display information about all Group VPNv2 SAs for the group member.
• index sa-index—(Optional) Display detailed information about the specified SA identified by index number.
To obtain a list of all SAs that includes their index numbers, use the command with no options.
RELATED DOCUMENTATION
Output Fields
Table 117 on page 1542 lists the output fields for the show security group-vpn member kek
security-associations command. Output fields are listed in the approximate order in which they appear.
Index Index number of an SA. This number is an internally generated number you can
use to display information about a single SA.
Remote Address IP address of the destination peer with which the local peer communicates.
Initiator cookie Random number, called a cookie, which is sent to the remote node when the IKE
negotiation is triggered.
Responder cookie Random number generated by the remote node and sent back to the initiator as
a verification that the packets were received.
KEK Peer IP address of the destination peer with which the local peer communicates.
Algorithms Internet Key Exchange (IKE) algorithms used to encrypt and secure exchanges
between the peers during the IPsec Phase 2 process:
Server Info Version Identify the latest set of information maintained in the server.
Server Heartbeat Interval Interval in seconds at which the server sends heartbeats to group members.
Member Heartbeat Threshold The heartbeat threshold configured on the group member for the IPsec VPN. If
this number of heartbeats is missed on the member, the member reregisters with
the server.
Heartbeat Timeout Left Number of heartbeats until the heartbeat threshold is reached, at which time the
member reregisters with the server.
Server Activation Delay Number of seconds before a group member can use a new key when the member
reregisters with the server.
Server Multicast Group Multicast IP address to which the server sends rekey messages.
Server Replay Window Antireplay time window value in milliseconds. 0 means antireplay is disabled.
1544
Group Key Push sequence Sequence number of the KEK SA groupkey-push message. This number is
number incremented with every groupkey-push message.
Sample Output
show security group-vpn member kek security-associations
user@host> show security group-vpn member kek security-associations
Sample Output
show security group-vpn member kek security-associations detail
user@host> show security group-vpn member kek security-associations detail
Algorithms:
Sig-hash : hmac-md5-96
Encryption : 3des-cbc
Traffic statistics:
Input bytes : 0
Output bytes : 0
Input packets: 0
Output packets: 0
Stats:
Push received : 0
Delete received : 0
1545
<rpc-reply xmlns:junos="http://xml.example.net/junos/15.1/junos">
<gvpn-kek-security-associations-information junos:style="detail">
<kek-security-associations-block>
<security-association-index>2987691</security-association-index>
<group-id>400</group-id>
<group-vpn-name>gvpn400</group-vpn-name>
<local-address>192.168.1.100</local-address>
<server-address>192.168.1.1</server-address>
<initiator-cookie>510f854307a03675</initiator-cookie>
<responder-cookie>690e5f121fba6de7</responder-cookie>
<lifetime-remaining>Expires in 23729 seconds</lifetime-remaining>
<push-sequence-number>364</push-sequence-number>
<ike-security-associations>
<ike-sa-algorithms>
<ike-sa-authentication-algorithm>hmac-sha1-96</ike-sa-authentication-algorithm>
<ike-sa-sig-key-length>2048</ike-sa-sig-key-length>
<ike-sa-encryption-algorithm>aes128-cbc</ike-sa-encryption-algorithm>
</ike-sa-algorithms>
<ike-sa-traffic-statistics>
<ike-sa-input-bytes>3012</ike-sa-input-bytes>
<ike-sa-output-bytes>252</ike-sa-output-bytes>
<ike-sa-input-packets>3</ike-sa-input-packets>
<ike-sa-output-packets>3</ike-sa-output-packets>
</ike-sa-traffic-statistics>
</ike-security-associations>
<gvpn-kek-security-association-statistics>
<kek-security-association-statistics> Push received
: 3</kek-security-association-statistics>
<kek-security-association-statistics> Delete received
: 0</kek-security-association-statistics>
</gvpn-kek-security-association-statistics>
</kek-security-associations-block>
</gvpn-kek-security-associations-information>
<cli>
<banner></banner>
</cli>
</rpc-reply>
1546
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Show Group VPN policies. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM,
SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
none—Display information for all groups.
vpn vpn-name—(Optional) Display policy information for the specified group name.
group-id group-id—(Optional) Display policy information for the specified group identifier.
RELATED DOCUMENTATION
Output Fields
Table 118 on page 1546 lists the output fields for the show security group-vpn member policy command.
Output fields are listed in the approximate order in which they appear.
Table 118: show security group-vpn member policy Output Fields (continued)
Sample Output
show security group-vpn member policy
user@host> show security group-vpn member policy
<17>
show security group-vpn server ike security-associations [brief | detail] [group group-name | group-id group-id] [index
sa-index]
Release Information
Command introduced in Junos OS Release 10.2.
Description
Display IKE security associations (SAs). Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
• none—Display all IKE SAs for all groups.
An IKE SA can be used by a group member to register to multiple groups. When you specify the group
or group-id options to list the IKE SAs for a specified group, all existing IKE SAs that could be used to
register to the group are displayed.
• index—(Optional) Display information for a particular SA based on the index number of the SA. To obtain
the index number for a particular SA, display the list of existing SAs by using the command with no
options.
RELATED DOCUMENTATION
Output Fields
Table 119 on page 1550 lists the output fields for the show security group-vpn server ike security-associations
command. Output fields are listed in the approximate order in which they appear.
Table 119: show security group-vpn server ike security-associations Output Fields
Index Index number of an SA. This number is an internally generated number you can
use to display information about a single SA.
Remote Address IP address of the destination peer with which the local peer communicates.
Initiator cookie Random number, called a cookie, which is sent to the remote node when the IKE
negotiation is triggered.
Responder cookie Random number generated by the remote node and sent back to the initiator as
a verification that the packets were received.
Mode Negotiation method agreed on by the two IPsec endpoints, or peers, used to
exchange information between themselves. Each exchange type determines the
number of messages and the payload types that are contained in each message.
The modes, or exchange types, are
• main—The exchange is done with six messages. This mode or exchange type
encrypts the payload, protecting the identity of the neighbor. The authentication
method used is displayed: preshared keys or certificate.
• aggressive—The exchange is done with three messages. This mode or exchange
type does not encrypt the payload, leaving the identity of the neighbor
unprotected.
IKE Peer IP address of the destination peer with which the local peer communicates.
1551
Table 119: show security group-vpn server ike security-associations Output Fields (continued)
Exchange type Negotiation method agreed on by the two IPsec endpoints, or peers, used to
exchange information between themselves. Each exchange type determines the
number of messages and the payload types that are contained in each message.
The modes, or exchange types, are
• main—The exchange is done with six messages. This mode or exchange type
encrypts the payload, protecting the identity of the neighbor. The authentication
method used is displayed: preshared keys or certificate.
• aggressive—The exchange is done with three messages. This mode or exchange
type does not encrypt the payload, leaving the identity of the neighbor
unprotected.
Authentication method Method the server uses to authenticate the source of IKE messages:
Algorithms Internet Key Exchange (IKE) algorithms used to encrypt and secure exchanges
between the peers during the IPsec Phase 2 process:
Table 119: show security group-vpn server ike security-associations Output Fields (continued)
Phase 2 negotiations in progress Number of Phase 2 IKE negotiations in progress and status information:
Sample Output
show security group-vpn server ike security-associations
user@host> show security group-vpn server ike security-associations
Sample Output
show security group-vpn server ike security-associations detail
user@host> show security group-vpn server ike security-associations detail
show security group-vpn server ipsec security-associations [brief | detail] [group group-name | group-id group-id]
Release Information
Command introduced in Junos OS Release 10.2.
Description
Display IPsec security associations (SAs). Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
• none—Display all IPsec SAs for all groups.
RELATED DOCUMENTATION
Output Fields
Table 120 on page 1555 lists the output fields for the show security group-vpn server ipsec
security-associations command. Output fields are listed in the approximate order in which they appear.
1555
Total IPsec SAs The total number of IPsec SAs for each group is shown.
Algorithm Cryptography used to secure exchanges between peers during the IKE Phase 2
negotiations includes
Lifetime The lifetime of the SA, after which it expires, expressed in seconds.
Policy Name Group policy associated with the IPsec SA. The source address, destination address,
source port, destination port, and protocol defined for the policy are displayed.
Sample Output
show security group-vpn server ipsec security-associations
user@host> show security group-vpn server ipsec security-associations
Sample Output
show security group-vpn server ipsec security-associations detail
user@host> show security group-vpn server ipsec security-associations detail
show security group-vpn server kek security-associations [brief | detail] [group group-name | group-id group-id |
index sa-index]
Release Information
Command introduced in Junos OS Release 10.2.
Description
Display configured server-member communications. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
• none—Display server-member communications configured for all groups.
• index—(Optional) Display information for a particular SA based on the index number of the SA. To obtain
the index number for a particular SA, display the list of existing SAs by using the command with no
options.
RELATED DOCUMENTATION
Output Fields
1558
Table 121 on page 1558 lists the output fields for the show security group-vpn server kek security-assocations
command. Output fields are listed in the approximate order in which they appear.
Table 121: show security group-vpn server kek security-associations Output Fields
Index Index number of an SA. This number is an internally generated number you can
use to display information about a single SA.
Remote Address Identifier of the remote/peer. Because there could be multiple members, the
remote address always contains the IP address 0.0.0.0.
Initiator cookie Random number generated by the server. This is used when the server needs to
push data to a member, or a member needs to reply to the server.
Responder cookie Random number generated by the server. This is used when the server needs to
push data to a member, or a member needs to reply to the server.
KEK Peer IP address of the destination peer with which the local peer communicates. For
KEK SAs, it always contains 0.0.0.0 which means any IP address.
Table 121: show security group-vpn server kek security-associations Output Fields (continued)
Algorithms Internet Key Exchange (IKE) algorithms used to encrypt and secure exchanges
between the peers during the Phase 2 process:
Server Info Version Identify the latest set of information maintained in the server.
Retransmission Period Number of seconds between a rekey transmission and the first retransmission
when there is no reply from the member.
Number of Retransmissions For unicast communications, the number of times the server retransmits rekey
messages to a member when there is no reply.
Group Key Push sequence Sequence number of the KEK SA groupkey-push message. This number is
number incremented with every groupkey-push message.
Sample Output
show security group-vpn server kek security-associations
user@host> show security group-vpn server kek security-associations
1560
Sample Output
show security group-vpn server kek security-associations detail
user@host> show security group-vpn server kek security-associations detail
show security group-vpn server registered-members <group group-name> <group-id group-id> <detail>
Release Information
Command introduced in Junos OS Release 10.2.
Description
Display currently registered group members. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
• none—Display all group members for all groups.
RELATED DOCUMENTATION
Output Fields
Table 122 on page 1562 lists the output fields for the show security group-vpn server
registered-memberscommand. Output fields are listed in the approximate order in which they appear.
1562
Last Update The last time that members registered or sent acknowledgements to the server.
Sample Output
show security group-vpn server registered-members
user@host> show security group-vpn server registered-members
Sample Output
show security group-vpn server registered-members detail
user@host> show security group-vpn server registered-members detail
Stats:
Pull Succeeded : 321
Pull Failed : 0
Push Sent : 0
Push Acknowledged : 0
Push Unacknowledged : 0
1564
show security group-vpn server server-cluster <brief> <detail> <group group-name> <group-id group-id>
<peer-gateway gateway-name>
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Show information about servers in the Group VPNv2 server cluster. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX
instances.
Options
none—Display Group VPNv2 server cluster information for all groups.
detail—(Optional) Display detailed output, including information about exchanges with peer servers in the
cluster.
group group-name—(Optional) Display Group VPNv2 server cluster information for the specified group
name.
group-id group-id—(Optional) Display Group VPNv2 server cluster information for the specified group
identifier.
peer-gateway gateway-name—(Optional) Display Group VPNv2 server cluster information for the specified
peer.
RELATED DOCUMENTATION
Output Fields
Table 123 on page 1565 lists the output fields for the show security group-vpn server server-cluster command.
Output fields are listed in the approximate order in which they appear.
Version Number 32-bit version number included in cluster-update exchanges and DPD
probes to support anti-replay. The first cluster-update message sent from
the root-server has version number 1. Subsequent cluster-update
messages increment the version number by one. (Retransmit messages
do not increment the version number.) Upon receipt of a cluster-update
message, the sub-server validates the received version number. The
received version number must be greater than the version number in the
last received message, otherwise the message is discarded. The sub-server
responds to a cluster-update message with an ACK message that contains
the same version number as the received message. Upon receipt of the
ACK message, the root-server checks that the version number is the same
as in the message it sent. If the version number is valid, the exchange is
considered successful. If the version number is not valid, the original
message is retransmitted or the exchange is considered failed.
Peer Gateway Name of the peer server in the Group VPNv2 server cluster.
Peer IP IP address of the remote peer server in the Group VPNv2 server cluster.
Role Role of the peer server in the Group VPNv2 server cluster.
Status Status of the peer server in the Group VPNv2 server cluster.
Sample Output
show security group-vpn server server-cluster
user@host> show security group-vpn server server-cluster
1566
CLUSTER-INIT send: 0
CLUSTER-INIT recv: 1
CLUSTER-INIT success: 1
CLUSTER-INIT fail: 0
CLUSTER-INIT dup: 0
CLUSTER-INIT abort: 0
CLUSTER-INIT timeout: 0
CLUSTER-UPDATE send: 1
CLUSTER-UPDATE recv: 0
CLUSTER-UPDATE success: 1
CLUSTER-UPDATE fail: 0
CLUSTER-UPDATE abort: 0
CLUSTER-UPDATE timeout: 0
CLUSTER-UPDATE pending: 0
CLUSTER-UPDATE max retry reached: 0
DPD send: 6
DPD send fail: 0
DPD ACK recv: 6
DPD ACK invalid seqno: 0
IPsec SA policy mismatch: 0
IPsec SA proposal mismatch: 0
KEK SA proposal mismatch: 0
1568
Release Information
Command introduced in Junos OS Release 15.1X49-D30 for vSRX.
Description
Show Group VPNv2 server statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, SRX4200, and SRX4600 devices and vSRX instances.
Options
none—Display Group VPNv2 server statistics for all groups.
group group-name—(Optional) Display Group VPNv2 server statistics for the specified group name.
group-id group-id—(Optional) Display Group VPNv2 server statistics for the specified group identifier.
RELATED DOCUMENTATION
Output Fields
Table 124 on page 1568 lists the output fields for the show security group-vpn server statistics command.
Output fields are listed in the approximate order in which they appear.
Table 124: show security group-vpn server statistics Output Fields (continued)
Sample Output
show security group-vpn server statistics
user@host> show security group-vpn server statistics
Release Information
Command introduced in Junos OS Release 10.4. Support to display dead peer detection (DPD) statistics
added in Junos OS Release 12.3X48-D10.
Description
Display the list of connected active users with details about the peer addresses and ports they are using.
Options
none—Display standard information about connected active users.
peer-address—(Optional) Display details about the user with the specified peer address.
aaa-username username—(Optional) Display information about the user with the specified authentication,
authorization, and accounting (AAA) username.
local-address —Display information about the user with the specified local gateway IP address.
local-ike-id—Display information about the user with the specified local gateway IKE ID.
1571
local-port port-number—Display information about users on the specified local gateway port number for
specified local gateway IP address.
fpc slot-number pic slot-number—(Optional) Display information about users on the specified Flexible PIC
Concentrator (FPC) slot and PIC slot.
ike-id IKE-ID—(Optional) Display information about the user with the specified IKE ID.
kmd-instance (all | kmd-instance-name)—(Optional) Display information about users in the key management
process (KMD) identified by FPC slot-number and PIC slot-number.
pic slot-number fpc slot-number—(Optional) Display information about users on the specified PIC slot and
FPC slot.
port port-number peer-address—(Optional) Display information about users on the specified port for the
specified peer address.
routing-instance —Display information about users on the specified local gateway routing instance.
stats—Display detailed output along with IKE SA stats information accumulated at the peer.
RELATED DOCUMENTATION
Output Fields
Table 125 on page 1572 lists the output fields for the show security ike active-peer command. Output fields
are listed in the approximate order in which they appear.
1572
Assigned network attributes Network attributes assigned to the peer can include the detail
IP address and netmask, and DNS and WINS server
addresses.
Active IKE SA indexes Index number of the SA associated with the peer. This detail
number is an internally generated number.
Sample Output
show security ike active-peer
user@host> show security ike active-peer
Release Information
Command introduced in Junos OS Release 11.4R3.
Description
Display debug status for currently enabled Internet Key Exchange (IKE) tracing.
RELATED DOCUMENTATION
Output Fields
Table 126 on page 1576 lists the output fields for the show security ike debug-status command. Output
fields are listed in the approximate order in which they appear.
Sample Output
show security ike debug-status
user@host> show security ike debug-status
Enabled
flag: all
level: 7
Local IP: 192.0.2.1, Remote IP: 203.0.113.2
1578
Release Information
Command introduced in Junos OS Release 8.5.
Description
Display the Internet Key Exchange (IKE) preshared key used by the Virtual Private network (VPN) gateway
to authenticate the remote access user.
Options
• master-key master-key —(Optional) Master preshared key.
RELATED DOCUMENTATION
Sample Output
show security ike pre-shared-key
user@host> show security ike pre-shared-key user-id [email protected] master-key example
Preshared Key:3b33ec3631a561ec5a710f5d02f208033b108bb4
1579
Release Information
Command introduced in Junos OS Release 8.5 . Support for the fpc, pic, and kmd-instance options added
in Junos OS Release 9.3. Support for the family option added in Junos OS Release 11.1. Support for Auto
Discovery VPN added in Junos OS Release 12.3X48-D10. Support for IKEv2 reauthentication added in
Junos OS Release 15.1X49-D60. Support for IKEv2 fragmentation added in Junos OS Release 15.1X49-D80.
Description
Display information about Internet Key Exchange security associations (IKE SAs).
Options
• none—Display standard information about existing IKE SAs, including index numbers.
• peer-address—(Optional) Display details about a particular SA based on the IPv4 or IPv6 address of the
destination peer. This option and index provide the same level of output.
• brief—(Optional) Display standard information about all existing IKE SAs. (Default)
• family—(Optional) Display IKE SAs by family. This option is used to filter the output.
• fpc slot-number—(Optional) Display information about existing IKE SAs in this Flexible PIC Concentrator
(FPC) slot. This option is used to filter the output.
1580
In a chassis cluster, when you execute the CLI command show security ike security-associations pic
<slot-number> fpc <slot-number> in operational mode, only the primary node information about the
existing IPsec SAs in the specified Flexible PIC Concentrator (FPC) slot and PIC slot is displayed.
• index SA-index-number—(Optional) Display information for a particular SA based on the index number
of the SA. For a particular SA, display the list of existing SAs by using the command with no options.
This option and peer-address provide the same level of output.
• kmd-instance —(Optional) Display information about existing IKE SAs in the key management process
(in this case, it is KMD) identified by FPC slot-number and PIC slot-number. This option is used to filter
the output.
• pic slot-number —(Optional) Display information about existing IKE SAs in this PIC slot. This option is
used to filter the output.
• sa-type—(Optional for ADVPN) Type of SA. shortcut is the only option for this release.
RELATED DOCUMENTATION
Output Fields
Table 127 on page 1581 lists the output fields for the show security ike security-associations command.
Output fields are listed in the approximate order in which they appear.
IKE Peer or Remote Address IP address of the destination peer with which the local peer communicates.
Index Index number of an SA. This number is an internally generated number you can
use to display information about a single SA.
Role Part played in the IKE session. The device triggering the IKE negotiation is the
initiator, and the device accepting the first IKE exchange packets is the responder.
Initiator cookie Random number, called a cookie, which is sent to the remote node when the IKE
negotiation is triggered.
Responder cookie Random number generated by the remote node and sent back to the initiator as
a verification that the packets were received.
Exchange type Negotiation method agreed on by the two IPsec endpoints, or peers, used to
exchange information between one another. Each exchange type or mode
determines the number of messages and the payload types that are contained in
each message. The modes are:
• main—The exchange is done with six messages. This mode encrypts the payload,
protecting the identity of the neighbor.
• aggressive—The exchange is done with three messages. This mode does not
encrypt the payload, leaving the identity of the neighbor unprotected.
IKEv2 protocol does not use the mode configuration for negotiation. Therefore,
the mode displays the version number of the security association.
Authentication method Method used to authenticate the source of IKE messages, which can be either
Pre-shared-keys or digital certificates, such as DSA-signatures,
ECDSA-signatures-256, ECDSA-signatures-384, or RSA-signatures.
Reauth Lifetime When enabled, number of seconds remaining until reauthentication triggers a new
IKEv2 SA negotiation.
IKE Fragmentation Enabled means that both the IKEv2 initiator and responder support message
fragmentation and have negotiated the support during the IKE_SA_INIT message
exchange.
Algorithms IKE algorithms used to encrypt and secure exchanges between the peers during
the IPsec Phase 2 process:
Flags Notification to the key management process of the status of the IKE negotiation:
Phase 2 negotiations in progress Number of Phase 2 IKE negotiations in progress and status information:
IPsec Tunnel IDs Indicates the list of child IPsec tunnel IDs
Sample Output
show security ike security-associations (IPv4)
user@host> show security ike security-associations
show security ike security-associations detail (SRX300, SRX320, SRX340, SRX345, and SRX550HM
Devices)
user@host> show security ike security-associations detail
show security ike security-associations detail (SRX5400, SRX5600, and SRX5800 Devices)
user@host> show security ike security-associations detail
The show security ike stats topic lists the output fields for the show security ike security-associations
detail command.
1588
node0:
-
IKE peer 192.168.1.2, Index 222075191, Gateway Name: ZTH_HUB_GW
Location: FPC 0, PIC 3, KMD-Instance 2
Auto Discovery VPN:
Type: Static, Local Capability: Suggester, Peer Capability: Partner
Suggester Shortcut Suggestions Statistics:
Suggestions sent : 2
Suggestions accepted: 4
1589
Suggestions declined: 1
Role: Responder, State: UP
Initiator cookie: 7b996b4c310d2424, Responder cookie: 5724c5882a212157
Exchange type: IKEv2, Authentication method: RSA-signatures
Local: 192.168.1.1:500, Remote: 192.168.1.2:500
Lifetime: Expires in 828 seconds
Peer ike-id: C=US, DC=example, ST=CA, L=Sunnyvale, O=example, OU=engineering,
CN=cssvk36-d
Xauth user-name: not available
Xauth assigned IP: 0.0.0.0
Algorithms:
Authentication : hmac-sha1-96
Encryption : aes256-cbc
Pseudo random function: hmac-sha1
Diffie-Hellman group : DH-group-5
Traffic statistics:
Input bytes : 20474
Output bytes : 21091
Input packets: 237
Output packets: 237
IPSec security associations: 2 created, 0 deleted
Phase 2 negotiations in progress: 1
show security ike security-associations fpc 6 pic 1 kmd-instance all (SRX Series Devices)
user@host> show security ike security-associations fpc 6 pic 1 kmd-instance all
Authentication : hmac-sha1-96
Encryption : aes128-cbc
Pseudo random function: hmac-sha1
Diffie-Hellman group : DH-group-2
Traffic statistics:
Input bytes : 1782
Output bytes : 1743
Input packets: 2
Release Information
Command introduced in Junos OS Release 19.4R1.
CLI options brief and detail are introduced in Junos OS Release 20.1R1.
Description
Display information about global IKE (Internet Key Exchange) statistics for the tunnels such as in-progress,
established, and expired negotiations using IKEv2 on your SRX5000 Series devices with SRX5K-SPC3
card.
Options
Default: brief
Displays tunnel count statistics and non-zero counters of the global IKE statistics.
detail
RELATED DOCUMENTATION
Output Fields
Table 128 on page 1595 lists the output fields of total IKE SA and tunnel count statistics. Table 129 on page 1596
lists the output fields of IKE_SA_INIT, IKE_AUTH, IKE SA Rekey CREATE_CHILD_SA, IPsec SA Rekey
CREATE_CHILD_SA exchanges statistics. Table 130 on page 1599 lists total IKE message failure statistics
for the show security ike stats command. Output fields are listed in the approximate order in which they
appear.
1595
Field Description for Output Fields of Field Description for Output Fields of
Field Name Initiator Statistics Responder Statistics
Field Description for Output Fields of Field Description for Output Fields of
Field Name Initiator Statistics Responder Statistics
Field Description for Output Fields of Field Description for Output Fields of
Field Name Initiator Statistics Responder Statistics
IKE SA Rekey • Request Out—Number of IKE SA rekey • Request In—Number of IKE SA rekey
CREATE_CHILD_SA CREATE_CHILD_SA request message sent CREATE_CHILD_SA request message
exchange stats by initiator. received by responder.
• Response In—Number of IKE SA rekey • Response Out—Number of IKE SA rekey
CREATE_CHILD_SA response message CREATE_CHILD_SA response message sent
received by initiator. by responder.
• No Proposal Chosen In—Number of IKE SA • No Proposal Chosen Out—Number of IKE
rekey CREATE_CHILD_SA SA rekey CREATE_CHILD_SA
NO_PROPSAL_CHOSEN notification NO_PROPSAL_CHOSEN notification
message received by initiator. message sent by responder.
• Invalid KE In—Number of IKE SA rekey • Invalid KE Out—Number of IKE SA rekey
CREATE_CHILD_SA CREATE_CHILD_SA INVALID_KE_PAYLOAD
INVALID_KE_PAYLOAD notification notification message sent by responder.
message received by initiator. • Res DH Compute Key Fail—Number of IKE
• Res DH Compute Key Fail—Number of IKE SA rekey CREATE_CHILD_SA response
SA rekey CREATE_CHILD_SA response message processing failed during
message processing failed during verification Diffie-Hellman compute key at responder.
of Diffie-Hellman compute key at initiator.
• Res Verify SA Fail—Number of IKE SA rekey
CREATE_CHILD_SA response message
processing failed during verification of peer
SA failed at initiator.
• Res Fill IKE SA Fail—Number of IKE SA rekey
CREATE_CHILD_SA response message
processing failed during IKE SA fill operation
at initiator.
• Res Verify DH Group Fail—Number of IKE
SA rekey CREATE_CHILD_SA response
message processing failed during verification
of Diffie-Hellman group at initiator.
1599
Field Description for Output Fields of Field Description for Output Fields of
Field Name Initiator Statistics Responder Statistics
IPsec SA Rekey • Request Out—Number of IPsec SA rekey • Request In—Number of IPsec SA rekey
CREATE_CHILD_SA CREATE_CHILD_SA request message sent CREATE_CHILD_SA request message
exchange stats by initiator. received by responder.
• Response In—Number of IPsec SA rekey • Response Out—Number of IPsec SA rekey
CREATE_CHILD_SA response message CREATE_CHILD_SA response message sent
received by initiator. by responder.
• No Proposal Chosen In—Number of IPsec • No Proposal Chosen Out—Number of IPsec
SA rekey CREATE_CHILD_SA SA rekey CREATE_CHILD_SA
NO_PROPSAL_CHOSEN notification NO_PROPSAL_CHOSEN notification
message received by initiator. message sent by responder.
• Invalid KE In—Number of IPsec SA rekey • Invalid KE Out—Number of IPsec SA rekey
CREATE_CHILD_SA CREATE_CHILD_SA INVALID_KE_PAYLOAD
INVALID_KE_PAYLOAD notification notification message sent by responder.
message received by initiator. • TS Unacceptable Out—Number of IPsec SA
• TS Unacceptable In—Number of IPsec SA rekey CREATE_CHILD_SA
rekey CREATE_CHILD_SA TS_UNACCEPTABLE notification message
TS_UNACCEPTABLE notification message sent by responder.
received by initiator. • Res DH Compute Key Fail—Number of IPsec
• Res DH Compute Key Fail—Number of IPsec SA rekey CREATE_CHILD_SA response
SA rekey CREATE_CHILD_SA response message processing failed during
message processing failed during verification Diffie-Hellman compute key at responder.
of Diffie-Hellman compute key at initiator.
• Res Verify SA Fail—Number of IPsec SA
rekey CREATE_CHILD_SA response message
processing failed during verification of peer
SA at initiator.
• Res Verify DH Group Fail—Number of IPsec
SA rekey CREATE_CHILD_SA response
message processing failed during verification
of Diffie-Hellman group at initiator.
• Res Verify TS Fail—Number of IPsec SA
rekey CREATE_CHILD_SA response message
processing failed during verification of TS at
initiator.
Integrity fail The total number of messages with integrity check failure.
Invalid exchange type The total number of messages with invalid exchange type failure.
Invalid SPI The total number of messages with invalid SPI failure.
Invalid length The total number of messages with invalid length failure.
Sample Output
show security ike stats brief
user@host> show security ike stats brief
Sample Output
show security ike stats detail
user@host> show security ike stats detail
show security ike tunnel-map (<brief | summary>) <fpc slot-number> <kmd-instance (all | kmd-instance-name)> <pic
slot-number>
Release Information
Command introduced in Junos OS Release 12.1X44-D10.
Description
Display the tunnel mapping on different Services Processing Units (SPUs) for site-to-site and manual VPNs.
You can insert an SPC on a device in a chassis cluster without disrupting traffic on the existing VPN tunnels.
After inserting the SPC, you can view the tunnel mapping using this command. This feature is supported
only on SRX5400, SRX5600, and SRX5800 devices and vSRX instances.
Options
brief—Display standard information about all existing IKE SAs. This is the default.
fpc slot-number—Display information about existing IKE SAs in the specified Flexible PIC Concentrator
(FPC) slot.
kmd-instance (all | kmd-instance-name)—(Optional) Display information about existing IKE SAs in the key
management process ( KMD) identified by FPC slot-number and PIC slot-number. This option is used
to filter the output. You can specify one of the following options:
pic slot-number—Display information about existing IKE SAs in the specified PIC slot.
summary—Display the tunnel-mapping load on each SPU. The load is the number of times an SPU has
been chosen as an anchor SPU. For site-to-site VPNs, the load should be equal to the number of
gateways mapped to an SPU.
RELATED DOCUMENTATION
Output Fields
Table 131 on page 1604 lists the output fields for the show security ike tunnel-map command. Output fields
are listed in the approximate order in which they appear.
SPU Load Number of times an SPU has been chosen as an anchor SPU.
Sample Output
show security ike tunnel-map
user@host> show security ike tunnel-map
Release Information
Command introduced in Junos OS Release 12.1X46-D20.
Description
Display information about manual IPsec security associations (SAs) applied to OSPF or OSPFv3 interfaces
or virtual links.
Options
• brief | detail—(Optional) Display the specified level of output.
RELATED DOCUMENTATION
Output Fields
Table 132 on page 1607 lists the output fields for the show security ipsec control-plane-security-associations
command. Output fields are listed in the approximate order in which they appear.
Total active security-associations Total number of active manual SAs for application to OSPF or OSPFv3
interfaces or virtual links.
Sample Output
show security ipsec control-plane-security-associations
user@host> show security ipsec control-plane-security-associations
Release Information
Command introduced in Junos OS Release 11.4R3. Support for Auto Discovery VPN added in Junos OS
Release 12.3X48-D10.
Description
Display security information about the inactive tunnel.
Options
• none—Display information about all inactive tunnels.
• family—(Optional) Display the inactive tunnel by family. This option is used to filter the output.
• fpc slot-number—(Optional) Display information about inactive tunnels in the Flexible PIC Concentrator
(FPC) slot.
• index index-number—(Optional) Display detailed information about the specified inactive tunnel identified
by this index number. For a list of all inactive tunnels with their index numbers, use the command with
no options.
• kmd-instance —(Optional) Display information about inactive tunnels in the key management process
(in this case, it is KMD) identified by FPC slot-number and PIC slot-number.
• sa-type—(Optional for ADVPN) Type of SA. shortcut is the only option for this release.
The fpc slot-number, kmd-instance (all | kmd-instance-name), and pic slot-number parameters apply to
SRX5600 and SRX5800 devices only.
RELATED DOCUMENTATION
Output Fields
Table 133 on page 1611 lists the output fields for the show security ipsec inactive-tunnels command. Output
fields are listed in the approximate order in which they appear.
Total inactive tunnels which Total number of inactive IPsec tunnels that can establish a session immediately.
establish immediately
ID Identification number of the inactive tunnel. You can use this number to get more
information about the inactive tunnel.
Port If Network Address Translation (NAT) is used, this value is 4500. Otherwise, it is
the standard IKE port, 500.
Local identity Identity of the local peer so that its partner destination gateway can communicate
with it. The value is specified as an IP address, fully qualified domain name, e-mail
address, or distinguished name (DN).
Tunnel events Tunnel event and the number of times the event has occurred. See Tunnel Events
for descriptions of tunnel events and the action you can take.
Sample Output
show security ipsec inactive-tunnels
user@host> show security ipsec inactive-tunnels
Release Information
Command introduced in Junos OS Release 8.5.
The family inet6 option is introduced in Junos OS Release 18.1R1.
Description
Display security information about the secure tunnel interface.
Options
family—Display IPSec next-hop-tunnel entries by family.
RELATED DOCUMENTATION
Output Fields
1615
Table 134 on page 1615 lists the output fields for the show security ipsec next-hop-tunnels command.
Output fields are listed in the approximate order in which they appear.
Sample Output
show security ipsec next-hop-tunnels family inet
user@host> show security ipsec next-hop-tunnels inet
Release Information
Command introduced in Junos OS Release 8.5. Support for the family option added in Junos OS Release
11.1. Support for the vpn-name option added in Junos OS Release 11.4R3. Support for the traffic-selector
option and traffic selector field added in Junos OS Release 12.1X46-D10. Support for Auto Discovery
VPN (ADVPN) added in Junos OS Release 12.3X48-D10. Support for IPsec datapath verification added
in Junos OS Release 15.1X49-D70. Support for thread anchorship added in Junos OS Release 17.4R1.
Starting in Junos OS Release 18.2R2 the show security ipsec security-assocations detail command output
will include thread anchorship information for the security associations (SAs).
Starting in Junos OS Release 19.4R1, we have deprecated the CLI option fc-name (COS Forward Class
name) in the new iked process that displays the security associations (SAs) under show command show
security ipsec sa.
Description
Display information about the IPsec security associations (SAs).
Options
none—Display information about all SAs.
brief | detail—(Optional) Display the specified level of output. The default is brief.
family—(Optional) Display SAs by family. This option is used to filter the output.
fpc slot-number pic slot-number—(Optional) Display information about existing IPsec SAs in the specified
Flexible PIC Concentrator (FPC) slot and PIC slot.
1617
In a chassis cluster, when you execute the CLI command show security ipsec security-associations
pic <slot-number> fpc <slot-number> in operational mode, only the primary node information about
the existing IPsec SAs in the specified Flexible PIC Concentrator (FPC) slot and PIC slot is displayed.
index SA-index-number—(Optional) Display detailed information about the specified SA identified by this
index number. To obtain a list of all SAs that includes their index numbers, use the command with no
options.
kmd-instance—(Optional) Display information about existing IPsec SAs in the key management process
(in this case, it is KMD) identified by the FPC slot-number and PIC slot-number.
pic slot-number fpc slot-number—(Optional) Display information about existing IPsec SAs in the specified
PIC slot and FPC slot.
sa-type—(Optional for ADVPN) Display information for the specified type of SA. shortcut is the only option
for this release.
RELATED DOCUMENTATION
show security ipsec security-associations fpc 6 pic 1 kmd-instance all (SRX Series Devices) on page 1634
show security ipsec security-associations detail (ADVPN Suggester, Static Tunnel) on page 1635
show security ipsec security-associations detail (ADVPN Partner, Static Tunnel) on page 1636
show security ipsec security-associations sa-type shortcut (ADVPN) on page 1637
show security ipsec security-associations sa-type shortcut detail (ADVPN) on page 1637
show security ipsec security-associations family inet detail on page 1638
show security ipsec security-associations detail (SRX4600) on page 1639
Output Fields
Table 135 on page 1618 lists the output fields for the show security ipsec security-associations command,
Table 136 on page 1623 lists the output fields for the show security ipsec sa command and
Table 137 on page 1623. lists the output fields for the show security ipsec sa detail. Output fields are listed
in the approximate order in which they appear.
ID Index number of the SA. You can use this All levels
number to get additional information about the
SA.
Life: sec/kb The lifetime of the SA, after which it expires, brief
expressed either in seconds or kilobytes.
1619
Local identity Identity of the local peer so that its partner detail
destination gateway can communicate with it.
The value is specified as an IP address, fully
qualified domain name, e-mail address, or
distinguished name (DN).
Tunnel events Tunnel event and the number of times the detail
event has occurred. See Tunnel Events for
descriptions of tunnel events and the action
you can take.
• transport—Protects host-to-host
connections.
• tunnel—Protects connections between
security gateways.
1621
Soft lifetime The soft lifetime informs the IPsec key detail
management system that the SA is about to
expire.
Hard lifetime The hard lifetime specifies the lifetime of the detail
SA.
Lifesize Remaining The lifesize remaining specifies the usage limits detail
in kilobytes. If there is no lifesize specified, it
shows unlimited.
ID Index number of the SA. You can use this number to get additional information
about the SA.
Algorithm Cryptography used to secure exchanges between peers during the IKE Phase 2
negotiations includes:
Life:sec/kb The lifetime of the SA, after which it expires, expressed either in seconds or
kilobytes.
Mon The Mon field refers to VPN monitoring status. If VPN monitoring is enabled,
then this field displays U (up) or D (down). A hyphen (-) means VPN monitoring
is not enabled for this SA. A V means that IPSec datapath verification is in
progress.
Port If Network Address Translation (NAT) is used, this value is 4500. Otherwise, it
is the standard IKE port, 500.
ID Index number of the SA. You can use this number to get additional information
about the SA.
Local Identity Identity of the local peer so that its partner destination gateway can communicate
with it. The value is specified as an IP address, fully qualified domain name, e-mail
address, or distinguished name (DN).
Tunnel Events
VPN Monitoring If VPN monitoring is enabled, then the Mon field displays U (up) or D (down). A
hyphen (-) means VPN monitoring is not enabled for this SA. A V means that
IPsec datapath verification is in progress.
Hard lifetime The hard lifetime specifies the lifetime of the SA.
Lifesize Remaining The lifesize remaining specifies the usage limits in kilobytes. If there is no lifesize
specified, it shows unlimited.
1625
Soft lifetime The soft lifetime informs the IPsec key management system that the SA is about
to expire. Each lifetime of an SA has two display options, hard and soft, one of
which must be present for a dynamic SA. This allows the key management system
to negotiate a new SA before the hard lifetime expires.
• manual - Security parameters require no negotiation. They are static and are
configured by the user.
• dynamic - Security parameters are negotiated by the IKE protocol. Dynamic
SAs are not supported in transport mode.
Anti-replay service State of the service that prevents packets from being replayed. It can be Enabled
or Disabled.
Replay window size Configured size of the antireplay service window. It can be 32 or 64 packets. If
the replay window size is 0, the antireplay service is disabled.
The antireplay window size protects the receiver against replay attacks by
rejecting old or duplicate packets.
1626
Sample Output
For brevity, the show command outputs does not display all the values of the configuration. Only a subset
of the configuration is displayed. Rest of the configuration on the system has been replaced with ellipses
(...).
Version: IKEv2
DF-bit: clear, Copy-Outer-DSCP Disabled, Bind-interface: st0.0, Policy-name:
IPSEC_POL
Port: 500, Nego#: 0, Fail#: 0, Def-Del#: 0 Flag: 0
Multi-sa, Configured SAs# 0, Negotiated SAs#: 0
Location: FPC 0, PIC 1, KMD-Instance 0
Anchorship: Thread 10
Direction: inbound, SPI: 0x835b8b42, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 1639 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 1257 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (128 bits)
Anti-replay service: counter-based enabled, Replay window size: 64
Direction: outbound, SPI: 0x071b8cd2, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 1639 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 1257 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (128 bits)
Anti-replay service: counter-based enabled, Replay window size: 64
(2 times)
Mon Apr 23 2018 22:19:23 -0700: Tunnel is ready. Waiting for trigger event or
peer to trigger negotiation (1 times)
Mon Apr 23 2018 22:19:23 -0700: Bind-interface's zone received. Information
updated (1 times)
Mon Apr 23 2018 22:19:23 -0700: External interface's zone received. Information
updated (1 times)
Direction: inbound, SPI: 2d8e710b, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 1930 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 1563 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha-256, Encryption: aes256-cbc
Anti-replay service: counter-based enabled, Replay window size: 64
Multi-sa FC Name: default
Direction: outbound, SPI: 5f3a3239, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 1930 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 1563 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha-256, Encryption: aes-256-cbc
Anti-replay service: counter-based enabled, Replay window size: 64
Multi-sa FC Name: default
Direction: inbound, SPI: 5d227e19, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 1930 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 1551 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha-256, Encryption: aes-256-cbc
Anti-replay service: counter-based enabled, Replay window size: 64
Multi-sa FC Name: best-effort
Direction: outbound, SPI: 5490da, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 1930 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 1551 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha-256, Encryption: aes-256-cbc
Anti-replay service: counter-based enabled, Replay window size: 64
...
1631
Starting with Junos OS Release 18.2R1, the CLI show security ipsec security-associations index
index-number detail output displays all the child SA details including forwarding class name.
Starting with Junos OS Release 19.1R1, a new field tunnel-establishment in the output of the CLI show
security ipsec sa detail displays the option configured under ipsec vpn establish-tunnels hierarchy.
...
Extended-Sequence-Number: Disabled
tunnel-establishment: establish-tunnels-on-traffic
Virtual-system: root
Local Gateway: 2001:db8:1212::1111, Remote Gateway: 2001:db8:1212::1112
Local Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
Remote Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0)
DF-bit: clear
Direction: inbound, SPI: 14caf1d9, AUX-SPI: 0
, VPN Monitoring: -
Hard lifetime: Expires in 3440 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2813 seconds
Mode: tunnel, Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha-256, Encryption: aes256-cbc
Anti-replay service: counter-based enabled, Replay window size: 64
show security ipsec security-associations fpc 6 pic 1 kmd-instance all (SRX Series Devices)
user@host> show security ipsec security-associations fpc 6 pic 1 kmd-instance all
node0:
--------------------------------------------------------------------------
Fri Oct 30 2015 11:38:35 -0700: IKE SA negotiation successfully completed (12
times)
Mon Oct 26 2015 16:41:07 -0700: IPSec SA negotiation successfully completed (1
times)
Mon Oct 26 2015 16:40:56 -0700: Tunnel is ready. Waiting for trigger event or
peer to trigger negotiation (1 times)
Mon Oct 26 2015 16:40:56 -0700: External interface's address received. Information
updated (1 times)
Location: FPC 0, PIC 1, KMD-Instance 1
Direction: inbound, SPI: 81b9fc17, AUX-SPI: 0
Hard lifetime: Expires in 1713 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 1090 seconds
Mode: Tunnel(0 0), Type: dynamic, State: installed
Protocol: ESP, Authentication: hmac-sha-256, Encryption: aes256-cbc (256 bits)
Anti-replay service: counter-based enabled
1639
Release Information
Command introduced in Junos OS Release 8.5. fpc and pic options added in Junos OS Release 9.3.
Description
Display standard IPsec statistics.
Options
• none—Display statistics about all IPsec security associations (SAs).
• fpc slot-number —Specific to SRX Series devices. Display statistics about existing IPsec SAs in this Flexible
PIC Concentrator (FPC) slot. This option is used to filter the output.
• index SA-index-number —(Optional) Display statistics for the SA with this index number.
• pic slot-number —Specific to SRX Series devices. Display statistics about existing IPsec SAs in this PIC
slot. This option is used to filter the output.
RELATED DOCUMENTATION
Output Fields
Table 138 on page 1642 lists the output fields for the show security ipsec statistics command. Output fields
are listed in the approximate order in which they appear.
1642
ESP Statistics • Encrypted bytes—Total number of bytes encrypted by the local system across
the IPsec tunnel.
• Decrypted bytes—Total number of bytes decrypted by the local system across
the IPsec tunnel.
• Encrypted packets—Total number of packets encrypted by the local system
across the IPsec tunnel.
• Decrypted packets—Total number of packets decrypted by the local system
across the IPsec tunnel.
AH Statistics • Input bytes—Total number of bytes received by the local system across the
IPsec tunnel.
• Output bytes—Total number of bytes transmitted by the local system across
the IPsec tunnel.
• Input packets—Total number of packets received by the local system across the
IPsec tunnel.
• Output packets—Total number of packets transmitted by the local system across
the IPsec tunnel.
Sample Output
show security ipsec statistics
user@host> show security ipsec statistics
Virtual-system: Root
ESP Statistics:
Encrypted bytes: 0
Decrypted bytes: 0
Encrypted packets: 0
Decrypted packets: 0
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
ESP authentication failures: 0, ESP decryption failures: 0
Bad headers: 0, Bad trailers: 0
Invalid SPI: 0, TS check fail: 0
Discarded: 0
Sample Output
show security ipsec statistics index 131073
user@host> show security ipsec statistics index 131073
ESP Statistics:
Encrypted bytes: 952
Decrypted bytes: 588
Encrypted packets: 7
Decrypted packets: 7
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
1644
custom_q1 0 0 0 0
custom_q2 0 0 0 0
network-control 0 0 0 0
custom_q4 0 0 0 0
custom_q5 0 0 0 0
custom_q6 0 0 0 0
custom_q7 0 0 0 0
default 0 0 0 0
Starting with Junos OS Release 18.2R1, the CLI show security ipsec statistics index 131073 index-number
output displays statistics for each forwarding class name.
Sample Output
show security ipsec statistics fpc 6 pic 1 (SRX Series devices)
user@host> show security ipsec statistics fpc 6 pic 1
ESP Statistics:
Encrypted bytes: 536408
Decrypted bytes: 696696
Encrypted packets: 1246
Decrypted packets: 888
AH Statistics:
Input bytes: 0
Output bytes: 0
Input packets: 0
1645
Output packets: 0
Errors:
AH authentication failures: 0, Replay errors: 0
ESP authentication failures: 0, ESP decryption failures: 0
Bad headers: 0, Bad trailers: 0
Invalid SPI: 0, TS check fail: 0
Discarded: 0
1646
Release Information
Command introduced in Junos OS Release 12.3X48-D10.
Description
Display information about the traffic selectors that have been negotiated between the initiator and
responder.
Options
interface-name interface-name—Name of the secure tunnel logical interface.
brief | detail—(Optional) Display the specified level of output. The default is brief.
fpc slot-number pic slot-number—(Optional) Display information about existing traffic selectors on the
specified Flexible PIC Concentrator (FPC) slot and PIC slot.
kmd-instance—(Optional) Display information about existing traffic selectors in the key management
process (in this case, it is KMD) identified by FPC slot-number and PIC slot-number. This option is
used to filter the output.
pic slot-number fpc slot-number—(Optional) Display information about existing traffic selectors on the
specified PIC slot and FPC slot.
RELATED DOCUMENTATION
Output Fields
Table 139 on page 1647 lists the output fields for the show security ipsec traffic-selector command. Output
fields are listed in the approximate order in which they appear.
Interface Secure tunnel (st0) interface for the traffic selector. All levels
IKE-ID Peer IKE ID for the negotiated traffic selector. All levels
Source IP Source IP address for the negotiated traffic selector. All levels
Destination IP Destination IP address for the negotiated traffic selector. All levels
Sample Output
show security ipsec traffic-selector interface-name st0.1 detail
user@host> show security ipsec traffic-selector interface-name st0.1 detail
Release Information
Command introduced in Junos OS Release 17.4R1 for SRX4600 devices.
Command introduced in Junos OS Release 18.2R2 for SRX5400, SRX5600, and SRX5800 devices.
Command introduced in Junos OS Release 19.4R1 for vSRX instances.
Description
Display the number of IPsec VPN tunnels that are anchored in each thread. An IPsec tunnel session is
assigned an anchor thread, based on the load during the tunnel session installation. When a new tunnel
session is created, the least loaded thread is chosen to anchor the new tunnel. When the tunnel is deleted,
the anchor mapping is removed from the control plane.
Tunnel distribution across different Services Processing Unit (SPU) or equivalent is based on the number
of tunnels and not on throughput in each tunnel. Tunnels anchored in a SPU are not transferred to a
different SPU or equivalent during SPU failure.
The distribution profile shows any assigned IPSec distribution profile without any distribution profiles
assigned to a vpn object. This tab shows default_profiile, else the associated profile is displayed.
Options
none—Display thread information about all active tunnels.
RELATED DOCUMENTATION
Output Fields
Table 140 on page 1649 lists the output fields for the show security ipsec tunnel-distribution command.
Output fields are listed in the approximate order in which they appear.
Sample Output
show security ipsec tunnel-distribution
user@host> show security ipsec tunnel-distribution
500006 0 1 4
500012 0 1 8
500009 0 1 6
500002 0 1 1
500005 0 1 3
500008 0 1 5
500003 0 1 2
500011 0 1 7
0 0 1 9
0 0 1 10
0 0 1 11
0 0 1 12
0 0 1 13
0 0 1 15
0 0 1 16
0 0 1 17
0 0 1 18
0 0 1 19
0 0 1 20
0 0 1 21
0 0 1 22
0 0 1 23
0 0 1 24
0 0 1 25
0 0 1 26
0 0 1 27
1653
Release Information
Command introduced in Junos OS Release 12.3X48-D10.
Starting with Junos OS Release 15.1X49-D120, you can configure the CLI option
reject-duplicate-connection at the [edit security ike gateway gateway-name dynamic] hierarchy level to
retain an existing tunnel session and reject negotiation requests for a new tunnel with the same IKE ID.
By default, an existing tunnel is tear down when a new tunnel with the same IKE ID is established. The
reject-duplicate-connection option is only supported when ike-user-type group-ike-id or ike-user-type
shared-ike-id is configured for the IKE gateway; the aaa access-profile profile-name configuration is not
supported with this option.
Use the CLI option reject-duplicate-connection only when you are certain that reestablishment of a new
tunnel with the same IKE ID should be rejected.
Description
Show tunnel event statistics.
RELATED DOCUMENTATION
Sample Output
show security ipsec tunnel-events statistics
user@host> show security ipsec tunnel-events statistics
Release Information
Command modified in Junos OS Release 8.5. Subject string output field added in Junos OS Release
12.1X44-D10. Policy identifier output field added in Junos OS Release 12.3X48-D10.
Description
Display information about the certificate authority (CA) public key infrastructure (PKI) digital certificates
configured on the device.
The FIPS image does not permit the use of MD5 fingerprints. Therefore, MD5 fingerprints are not included
when a certificate is displayed using this command. The SHA-1 fingerprint that is currently displayed is
retained in the FIPS image. The Simple Certificate Enrollment Protocol (SCEP) is disabled in the FIPS image.
Options
• none—Display basic information about all configured CA certificates.
• ca-profile ca-profile-name- (Optional) Display information about only the specified CA certificate.
RELATED DOCUMENTATION
Output Fields
Table 141 on page 1656 lists the output fields for the show security pki ca-certificate command. Output
fields are listed in the approximate order in which they appear.
1656
Issuer Authority that issued the digital certificate, including details of the authority
organized using the distinguished name format. Possible subfields are:
• Organization—Organization of origin.
• Organizational unit—Department within an organization.
• Country—Country of origin.
• Locality—Locality of origin.
• Common name—Name of the authority.
Subject Details of the digital certificate holder organized using the distinguished name
format. Possible subfields are:
• Organization—Organization of origin.
• Organizational unit—Department within an organization.
• Country—Country of origin.
• Locality—Locality of origin.
• Common name—Name of the authority.
If the certificate contains multiple subfield entries, all entries are displayed.
Validity Time period when the digital certificate is valid. Values are:
Public key algorithm Encryption algorithm used with the private key, such as rsaEncryption(1024 bits).
Signature algorithm Encryption algorithm that the CA used to sign the digital certificate, such as
sha1WithRSAEncryption.
Use for key Use of the public key, such as Certificate signing, CRL signing, Digital signature,
or Data encipherment.
1657
Fingerprint Secure Hash Algorithm (SHA1) and Message Digest 5 (MD5) hashes used to
identify the digital certificate.
Distribution CRL Distinguished name information and the URL for the certificate revocation list
(CRL) server.
Sample Output
show security pki ca-certificate ca-profile RootCA brief
user@host> show security pki ca-certificate ca-profile RootCA brief
Sample Output
show security pki ca-certificate ca-profile RootCA detail
user@host> show security pki ca-certificate ca-profile RootCA detail
Sample Output
show security pki ca-certificate ca-profile ca-tmp detail
user@host> show security pki ca-certificate ca-profile ca-tmp detail
30:81:89:02:81:81:00:cb:fd:78:0c:be:87:ac:cd:c0:33:66:a3:18
9e:fd:40:b7:9b:bc:dc:66:ff:08:45:f7:7e:fe:8e:d6:32:f8:5b:75
db:76:f0:4d:21:9a:6e:4f:04:21:4c:7e:08:a1:f9:3d:ac:8b:90:76
44:7b:c4:e9:9b:93:80:2a:64:83:6e:6a:cd:d8:d4:23:dd:ce:cb:3b
b5:ea:da:2b:40:8d:ad:a9:4d:97:58:cf:60:af:82:94:30:47:b7:7d
88:c3:76:c0:97:b4:6a:59:7e:f7:86:5d:d8:1f:af:fb:72:f1:b8:5c
2a:35:1e:a7:9e:14:51:d4:19:ae:c7:5c:65:ea:f5:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Certificate Policy:
Policy Identifier = 2.16.840.1.101.3.1.48.2
Use for key: CRL signing, Certificate signing
Fingerprint:
e0:b3:2f:2e:a1:c5:ee:ad:af:dd:96:85:f6:78:24:c5:89:ed:39:40 (sha1)
f3:47:6e:55:bc:9d:80:39:5a:40:70:8b:10:0e:93:c5 (md5)
1660
Release Information
Command modified in Junos OS Release 8.5.
Description
Display information about manually generated local digital certificate requests that are stored on the
device.
Options
• none—Display basic information about all local digital certificate requests.
• certificate-id certificate-id-name —(Optional) Display information about only the specified local digital
certificate requests.
RELATED DOCUMENTATION
Output Fields
Table 142 on page 1660 lists the output fields for the show security pki certificate-request command. Output
fields are listed in the approximate order in which they appear.
Subject Details of the digital certificate holder organized using the distinguished name
format. Possible subfields are:
• Organization—Organization of origin.
• Organizational unit—Department within an organization.
• Country—Country of origin.
• Locality—Locality of origin.
• Common name—Name of the authority.
Alternate subject Domain name or IP address of the device related to the digital certificate.
Public key algorithm Encryption algorithm used with the private key, such as rsaEncryption(1024 bits).
Public key verification status Public key verification status: Failed or Passed. The detail output also provides
the verification hash.
Fingerprint Secure Hash Algorithm (SHA1) and Message Digest 5 (MD5) hashes used to
identify the digital certificate.
Use for key Use of the public key, such as Certificate signing, CRL signing, Digital signature,
or Data encipherment.
Sample Output
show security pki certificate-request certificate-id user brief
user@host> show security pki certificate-request certificate-id hassan brief
Sample Output
show security pki certificate-request certificate-id user detail
user@host> show security pki certificate-request certificate-id hassan detail
Release Information
Command modified in Junos OS Release 8.5.
Description
Display information about the certificate revocation lists (CRLs) configured on the device.
Options
• none—Display basic information about all CRLs.
• ca-profile ca-profile-name- (Optional) Display information about only the specified CA profile.
RELATED DOCUMENTATION
Output Fields
Table 143 on page 1663 lists the output fields for the show security pki crl command. Output fields are listed
in the approximate order in which they appear.
CRL issuer Authority that issued the digital certificate, including details of the authority
organized using the distinguished name format. Possible subfields are:
Effective date Date and time the certificate revocation list becomes valid.
Next update Date and time the routing platform will download the latest version of the
certificate revocation list.
Revocation List List of digital certificates that have been revoked before their expiration date.
Values are:
Sample Output
show security pki crl ca-profile ca2
user@host> show security pki crl ca-profile ca2
CA profile: ca2
CRL version: V00000001
CRL issuer: emailAddress = [email protected], C = US, ST = ca, L = sunnyvale, O
= , OU = SPG QA, CN = 2000-spg-example-net
Effective date: 04-26-2007 18:47
Next update: 05- 4-2007 07:07
1665
Sample Output
show security pki crl ca-profile ca2 brief
user@host> show security pki crl ca-profile ca2 brief
CA profile: ca2
CRL version: V00000001
CRL issuer: emailAddress = [email protected], C = US, ST = ca, L = sunnyvale, O
= example networks, OU = SPG QA, CN = 2000-spg-example-net
Effective date: 04-26-2007 18:47
Next update: 05- 4-2007 07:07
Sample Output
show security pki crl ca-profile ca2 detail
user@host> show security pki crl ca-profile ca2 detail
CA profile: ca2
CRL version: V00000001
CRL issuer: emailAddress = [email protected], C = US, ST = ca, L = sunnyvale, O
= example, OU = SPG QA, CN = 2000-spg-example-net
Effective date: 04-26-2007 18:47
Next update: 05- 4-2007 07:07
Revocation List:
Serial number Revocation date
174e6399000000000506 03-16-2007 23:09
174ef3f3000000000507 03-16-2007 23:09
17529cd6000000000508 03-16-2007 23:09
1763ac26000000000509 03-16-2007 23:09
21904e5700000000050a 03-16-2007 23:09
2191cf7900000000050b 03-16-2007 23:09
21f10eb600000000050c 03-16-2007 23:09
2253ca2a00000000050f 03-16-2007 23:09
2478939b000000000515 03-16-2007 23:09
24f35004000000000516 03-16-2007 23:09
277ddfa8000000000517 03-16-2007 23:09
277e97bd000000000518 03-16-2007 23:09
27846a76000000000519 03-16-2007 23:09
2785176f00000000051a 03-16-2007 23:09
1666
Release Information
Command modified in Junos OS Release 9.1. Subject string output field added in Junos OS Release
12.1X44-D10.
Description
Display information about the local digital certificates, corresponding public keys, and the automatically
generated self-signed certificate configured on the device.
Options
• none—Display basic information about all configured local digital certificates, corresponding public keys,
and the automatically generated self-signed certificate.
• certificate-id certificate-id-name —(Optional) Display information about only the specified local digital
certificates and corresponding public keys.
RELATED DOCUMENTATION
show security pki local-certificate certificate-id mycert detail - (local certificate enrolled online using
SCEP) on page 1671
show security pki local-certificate detail on page 1672
Output Fields
Table 144 on page 1667 lists the output fields for the show security pki local-certificate command. Output
fields are listed in the approximate order in which they appear.
Serial number Unique serial number of the digital certificate. Starting in Junos OS Release 20.1R1,
PKI local certificate serial number is displayed with 0x as prefix to indicate that
the PKI local certificate is in the hexadecimal format.
Issuer Authority that issued the digital certificate, including details of the authority
organized using the distinguished name format. Possible subfields are:
• Organization—Organization of origin.
• Organizational unit—Department within an organization.
• Country—Country of origin.
• Locality—Locality of origin.
• Common name—Name of the authority.
Subject Details of the digital certificate holder organized using the distinguished name
format. Possible subfields are:
• Organization—Organization of origin.
• Organizational unit—Department within an organization.
• Country—Country of origin.
• Locality—Locality of origin.
• Common name—Name of the authority.
• Serial number—Serial number of the device.
If the certificate contains multiple subfield entries, all entries are displayed.
1668
Alternate subject Domain name or IP address of the device related to the digital certificate.
Validity Time period when the digital certificate is valid. Values are:
Public key algorithm Encryption algorithm used with the private key, such as rsaEncryption(1024 bits).
Public key verification status Public key verification status: Failed or Passed. The detail output also provides
the verification hash.
Signature algorithm Encryption algorithm that the CA used to sign the digital certificate, such as
sha1WithRSAEncryption.
Fingerprint Secure Hash Algorithm (SHA1) and Message Digest 5 (MD5) hashes used to
identify the digital certificate.
Distribution CRL Distinguished name information and URL for the certificate revocation list (CRL)
server.
Use for key Use of the public key, such as Certificate signing, CRL signing, Digital signature,
or Data encipherment.
Sample Output
show security pki local-certificate certificate-id hello
user@host> show security pki local-certificate certificate-id hello
LSYS: root-logical-system
Certificate identifier: hello
Issued to: cn1, Issued by: DC = local, DC = demo, CN = domain-example-WIN-CA
Validity:
Not before: 08- 8-2012 17:02
Not after: 08- 8-2014 17:02
Public key algorithm: rsaEncryption(1024 bits)
1669
Sample Output
show security pki local-certificate certificate-id hello detail
user@host> show security pki local-certificate certificate-id hello detail
Status: Disabled
Next trigger time: Timer not started
Sample Output
show security pki local-certificate system-generated
user@host> show security pki local-certificate system-generated
Sample Output
show security pki local-certificate system-generated detail
user@host> show security pki local-certificate system-generated detail
5f:b1:f5:3a:f0:1c:a7:55:43:0f:ef:fd:1c:fe:29:09:d5:37:d0:fa
d6:ee:bc:b8:3f:58:d4:31:fb:96:4f:4f:cc:a9:1a:8f:2e:1b:50:6f
2b:88:34:74:b2:6d:ad:94:b5:dd:3d:80:87:56:d0:42:50:4d:ac:d7
8c:21:06:2d:07:1e:f4:d0:c7:85:2e:25:60:ad:1b:b5:b2:d2:1d:c8
79:67:8c:56:06:04:75:6e:be:4e:99:b8:07:e6:9a:11:fe:b5:ec:c0
1e:68:da:47:99:1b:b2:c8:07:ab:cd:6e:fe:c1:fd:02:03:01:00:01
Signature algorithm: sha1WithRSAEncryption
Fingerprint:
be:1f:21:13:71:cd:9d:de:7a:41:d7:4c:52:8d:3e:d6:ba:db:75:96 (sha1)
ba:fc:90:4b:5f:a8:66:a3:b9:64:89:9f:e2:45:b5:84 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
Sample Output
show security pki local-certificate certificate-id mycert - (local certificate enrolled online using SCEP)
user@host> show security pki local-certificate certificate-id mycert
LSYS: root-logical-system
Certificate identifier: mycert
Issued to: bubba, Issued by: DC = local, DC = demo, CN = domain-example-WIN-CA
Validity:
Not before: 11-15-2012 18:58
Not after: 11-15-2014 18:58
Public key algorithm: rsaEncryption(1024 bits)
Sample Output
show security pki local-certificate certificate-id mycert detail - (local certificate enrolled online using
SCEP)
user@host> show security pki local-certificate certificate-id mycert detail
Sample Output
show security pki local-certificate detail
user@host>show security pki local-certificate detail
Release Information
Command introduced in Junos OS Release 15.1X49-D80.
Description
Display information about TCP encapsulation sessions.
Options
none—Display information about TCP encapsulation sessions.
RELATED DOCUMENTATION
tcp-encap | 1421
Output Fields
Table 145 on page 1674 lists the output fields for the show security tcp-encap connection command. Output
fields are listed in the approximate order in which they appear.
Anchor spu Services Processing Unit (SPU) on which the connection is anchored.
Sample Output
show security tcp-encap connection
user@host> show security tcp-encap connection
Session id: 34
Local Gateway: 10.4.0.2:500 , Remote Gateway: 10.4.0.1:9500
Client: NCP-1
Started: Sun Jan 08 2017 21:32:58
Anchor spu: 1
Release Information
Command introduced in Junos OS Release 15.1X49-D80.
Description
Display TCP encapsulation statistics.
RELATED DOCUMENTATION
Output Fields
Table 146 on page 1677 lists the output fields for the show security tcp-encap statistics command. Output
fields are listed in the approximate order in which they appear.
Sample Output
show security tcp-encap statistics
user@host> show security tcp-encap statistics
1678