Security VPN Ipsec
Security VPN Ipsec
Security VPN Ipsec
Modified: 2018-12-10
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.
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Caveats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Example: Configuring a Route-Based VPN for IKEv2 . . . . . . . . . . . . . . . . . . . 151
Example: Configuring the SRX Series for Pico Cell Provisioning with IKEv2
Configuration Payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Configuring an IKE Policy with a Trusted CA . . . . . . . . . . . . . . . . . . . . . . . . . 194
Secure Tunnel Interface in a Virtual Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Understanding Virtual Router Support for Route-Based VPNs . . . . . . . . . . . 196
Understanding Virtual Router Limitations . . . . . . . . . . . . . . . . . . . . . . . . 197
Example: Configuring an st0 Interface in a Virtual Router . . . . . . . . . . . . . . . 197
Traffic Selectors in Route-Based VPNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Understanding Traffic Selectors in Route-Based VPNs . . . . . . . . . . . . . . . . 202
Traffic Selector Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Understanding Auto Route Insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Understanding Traffic Selectors and Overlapping IP Addresses . . . . . . 204
Example: Configuring Traffic Selectors in a Route-Based VPN . . . . . . . . . . 208
AutoVPN on Hub-and-Spoke Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Understanding AutoVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Secure Tunnel Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Configuration and Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Understanding AutoVPN Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Understanding AutoVPN with Traffic Selectors . . . . . . . . . . . . . . . . . . . 225
Understanding Spoke Authentication in AutoVPN Deployments . . . . . . . . . 227
Group IKE ID Configuration on the Hub . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Excluding a Spoke Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
AutoVPN Configuration Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Example: Configuring Basic AutoVPN with iBGP . . . . . . . . . . . . . . . . . . . . . 230
Example: Configuring Basic AutoVPN with iBGP for IPv6 Traffic . . . . . . . . . 257
Example: Configuring AutoVPN with iBGP and ECMP . . . . . . . . . . . . . . . . . 288
Example: Configuring AutoVPN with iBGP and Active-Backup Tunnels . . . . 315
Example: Configuring Basic AutoVPN with OSPF . . . . . . . . . . . . . . . . . . . . . 344
Example: Configuring AutoVPN with OSPFv3 for IPv6 Traffic . . . . . . . . . . . 370
Example: Forwarding Traffic Through an AutoVPN Tunnel with Traffic
Selectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Example: Ensuring VPN Tunnel Availability with AutoVPN and Traffic
Selectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Auto Discovery VPNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Understanding Auto Discovery VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
ADVPN Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Establishing a Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Shortcut Initiator and Responder Roles . . . . . . . . . . . . . . . . . . . . . . . . . 439
Shortcut Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Shortcut Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
local-identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
local-identity (Security Group VPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
manual (Security IPsec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
member (Security Group VPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163
member-threshold (Security Group VPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165
mode (Security Group VPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166
mode (Security IKE Policy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167
multi-sa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
nat-keepalive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169
no-anti-replay (Security) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1169
no-nat-traversal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170
non-cryptographic-self-test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170
ocsp (Security PKI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171
optimized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172
optimized (DPD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172
peer-certificate-type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173
perfect-forward-secrecy (Security IPsec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174
pki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175
pki-local-certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176
policy (Security Group VPN IKE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177
policy (Security IKE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178
policy (Security IPsec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179
policy-oids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1180
pre-shared-key (Security IKE Policy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181
probe-idle-tunnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1182
profile (Access) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183
profile (TCP Encapsulation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185
proposal (Security Group VPN Member IKE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1186
proposal (Security Group VPN Server IKE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187
proposal (Security Group VPN Server IPsec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188
proposal (Security IKE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189
proposal (Security IPsec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1190
proposals (Security Group VPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191
proposals (Security IKE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
proposals (Security IPsec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
proposal-set (Security IKE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193
proposal-set (Security IPsec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196
protocol (IPsec SA for OSPF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198
protocol (Security IPsec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199
protocol (Security IPsec Manual SA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200
proxy-profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201
proxy-identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202
reauth-frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203
re-enroll-trigger-time-percentage (Security PKI) . . . . . . . . . . . . . . . . . . . . . . . . 1204
re-generate-keypair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205
refresh-interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205
remote (Security IPsec) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206
remote-exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206
remote-identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207
Table 31: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke
Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Table 32: AutoVPN Configuration for Hub and All Spokes . . . . . . . . . . . . . . . . . . 259
Table 33: Comparison Between the Spoke Configurations . . . . . . . . . . . . . . . . . 260
Table 34: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke iBGP ECMP
Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Table 35: AutoVPN iBGP ECMP Configuration for Hub and Spoke 1 . . . . . . . . . . 289
Table 36: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke iBGP
Active-Backup Tunnel Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Table 37: AutoVPN IBGP Active-Backup Tunnel Configuration for Hub and Spoke
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Table 38: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Basic OSPF
Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Table 39: AutoVPN Basic OSPF Configuration for Hub and All Spokes . . . . . . . 346
Table 40: Comparison Between the Basic OSPF Spoke Configurations . . . . . . . 346
Table 41: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Basic OSPFv3
Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Table 42: AutoVPN OSPFv3 Configuration for Hub and All Spokes . . . . . . . . . . . 372
Table 43: Comparison Between the OSPFv3 Spoke Configurations . . . . . . . . . . 372
Table 44: Phase 1 and Phase 2 Options for AutoVPN Hubs and Spokes with
Traffic Selectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Table 45: Phase 1 and Phase 2 Options for Georedundant AutoVPN Hubs . . . . . 416
Table 46: Shortcut Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Table 47: Phase 1 and Phase 2 Options for AutoVPN Hub and Spokes for ADVPN
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Table 48: IKE Gateway Configuration for ADVPN Example . . . . . . . . . . . . . . . . . 446
Table 49: Phase 1 and Phase 2 Options for ADPN Hub and Spoke Basic OSPFv3
Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Table 50: ADVPN OSPFv3 Configuration for Hub and All Spokes . . . . . . . . . . . . 486
Table 51: Comparison Between the OSPFv3 Spoke Configurations . . . . . . . . . . 487
Chapter 3 Configuring Policy-Based IPsec VPNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Table 52: Interface, Security Zone, and Address Book Information . . . . . . . . . . . 518
Table 53: IKE Phase 1 Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Table 54: IPsec Phase 2 Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . 519
Table 55: Security Policy Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . 519
Table 56: TCP-MSS Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Chapter 4 Configuring CoS-Based IPsec VPNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Table 57: Interface, Static Route, and Security Zone Information . . . . . . . . . . . . 543
Table 58: IKE Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Table 59: IPsec Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Table 60: Security Policy Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . 545
Chapter 5 Configuring VPNs with NAT-T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Table 61: Interface, Routing Options, Zones, and Security Policies for the
Initiator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Table 62: IKE Phase 1 Configuration Parameters for the Initiator . . . . . . . . . . . . . 569
Table 63: IPsec Phase 2 Configuration Parameters for the Initiator . . . . . . . . . . . 570
Table 64: Interface, Routing Options, Zones, and Security Policies for the
Responder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Table 65: IKE Phase 1 Configuration Parameters for the Responder . . . . . . . . . . . 571
Table 66: IPsec Phase 2 Configuration Parameters for the Responder . . . . . . . . 571
Table 67: Interface, Routing Options, and Security Zones for the Initiator . . . . . 599
Table 68: IKE Phase 1 Configuration Parameters for the Initiator . . . . . . . . . . . . 599
Table 69: IPsec Phase 2 Configuration Parameters for the Initiator . . . . . . . . . . 600
Table 70: Security Policy Configuration Parameters for the Initiator . . . . . . . . . . 600
Table 71: Interface, Routing Options, and Security Zones for the Responder . . . 600
Table 72: IKE Phase 1 Configuration Parameters for the Responder . . . . . . . . . . . 601
Table 73: IPsec Phase 2 Configuration Parameters for the Responder . . . . . . . . 601
Table 74: Security Policy Configuration Parameters for the Responder . . . . . . . 602
Chapter 6 Configuring IPsec VPN Tunnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Table 75: Phase 1 Options for Dual-Stack Tunnel Configuration . . . . . . . . . . . . . 650
Table 76: Phase 2 Options for Dual-Stack Tunnel Configuration . . . . . . . . . . . . . 651
Chapter 7 Configuring IPv6 IPsec VPNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
Table 77: IPv6 Address Support in VPN Features . . . . . . . . . . . . . . . . . . . . . . . . . 669
Table 78: ISAKMP ID Types and Their Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Table 79: Support for IPv4 Options or IPv6 Extension Headers . . . . . . . . . . . . . . 676
Table 80: IPv6 Header Construction for IPv6-in-IPv6 and IPv4-in-IPv6 Tunnel
Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
Table 81: IPv4 Header Construction for IPv6-in-IPv4 and IPv4-in-IPv4 Tunnel
Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
Table 82: Interface, Security Zone, and Address Book Information . . . . . . . . . . . 683
Table 83: IPv6 IKE Phase 1 Configuration Parameters . . . . . . . . . . . . . . . . . . . . . 684
Table 84: IPv6 IPsec Phase 2 Configuration Parameters . . . . . . . . . . . . . . . . . . . 684
Table 85: Security Policy Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . 685
Table 86: TCP-MSS Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Chapter 8 Configuring Group VPNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Table 87: Effects of Configuration Changes on Group VPNv2 Servers . . . . . . . . 800
Table 88: Effects of Group VPNv2 Server Cluster Configuration Changes . . . . . 802
Chapter 9 Configuring Remote Access VPNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
Table 89: IKE and IPSec Options on the SRX Series Device for NCP Exclusive
Remote Access Client Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882
Table 90: Remote Client Authentication and Address Assignment
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
Table 91: VPN Tunnel Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 906
Table 92: Dynamic VPN Configuration for Remote Clients . . . . . . . . . . . . . . . . . 906
Table 93: Group IKE ID VPN Tunnel Configuration Parameters . . . . . . . . . . . . . . 918
Table 94: Group IKE ID Dynamic VPN Configuration for Remote Clients . . . . . . . 918
Table 95: RADIUS Server User Authentication (Group IKE ID) . . . . . . . . . . . . . . . 919
Table 96: Client 1 Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
Table 97: Client 2 Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
Table 98: RADIUS Server User Authentication (Individual IKE ID) . . . . . . . . . . . 926
Chapter 11 Configuring Public Key Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957
Table 99: Comparison of CMPv2 and SCEP Certificate Enrollment . . . . . . . . . . 986
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.
If the example configuration does not start at the top level of the hierarchy, the example
is a snippet. In this case, use the load merge relative command. These procedures are
described in the following sections.
1. From the HTML or PDF version of the manual, copy a configuration example into a
text file, save the file with a name, and copy the file to a directory on your routing
platform.
For example, copy the following configuration to a file and name the file ex-script.conf.
Copy the ex-script.conf file to the /var/tmp directory on your routing platform.
system {
scripts {
commit {
file ex-script.xsl;
}
}
}
interfaces {
fxp0 {
disable;
unit 0 {
family inet {
address 10.0.0.1/24;
}
}
}
}
2. Merge the contents of the file into your routing platform configuration by issuing the
load merge configuration mode command:
[edit]
user@host# load merge /var/tmp/ex-script.conf
load complete
Merging a Snippet
To merge a snippet, follow these steps:
1. From the HTML or PDF version of the manual, copy a configuration snippet into a text
file, save the file with a name, and copy the file to a directory on your routing platform.
For example, copy the following snippet to a file and name the file
ex-script-snippet.conf. Copy the ex-script-snippet.conf file to the /var/tmp directory
on your routing platform.
commit {
file ex-script-snippet.xsl; }
2. Move to the hierarchy level that is relevant for this snippet by issuing the following
configuration mode command:
[edit]
user@host# edit system scripts
[edit system scripts]
3. Merge the contents of the file into your routing platform configuration by issuing the
load merge relative configuration mode command:
For more information about the load command, see CLI Explorer.
Documentation Conventions
Caution Indicates a situation that might result in loss of data or hardware damage.
Laser warning Alerts you to the risk of personal injury from a laser.
Table 2 on page xxviii 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
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.
• Junos OS CLI User Guide
• Identifies RFC and Internet draft titles.
• RFC 1997, BGP Communities Attribute
Italic text like this Represents variables (options for which Configure the machine’s domain name:
you substitute a value) in commands or
configuration statements. [edit]
root@# set system domain-name
domain-name
Text like this Represents names of configuration • To configure a stub area, include the
statements, commands, files, and stub statement at the [edit protocols
directories; configuration hierarchy levels; ospf area area-id] hierarchy level.
or labels on routing platform • The console port is labeled CONSOLE.
components.
< > (angle brackets) Encloses optional keywords or variables. stub <default-metric metric>;
# (pound sign) Indicates a comment specified on the rsvp { # Required for dynamic MPLS only
same line as the configuration statement
to which it applies.
[ ] (square brackets) Encloses a variable for which you can community name members [
substitute one or more values. community-ids ]
GUI Conventions
Bold text like this Represents graphical user interface (GUI) • In the Logical Interfaces box, select
items you click or select. All Interfaces.
• To cancel the configuration, click
Cancel.
> (bold right angle bracket) Separates levels in a hierarchy of menu In the configuration editor hierarchy,
selections. select Protocols>Ospf.
Documentation Feedback
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 J-Care or Partner Support Service
support contract, or are covered under warranty, and need post-sales technical support,
you can access our tools and resources online or open a case with JTAC.
• JTAC hours of operation—The JTAC centers have resources available 24 hours a day,
7 days a week, 365 days a year.
• Find solutions and answer questions using our Knowledge Base: https://kb.juniper.net/
To verify service entitlement by product serial number, use our Serial Number Entitlement
(SNE) Tool: https://entitlementsearch.juniper.net/entitlementsearch/
Overview
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.
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.
NOTE: The term tunnel does not denote tunnel mode (see “Packet Processing
in Tunnel Mode” on page 39). Instead, it refers to the IPsec connection.
Security Associations
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 39.)
• Key-management method, either manual key or AutoKey IKE. (See “IPsec Key
Management” on page 33.)
• 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 34.)
For outbound VPN traffic, the policy invokes the SA associated with the VPN tunnel.
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 36.
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.
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
NOTE: A preshared key is a key for both encryption and decryption, which
both participants must have before initiating communication.
Diffie-Hellman Exchange
Because the modulus for each DH group is a different size, the participants must agree
to use the same group.
• 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 36.
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 on page 35
• ESP Protocol on page 35
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.
NOTE: 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 39.)
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
NOTE: 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.
NOTE:
• 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.
• When the loopback interface is used as the IKE gateway external interface,
the physical interface for IKE negotiation should be in the same VR.
In policy-based VPNs, a tunnel is treated as an object that, In route-based VPNs, a policy does not specifically reference a
together with source, destination, application, and action, VPN tunnel.
constitutes a tunnel policy that permits VPN traffic.
A tunnel policy specifically references a VPN tunnel by A route determines which traffic is sent through the tunnel based
name. 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 limited
create is limited by the number of tunnels that the device by the number of st0 interfaces (for point-to-point VPNs) or the
supports. 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 goes
numerous tunnel policies referencing the same VPN tunnel, through the tunnel, multiple policies can be supported with a single
each tunnel policy pair creates an individual IPsec SA with SA or VPN.
the remote peer. Each SA counts as an individual VPN
tunnel.
In a policy-based VPN, the action must be permit and must In a route-based VPN, the regulation of traffic is not coupled to the
include a tunnel. 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 to Route-based VPNs uses routes to specify the traffic sent to a
specify the traffic sent to a tunnel, using a policy-based tunnel; a policy does not specifically reference a VPN tunnel.
VPN with security policies is the best choice.
With a policy-based VPN tunnel, you can consider a tunnel When the security device does a route lookup to find the interface
as an element in the construction of a policy. through which it must send traffic to reach an address, it finds a
route through a secure tunnel (st0) interface.
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 39.
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 40.
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 41). 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.
NOTE: 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.
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 42.
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.
The Next Payload field contains a number indicating one of the following payload types:
• 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.
• 0800—Notify Payload.
Each ISAKMP payload begins with the same generic header, as shown in
Figure 5 on page 43.
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 44 for an example.
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.
NOTE: For information about ESP, see “ESP Protocol” on page 35. For
information about tunnel mode, see “Packet Processing in Tunnel Mode” on
page 39.
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).
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 45.
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 46.
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
g030688
Data
• Preshared key or RSA/DSA certificates. (See “IPsec VPN Overview” on page 31.)
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.
• 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.
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:
• 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.
NOTE: Main and aggressive modes applies only to IKEv1 protocol. IKEv2
protocol does not negotiate using main and aggressive modes.
See Also • Understanding IKE Phase 1 Configuration for Group VPNv1 on page 711
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.
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.
• 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
• 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 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)
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
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 4 on page 52 shows an example of an SRX5000 line device with three SPUs running
seven IPsec tunnels over three IKE gateways.
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
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.
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.
Tunnel load factor = Number of tunnels anchored on the SPU / Total number of flow RT
threads used by the SPU.
Starting in Junos OS Release 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 can also configure multiple VPNs and route traffic between any two tunnels.
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.
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.
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.
(For policy-based VPNs) Specify the security policy action tunnel ipsec-vpn with the
name of the IPsec VPN tunnel that you configured.
(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.
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) 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 Digest
authentication 5 (MD5) .
Perfect Forward Secrecy (PFS) DH group 14 PFS DH group 14 provides increased security because the peers perform 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 of the
protocol 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 feature might resolve compatibility issues with
third-party peers.
Recommended Configuration Options for Site-to-Site or Dialup VPNs with Dynamic IP Addresses
Table 6 on page 57 lists the configuration options for a generic site-to-site or dialup VPN,
where the peer devices have dynamic IP addresses.
Table 6: Recommended Configuration for Site-to-Site or Dialup VPNs with Dynamic IP Addresses
Table 6: Recommended Configuration for Site-to-Site or Dialup VPNs with Dynamic IP Addresses (continued)
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.
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 Digest 5
authentication (MD5).
Perfect Forward Secrecy (PFS) DH group 14 PFS DH group 14 provides increased security because the peers perform 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 of the
protocol 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.
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.
• 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 • Example: Configuring NAT-T with Dynamic Endpoint VPN on page 627
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.
• A UFQDN is a string that follows the same format as an e-mail address, such as
user@example.com.
• 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.
• 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.
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.
NOTE: 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.
• Example: Configuring a Route-Based VPN with Only the Responder Behind a NAT
Device on page 566
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
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.
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.
• 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.
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.
Example: Configuring IPsec Authentication for an OSPF Interface on an SRX Series Device
This example shows how to configure and apply a manual security association (SA) to
an OSPF interface.
• Requirements on page 64
• Overview on page 65
• Configuration on page 65
• Verification on page 68
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 7 on page 65 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
Configuring a Manual SA
CLI Quick To quickly configure a manual SA to be used for IPsec authentication on an OSPF
Configuration interface, 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.
[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
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
NOTE: After you configure the password, you do not see the password itself.
The output displays the encrypted form of the password you configured.
[edit]
user@host# show security ipsec
security-association sa1 {
mode transport;
manual {
direction bidirectional {
protocol ah;
spi 256;
authentication {
algorithm hmac-md5-96;
key ascii-text "$9$AP5Hp1RcylMLxSygoZUHk1REhKMVwY2oJx7jHq.zF69A0OR";
## SECRET-DATA
}
encryption {
algorithm des;
key ascii-text "$9$AP5Hp1RcylMLxSygoZUHk1REhKMVwY2oJx7jHq.zF69A0OR";
## SECRET-DATA
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly apply a manual SA used for IPsec authentication to an OSPF interface, copy
Configuration the following command, paste it into a text file, change any details necessary to match
your network configuration, copy and paste the command into the CLI at the [edit]
hierarchy level, and then enter commit from configuration mode.
[edit]
set protocols ospf area 0.0.0.0 interface so-0/2/0 ipsec-sa sa1
[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
Purpose 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 • Understanding IPsec SA Configuration for Group VPNv1 on page 712
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 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.
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
• 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.
NOTE: 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.
NOTE: 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:
• 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.
• Requirements on page 71
• Overview on page 72
• Configuration on page 77
• Verification on page 101
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.
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 8 on page 73 through
Table 12 on page 77 for specific configuration parameters used in this example.
ge-0/0/3.0 10.1.1.2/30
st0 10.11.11.10/24
ge-0/0/3.0 192.168.178.1/24
st0 10.11.11.12/24
Hub Address book entries local-net • This address is for the trust
zone’s address book.
• The address for this address
book entry is
192.168.10.0/24.
Spoke Address book entries local-net • This address is for the trust
zone’s address book.
• The address for this address
book entry is
192.168.168.178.0/24.
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 of a MSS value: 1350
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.
NOTE: 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.
Configuration
• Configuring Basic Network, Security Zone, and Address Book Information for the
Hub on page 78
• Configuring IKE for the Hub on page 81
• Configuring IPsec for the Hub on page 84
• Configuring Security Policies for the Hub on page 87
• Configuring TCP-MSS for the Hub on page 89
• Configuring Basic Network, Security Zone, and Address Book Information for the
Westford Spoke on page 90
• Configuring IKE for the Westford Spoke on page 93
Configuring Basic Network, Security Zone, and Address Book Information for the Hub
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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;
}
}
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
pre-shared-key ascii-text "$ABC123"; ## SECRET-DATA
}
gateway gw-sunnyvale {
ike-policy ike-phase1-policy;
address 10.2.2.2;
external-interface ge-0/0/3.0;
}
gateway gw-westford {
ike-policy ike-phase1-policy;
address 10.3.3.2;
external-interface ge-0/0/3.0;
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
[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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
[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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
[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.
CLI Quick This example uses an SSG Series device for the Sunnyvale spoke. For reference, the
Configuration configuration for the SSG Series device is provided. For information about configuring
SSG Series devices, see the Concepts and Examples ScreenOS Reference Guide, which is
located at https://www.juniper.net/documentation.
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
Action NOTE: 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:
• Phase 1 lifetime
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
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: -
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (128 bits)
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.
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.
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.
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.
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.
!!!!!
Success Rate is 100 percent (5/5), round-trip time min/avg/max=4/4/5 ms
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.
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.
NOTE: 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 dynamic routing protocol (for example, OSPF, RIP, or BGP) is running across the
VPN.
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.
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
• 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 13 on page 111
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.
• 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.
Requirements
• SRX240 device
• 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 113 shows an example of a route-based VPN topology. In this topology,
the SRX Series device is located in Sunnyvale, and an SSG Series device (or a third-party
device) is located in Chicago.
Trust Zone
192.0.2.167/24
e0/6
192.0.2.169/24
Chicago 203.0.113.11/24 VPN-chicago zone
SSG Series Device tunnel1
e0/0
198.51.100.102/30
Untrust Zone
INTERNET
ge-0/0/3.0
192.51.100.2/30
Sunnyvale st0.0 VPN-sunnyvale zone
SRX Series Device 203.0.113.10/24
ge-0/0/0.0
192.0.2.1/24
Trust Zone
g040511a
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 14 on page 113 through Table 18 on page 115 for specific configuration parameters
used in this example.
Table 14: Interface, Static Route, Security Zone, and Address Book Information
ge-0/0/3.0 198.51.100.2/30
Table 14: Interface, Static Route, Security Zone, and Address Book Information (continued)
The security policy permits traffic from the trust vpn • Match criteria:
zone to the vpn zone. • source-address sunnyvale
• destination-address chicago
• application any
• Action: permit
The security policy permits traffic from the vpn vpn • Match criteria:
zone to the trust zone. • source-address chicago
• destination-address sunnyvale
• application any
• Action: permit
TCP-MSS is negotiated as part of the TCP three-way handshake MSS value: 1350
and limits the maximum size 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 increases bandwidth
and device resources.
Configuration
CLI Quick To quickly configure this section of the example, copy the following commands, paste
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 198.51.100.2/30
user@host# set interfaces st0 unit 0 family inet address 203.0.113.10/24
[edit]
user@host# set routing-options static route 0.0.0.0/0 next-hop 198.51.100.2
[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 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 198.51.100.2/30;
}
}
}
st0 {
unit 0 {
family inet {
address 203.0.113.10/24;
}
}
}
[edit]
user@host# show routing-options
static {
route 0.0.0.0/0 next-hop 198.51.100.2;
}
[edit]
user@host# show security zones
security-zone Host {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
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;
}
}
security-zone vpn {
interfaces {
st0.0;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IKE
CLI Quick To quickly configure this section of the example, copy the following commands, paste
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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-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-chicago {
ike policy ike-policy;
address 198.51.100.102;
external-interface ge-0/0/3.0;
version v2-only;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
CLI Quick To quickly configure this section of the example, copy the following commands, paste
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.1;
ike {
gateway IKE_GW1;
ipsec-policy ipsec_pol;
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this section of the example, copy the following commands, paste
Configuration 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.
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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
CLI Quick To quickly configure this section of the example, copy the following commands, paste
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
CLI Quick For reference, the configuration for the SSG Series device is provided. For information
Configuration about configuring SSG Series devices, see the Concepts and Examples ScreenOS Reference
Guide, which is located at http://www.juniper.net/techpubs.
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
Action NOTE: 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 192.0.2.167/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
192.0.2.167.
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
• 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
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: 198.51.100.102
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.
• 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.
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.
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.
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.
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.
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.
• Route-based VPNs.
• Site-to-site VPNs.
• Chassis cluster.
• Certificate-based authentication.
• AutoVPN.
• Traffic selectors.
• Policy-based VPN.
• Dialup tunnels.
• VPN monitoring.
• EAP.
• Multiple child SAs for the same traffic selectors for each QoS value.
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 19 on page 133 describes the IKEv2 configuration attributes supported on SRX Series
devices.
INTERNAL_IP4_NETMASK 2 Specifies the internal network's netmask value. Only one netmask 0 or 4 octets
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_DNS 3 Specifies an address of a DNS server within the network. Multiple 0 or 4 octets
DNS servers can be requested. The responder can respond with zero
or more DNS server attributes.
INTERNAL_IP4_NBNS 4 Specifies an address of a NetBIOS name server (NBNS), for example, 0 or 4 octets
a WINS server, within the network. Multiple NBNS servers can be
requested. The responder can respond with zero or more NBNS server
attributes.
INTERNAL_IP4_DHCP 6 Instructs the host to send any internal DHCP request to the address 0 or 4 octets
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.
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.
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 136 shows a typical workflow for a pico cell deployment.
See Also • Example: Configuring NAT-T with Dynamic Endpoint VPN on page 627
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.
Supported Features
• 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
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 139, 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.
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:
url “www.example.net/scep/Dev/”;
}
}
}
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 141. 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.
NOTE: 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 62 for examples of configuring peer
devices for VPNs.
Configuration
Configure CA Profiles
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
To configure CA profiles:
Results 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
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
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
Results 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.
Verification
If certificate validation is successful during IKE negotiation between peer devices, both
IKE and IPsec security associations (SAs) are established.
Action Enter the show security ike security-associations command from operational mode.
Action Enter the show security ipsec security-associations command from operational mode.
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.
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
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
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
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 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.
Requirements
• SRX240 device
• 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 20 on page 151 through Table 24 on page 153 for specific
configuration parameters used in this example.
Table 20: Interface, Static Route, Security Zone, and Address Book Information
ge-0/0/3.0 10.1.1.2/30
Table 20: 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 trust vpn-tr-chi • Match criteria:
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
Configuring Interface, Static Route, Security Zone, and Address Book Information
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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 {
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
version v2-only;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
CLI Quick For reference, the configuration for the SSG Series device is provided. For information
Configuration about configuring SSG Series devices, see the Concepts & Examples ScreenOS Reference
Guide, which is located at https://www.juniper.net/documentation.
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
Action NOTE: 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
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
• Role information
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.
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.
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.
Example: Configuring the SRX Series for Pico Cell Provisioning with IKEv2 Configuration Payload
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 170 shows a topology in which the SRX Series supports pico cell
provisioning using the IKEv2 configuration payload feature.
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:
Table 25 on page 172 shows the Phase 1 and Phase 2 options configured on the SRX Series,
including information for establishing both OAM and 3GPP tunnels.
Table 25: Phase 1 and Phase 2 Options for the SRX Series
Option Value
IKE proposal:
Proposal name IKE_PROP
IKE policy:
IKE Policy name IKE_POL
Table 25: Phase 1 and Phase 2 Options for the SRX Series (continued)
Option Value
IPsec proposal:
Proposal name IPSEC_PROP
Protocol ESP
IPsec policy:
Policy name IPSEC_POL
Table 25: Phase 1 and Phase 2 Options for the SRX Series (continued)
Option Value
Certificates are stored on the pico cells and the SRX Series.
NOTE: 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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
2. Configure 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
user@host# set static route 5.5.0.0/16 next-hop 2.2.2.253
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;
}
}
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;
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;
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"; ## SECRET-DATA
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;
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;
}
}
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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]
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
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.
Step-by-Step The pico cell information in this example is provided for reference. Detailed pico cell
Procedure 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>
leftid=”C=US, ST=CA, L=Sunnyvale, O=org, OU=pico_cell, CN=pico1”
leftfirewall=yes
reauth=yes
right=3.3.3.1/24
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
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
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 The RADIUS server information in this example is provided for reference. Complete
Procedure 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.
1. Review the RADIUS configuration for the Pico 1 OAM VPN. The RADIUS server has
the following information:
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:
In this case, the RADIUS server provides a subnet mask value (255.255.0.0), which
enables intrapeer traffic.
Verification
• Verifying the IKE Phase 1 Status for the SRX Series on page 190
• Verifying IPsec Security Associations for the SRX Series on page 192
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
Initiator cookie: 99919a471d1a5278, Responder cookie: 3be7c5a49172e6c2
Exchange type: IKEv2, Authentication method: RSA-signatures
Local: 2.2.2.1:500, Remote: 1.1.1.1:500
Lifetime: Expires in 28738 seconds
Peer ike-id: C=US, ST=CA, L=Sunnyvale, O=org, OU=pico_cell, CN=pico1
aaa assigned IP: 12.12.1.201
Algorithms:
Authentication : hmac-sha1-96
Encryption : aes256-cbc
Pseudo random function: hmac-sha1
Diffie-Hellman group : DH-group-5
Traffic statistics:
Input bytes : 2104
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
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:
• 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.
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.
NOTE: 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
[edit]
user@host# set security ike proposal ike_prop authentication-method rsa-signatures
[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.
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.
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.
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.
• Transit traffic
• Self-traffic
• VPN monitoring
• Hub-and-spoke VPNs
The following features are not supported for virtual router (VR):
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.
Requirements
Before you begin, configure the interfaces and assign the interfaces to security zones.
See "Security Zones Overview".
Overview
Configuration
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
address 10.4.4.2;
external-interface ge-0/0/0.0;
}
}
ipsec {
proposal first_ipsecprop {
protocol esp;
authentication-algorithm hmac-md5-96;
encryption-algorithm 3des-cbc;
}
policy first_ipsecpol {
perfect-forward-secrecy {
keys group1;
}
proposals first_ipsecprop;
}
vpn first_vpn {
bind-interface st0.0;
ike {
gateway first;
ipsec-policy first_ipsecpol;
}
establish-tunnels immediately;
}
}
policies {
default-policy {
permit-all;
}
}
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
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 • Understanding Virtual Router Support for Route-Based VPNs on page 196
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).
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.
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 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.
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.
NOTE: 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.
• Overlapping IP Addresses in Different VPNs Bound to the Same st0 Interface on page 204
• Overlapping IP Addresses in the Same VPN Bound to the Same st0 Interface on page 204
• Overlapping IP Addresses in Different VPNs Bound to Different st0 Interfaces on page 205
This scenario is not supported with traffic selectors. Traffic selectors cannot be configured
on different VPNs that are bound to the same point-to-multipoint st0 interface, as shown
in the following example:
[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;
}
}
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.
When overlapping IP addresses are configured for multiple traffic selectors in different
VPNs that are bound to different point-to-point st0 interfaces, an st0 interface is first
selected by the longest prefix match for a given packet. Within the VPN that is bound to
the selected st0 interface, the traffic selector is then selected based on the first configured
match for the packet.
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 {
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.
[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;
}
}
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.
NOTE: 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.
Requirements
Before you begin, read “Understanding Traffic Selectors in Route-Based VPNs” on page 202.
Overview
This example configures traffic selectors to allow traffic to flow between subnetworks
on SRX_A and subnetworks on SRX_B.
Table 26 on page 208 shows the traffic selectors for this example. Traffic selectors are
configured under Phase 2 options.
SRX_A SRX_B
NOTE: 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 209, 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
Configuring SRX_A
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
}
}
st0 {
unit 1 {
family inet;
family inet6;
}
}
[edit]
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;
}
}
[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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
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 {
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
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.
Verification
Action From operational mode, enter the show security ipsec security-associations command.
From operational mode, enter the show security ipsec security-associations detail
command.
Version: IKEv1
DF-bit: clear
Bind-interface: st0.1
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.
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
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.
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.
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.
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
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:
Table 27: Comparison Between AutoVPN Point-to-Point and Point-to-Multipoint Secure Tunnel Modes
Table 27: Comparison Between AutoVPN Point-to-Point and Point-to-Multipoint Secure Tunnel Modes (continued)
Allows spoke devices to be SRX Series or third-party devices. This mode is only supported with SRX Series 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 227.
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.
• 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.
NOTE: 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.
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.
• 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.
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 995 and “Understanding Certificate Authority Profiles” on
page 976.
See Also • IPsec VPN with Autokey IKE Configuration Overview on page 55
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.
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.
NOTE: 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 28 on page 231 shows the options used in this example.
Table 28: 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 29 on page 231 shows the options configured on the hub and on all spokes.
IKE gateway:
Table 29: 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 30 on page 232 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
NOTE: 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 233 shows the SRX Series devices to be configured for AutoVPN in this
example.
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
NOTE: 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.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
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
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
Subject string:
C=IN, DC=example.net, ST=KA, L=Mysore, O=example, OU=SLT, CN=spoke1
Alternate subject: "spoke1@example.net", 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
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
[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
user@host# set static route 3.3.3.0/30 next-hop 1.1.1.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/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 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 {
route 2.2.2.0/30 next-hop 1.1.1.2;
route 3.3.3.0/30 next-hop 1.1.1.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 hub-to-spoke-gw {
ike-policy ike-policy1;
dynamic {
distinguished-name {
wildcard OU=SLT;
}
ike-user-type group-ike-id;
}
local-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 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
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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.
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 {
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 {
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;
}
}
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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]
}
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;
}
}
[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
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.
Action From operational mode, enter the 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 hub and spokes.
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 From operational mode, enter the show bgp summary command.
Action From operational mode, enter the show route 60.60.60.0 command.
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.
NOTE: 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 31 on page 258 shows the options used in this example.
Table 31: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Configurations
Option Value
IKE proposal:
Table 31: 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 32 on page 259 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:
Table 32: AutoVPN Configuration for Hub and All Spokes (continued)
Table 33 on page 260 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
NOTE: 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 261 shows the SRX Series devices to be configured for AutoVPN in this
example.
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
NOTE: 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.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
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
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
[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
[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
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 {
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;
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 {
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.
Configuring Spoke 1
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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 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;
}
}
[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;
}
[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;
}
}
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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 {
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 {
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;
}
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]
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
Action From operational mode, enter the show security ike sa command.
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.
Action From operational mode, enter the show security ipsec sa command.
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.
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 From operational mode, enter the show bgp summary command.
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.
NOTE: 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 34 on page 288 shows the options
used in this example.
Table 34: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke iBGP ECMP Configurations
Option Value
IKE proposal:
Table 34: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke iBGP ECMP Configurations (continued)
Option Value
IKE policy:
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 35 on page 289 shows the options configured on the hub and on the spoke.
Table 35: AutoVPN iBGP ECMP Configuration for Hub and Spoke 1
IKE gateway:
Remote IKE ID hub-to-spoke-gw-1: DN on the spoke’s certificate spoke-to-hub-gw-1: DN on the hub’s certificate
with the string SLT in the OU field
spoke-to-hub-gw-2: DN on the hub’s
hub-to-spoke-gw-2: DN on the spoke’s certificate certificate
with the string SBU in the OU field
Table 35: AutoVPN iBGP ECMP Configuration for Hub and Spoke 1 (continued)
VPN:
Routing information for all devices is exchanged through the VPN tunnels.
NOTE: 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 291 shows the SRX Series devices to be configured for AutoVPN in this
example.
Configuration
NOTE: 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.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
Subject string:
C=IN, DC=example.net, ST=KA, L=Bangalore, O=example, OU=SLT, CN=hub
Alternate subject: "hub@example.net", 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
Subject:
Organization: example, Organizational unit: SBU, Country: IN, State: KA,
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
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
Subject:
Organization: example, Organizational unit: SBU, Country: IN, State: KA,
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)
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
NOTE: 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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
[edit interfaces]
user@host# set ge-0/0/1 unit 0 family inet address 1.1.1.1/30
[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
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;
}
}
}
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;
}
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;
}
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 {
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;
}
}
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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
user@host# set static route 1.1.2.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
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 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;
}
}
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;
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
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
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.
Action From operational mode, enter the 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 hub and spoke.
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 From operational mode, enter the show bgp summary command.
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.
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.
NOTE: 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 36 on page 316 shows the options
used in this example.
Table 36: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke iBGP Active-Backup Tunnel Configurations
Option Value
IKE proposal:
IKE policy:
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 37 on page 317 shows the options configured on the hub and on the spoke.
Table 37: AutoVPN IBGP Active-Backup Tunnel Configuration for Hub and Spoke 1
IKE gateway:
Remote IKE ID hub-to-spoke-gw-1: DN on the spoke’s certificate spoke-to-hub-gw-1: DN on the hub’s certificate
with the string SLT in the OU field
spoke-to-hub-gw-2: DN on the hub’s certificate
hub-to-spoke-gw-2: DN on the spoke’s certificate
with the string SBU in the OU field
VPN:
VPN monitor hub-to-spoke-vpn-1: ge-0/0/1.0 (source interface) spoke-to-hub-1: 1.1.1.1 (destination IP)
Routing information for all devices is exchanged through the VPN tunnels.
NOTE: 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 318 shows the SRX Series devices to be configured for AutoVPN in this
example.
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.
Configuration
NOTE: 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.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
Subject:
Organization: example, Organizational unit: SBU, Country: IN, State: KA,
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
[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
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,
Subject:
Organization: example, Organizational unit: SBU, Country: IN, State: KA,
NOTE: 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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
[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;
}
}
}
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 {
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;
[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;
}
}
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
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 {
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;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Spoke 1
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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 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 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;
}
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;
}
}
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;
}
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;
}
}
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
• Verifying IKE Phase 1 Status (Both Tunnels Are Up) on page 339
• Verifying IPsec Phase 2 Status (Both Tunnels Are Up) on page 339
• Verifying IPsec Next-Hop Tunnels (Both Tunnels Are Up) on page 340
• Verifying BGP (Both Tunnels Are Up) on page 340
• Verifying Learned Routes (Both Tunnels Are Up) on page 341
• Verifying IKE Phase 1 Status (Primary Tunnel Is Down) on page 341
• Verifying IPsec Phase 2 Status (Primary Tunnel Is Down) on page 342
• Verifying IPsec Next-Hop Tunnels (Primary Tunnel Is Down) on page 342
• Verifying BGP (Primary Tunnel Is Down) on page 343
• Verifying Learned Routes (Primary Tunnel Is Down) on page 343
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 From operational mode, enter the 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 hub and spoke.
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 From operational mode, enter the show bgp summary command.
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 From operational mode, enter the show route 60.60.60.0 command.
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.
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 From operational mode, enter the 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 hub and spoke.
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 From operational mode, enter the show bgp summary command.
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 From operational mode, enter the show route 60.60.60.0 command.
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.
NOTE: 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 38 on page 345 shows the options used in this example.
Table 38: Phase 1 and Phase 2 Options for AutoVPN Hub and Spoke Basic OSPF Configurations
Option Value
IKE proposal:
IKE policy:
Mode Main
IPsec proposal:
Protocol ESP
IPsec policy:
Table 39 on page 346 shows the options configured on the hub and on all spokes.
Table 39: 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 40 on page 346 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
NOTE: 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 347 shows the SRX Series devices to be configured for AutoVPN in this
example.
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
NOTE: 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.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
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
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
Subject string:
C=IN, DC=example.net, ST=KA, L=Mysore, O=example, OU=SLT, CN=spoke1
Alternate subject: "spoke1@example.net", 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
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
[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 {
route 2.2.2.0/30 next-hop 1.1.1.2;
route 3.3.3.0/30 next-hop 1.1.1.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 hub-to-spoke-gw {
ike-policy ike-policy1;
dynamic {
distinguished-name {
wildcard OU=SLT;
}
ike-user-type group-ike-id;
}
local-identity distinguished-name;
external-interface ge-0/0/1.0;
}
[edit]
user@host# show security ipsec
traceoptions {
flag all;
}
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 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
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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 {
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 {
}
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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 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
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;
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;
}
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.
Verification
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.
Action From operational mode, enter the 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
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.
Action From operational mode, enter the show ospf neighbor command.
Action From operational mode, enter the show route 60.60.60.0 command.
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.
NOTE: 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 AutoVPN hub and all spokes must have the same
values. Table 41 on page 371 shows the options used in this example.
Table 41: 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 42 on page 372 shows the options configured on the hub and on all spokes.
Table 42: AutoVPN 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:
Table 43 on page 372 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
NOTE: 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 373 shows the SRX Series devices to be configured for AutoVPN in this
example.
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
NOTE: 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.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
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
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
[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
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;
}
}
}
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;
}
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;
}
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 {
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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;
}
}
[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 {
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 {
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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;
}
}
}
[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 {
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;
}
}
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.
Verification
Action From operational mode, enter the show security ike sa command.
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.
Action From operational mode, enter the show security ipsec sa command.
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.
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:
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.
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 981.
• Enroll the digital certificates in each device. See “Example: Loading CA and Local
Certificates Manually” on page 990.
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.
Certain Phase 1 and Phase 2 IKE tunnel options configured on the AutoVPN hubs and
spokes must have the same values. Table 44 on page 400 shows the values used in this
example:
Table 44: Phase 1 and Phase 2 Options for AutoVPN Hubs and Spokes with Traffic Selectors
Option Value
IKE proposal:
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 401 shows the SRX Series devices to be configured for this example.
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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.
NOTE: 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
}
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;
}
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
1. Configure interfaces.
[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;
}
}
}
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;
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;
}
}
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
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.
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.
Action 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).
Example: Ensuring VPN Tunnel Availability with AutoVPN and Traffic Selectors
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.
• 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 981.
• Enroll the digital certificates in each device. See “Example: Loading CA and Local
Certificates Manually” on page 990.
NOTE: 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 45 on page 416 shows the values used
in this example:
Table 45: Phase 1 and Phase 2 Options for Georedundant AutoVPN Hubs
Option Value
IKE proposal:
IKE policy:
Certificate local-certificate
IKE gateway:
Table 45: Phase 1 and Phase 2 Options for Georedundant AutoVPN Hubs (continued)
Option Value
Version v2-only
IPsec proposal:
Protocol esp
IPsec policy:
NOTE: 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 417 shows the SRX Series devices to be configured for this example.
Configuration
Configuring Hub A
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
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
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;
}
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;
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;
}
}
}
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;
If you are done configuring the device, enter commit from configuration mode.
Configuring Hub B
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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;
}
}
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]
user@host# show protocols bgp
group internal-peers {
type internal;
local-address 172.169.1.1;
export [ inject_ts1_routes inject_ts2_routes inject_up_routes ];
neighbor 172.169.1.2;
}
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;
}
}
}
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;
If you are done configuring the device, enter commit from configuration mode.
Step-by-Step The eNodeB configuration in this example is provided for reference. Detailed eNodeB
Procedure 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, C=US " # self id
right=2.2.2.1 # peer if
rightsubnet=80.1.1.0/24 # peer net for proxy id
rightid="DC=Domain_component, CN=HubA_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
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
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.
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.
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.
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.
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.
Auto Discovery VPN (ADVPN) dynamically establishes VPN tunnels between spokes to
avoid routing traffic through the Hub.
ADVPN Protocol
ADVPN use an extention of IKEv2 protocol to exhange 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 438 shows traffic from Spoke 1 to Spoke 3 passing through the hub.
Hub
INTERNET
g042808
Spoke 1 Spoke 2 Spoke 3
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 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 439 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.
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 46 on page 440 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.
• 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.
• 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.
• IKEv1
• Policy-based VPN
• Traffic selectors
• Preshared key
See Also
In Figure 28 on page 442, 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.
Figure 28: Static Tunnels and Shortcut Tunnel Established in Hub-and-Spoke Network
In Figure 29 on page 442, 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 443).
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 443). 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
NOTE: 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.
Example: Improving Network Resource Utilization with Auto Discovery VPN Dynamic Tunnels
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 981.
2. Enroll the digital certificates in each device. See “Example: Loading CA and Local
Certificates Manually” on page 990.
NOTE: 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 47 on page 445 shows the values used in this
example.
Table 47: 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
IPsec policy:
The IKE gateway configuration on the hub and spokes include remote and local values
that identify VPN peers. Table 48 on page 446 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 “XYZ” DN with the string “Sales” in the OU field in
in the organization (O) field and “Sales” in the the hub’s certificate
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.
NOTE: 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 447 shows the SRX Series devices to be configured for this example.
Configuration
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
[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 {
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;
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;
}
}
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;
}
}
[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;
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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;
}
}
}
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;
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;
}
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;
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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;
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 {
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;
}
}
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
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
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:
--------------------------------------------------------------------------
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
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 : 2023
Output bytes : 2030
Input packets: 4
Output packets: 4
IPSec security associations: 2 created, 0 deleted
Phase 2 negotiations in progress: 1
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:57:48 -0800: IPSec SA negotiation successfully completed
(1 times)
Tue Jan 13 2015 12:57:48 -0800: Tunnel is ready. Waiting for trigger event
or peer to trigger negotiation (1 times)
Tue Jan 13 2015 12:57:48 -0800: IKE SA negotiation successfully completed (1
times)
Direction: inbound, SPI: a9d301b0, AUX-SPI: 0
Hard lifetime: Expires in 2933 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2311 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: 44ccf265, AUX-SPI: 0
Hard lifetime: Expires in 2933 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2311 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.
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:
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
node0:
--------------------------------------------------------------------------
s Total active tunnels: 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
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:
--------------------------------------------------------------------------
(1 times)
Tue Jan 13 2015 13:12:52 -0800: Tunnel is ready. Waiting for trigger event
or peer to trigger negotiation (1 times)
Tue Jan 13 2015 13:12:52 -0800: IKE SA negotiation successfully completed (1
times)
Direction: inbound, SPI: 75d0177b, AUX-SPI: 0
Hard lifetime: Expires in 3582 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2959 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: e4919d73, AUX-SPI: 0
Hard lifetime: Expires in 3582 seconds
Lifesize Remaining: Unlimited
Soft lifetime: Expires in 2959 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 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 • Understanding OSPF and OSPFv3 Authentication on SRX Series Devices on page 62
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.
NOTE: 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 41 on page 371 shows the options used in this example.
Table 49: Phase 1 and Phase 2 Options for ADPN Hub and Spoke Basic OSPFv3 Configurations
Option Value
IKE proposal:
Table 49: 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 42 on page 372 shows the options configured on the hub and on all spokes.
Table 50: 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:
Table 50: ADVPN OSPFv3 Configuration for Hub and All Spokes (continued)
Table 43 on page 372 shows the configuration options that are different on each spoke.
Routing information for all devices is exchanged through the VPN tunnels.
NOTE: 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 373 shows the SRX Series devices to be configured for ADVPN in this
example.
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
NOTE: 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.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
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
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
[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
Subject:
Organization: example, Organizational unit: SLT, Country: IN, State: KA,
NOTE: The organizational unit (OU) shown in the subject field is SLT.
The IKE configuration on the hub includes ou=SLT to identify the spoke.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
[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
user@host# set reth1 unit 0 family inet6 address 2001:db8:2000::1/64
user@host# set st0 unit 1 multipoint
user@host# set st0 unit 1 family inet6 address 2001:db8:9000::1/64
[edit routing-options]
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;
}
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 {
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;
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;
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;
}
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]
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 1
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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, 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]
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;
}
[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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
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, 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]
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 SPOKE2;
}
}
gateway IKE_GW_SPOKE_2 {
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;
}
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;
}
[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
Action From operational mode, enter the show security ike sa command.
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.
Action From operational mode, enter the show security ipsec sa command.
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.
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.
Enabling OSPF to Update Routes Quickly After ADVPN Shortcut Tunnels Are Established
Problem Description: OSPF can take up to 9 seconds to update a shortcut route in the routing
table. It can take up to 10 seconds before traffic is forwarded to the shortcut tunnel.
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 • Understanding OSPF and OSPFv3 Authentication on SRX Series Devices on page 62
NOTE: 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.
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 517 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.
Trust zone
192.168.168.10/24
e0/6
SSG Series device 192.168.168.1/24
Chicago
e0/0
10.2.2.2/30
Untrust
Internet
zone
ge-0/0/3.0
SRX Series device 10.1.1.2/30
Sunnyvale
ge-0/0/0.0
192.168.10.1/24
Trust zone
g040512a
192.168.10.10/24
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 52 on page 518 through Table 56 on page 520.
ge-0/0/3.0 10.1.1.2/30
This security policy permits traffic from the trust zone to vpn-tr-untr • Match criteria:
the untrust zone. • source-address sunnyvale
• destination-address chicago
• application any
This security policy permits traffic from the untrust zone vpn-untr-tr • Match criteria:
to the trust zone. • source-address chicago
• destination-address sunnyvale
• application any
This security policy permits all traffic from the trust zone permit-any • Match criteria:
to the untrust zone. • source-address any
• source-destination any
NOTE: You must put the vpn-tr-untr policy before the
permit-any security policy. Junos OS performs a security • application any
policy lookup starting at the top of the list. If the
• Action: permit
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.
Configuration
Purpose Parameters
TCP-MSS is negotiated as part of the TCP three-way handshake and limits the maximum size of a TCP MSS value: 1350
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.
NOTE: 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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
route 0.0.0.0/0 next-hop 10.1.1.1;
}
[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 {
If you are done configuring the device, enter commit from configuration mode.
Configuring IKE
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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.2.2.2;
external-interface ge-0/0/3.0;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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;
}
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
[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.
CLI Quick For reference, the configuration for the SSG Series device is provided. For information
Configuration about configuring SSG Series devices, see the Concepts and Examples ScreenOS Reference
Guide, which is located at https://www.juniper.net/documentation.
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.
set policy id 11 from Trust to Untrust “local-net” “corp-net” “ANY” tunnel vpn “corp-vpn”
pair-policy 10
set policy id 10 from Untrust to Trust “corp-net” “local-net” “ANY” tunnel vpn “corp-vpn”
pair-policy 11
set policy id 1 from Trust to Untrust “ANY” “ANY” “ANY” nat src permit
set route 0.0.0.0/0 interface ethernet0/0 gateway 10.2.2.1
Verification
Action NOTE: 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.
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
• Traffic statistics (can be used to verify that traffic is flowing properly in both directions)
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)
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 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.
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.
• Understanding CoS-Based IPsec VPNs with Multiple IPsec SAs on page 537
• Understanding Traffic Selectors and CoS-Based IPsec VPNs on page 540
• Example: Configuring CoS-Based IPsec VPNs on page 542
• Benefits of CoS-Based IPsec VPNs with Multiple IPsec SAs on page 537
• Overview on page 538
• Mapping FCs to IPsec SAs on page 538
• IPsec SA Negotiation on page 538
• Rekey on page 539
• Adding or Deleting FCs from a VPN on page 539
• Dead Peer Detection (DPD) on page 539
• Commands on page 539
• Supported VPN Features on page 539
• 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.
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.
The following VPN features are supported with CoS-based IPsec VPNs:
• AutoVPN.
• Traffic selectors.
See Also • Understanding Traffic Selectors and CoS-Based IPsec VPNs on page 540
• 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;
}
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;
}
}
}
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 • Understanding CoS-Based IPsec VPNs with Multiple IPsec SAs on page 537
NOTE: 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 543 shows an example of an IPsec route-based VPN topology. In this
topology, one SRX Series device is located in Sunnyvale, and another SRX Series device
is located in Chicago.
Trust Zone
192.0.2.167/24
e0/6
192.0.2.169/24
Chicago 203.0.113.11/24 VPN-chicago zone
SSG Series Device tunnel1
e0/0
198.51.100.102/30
Untrust Zone
INTERNET
ge-0/0/3.0
192.51.100.2/30
Sunnyvale st0.0 VPN-sunnyvale zone
SRX Series Device 203.0.113.10/24
ge-0/0/0.0
192.0.2.1/24
Trust Zone
g040511a
192.0.2.10/24
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 57 on page 543
through Table 60 on page 545.
ge-0/0/3.0 198.51.100.2/30
Table 57: Interface, Static Route, and Security Zone Information (continued)
The security policy permits traffic from the trust vpn • Match criteria:
zone to the vpn zone. • source-address sunnyvale
• destination-address chicago
• application any
• Action: permit
The security policy permits traffic from the vpn vpn • Match criteria:
zone to the trust zone. • source-address chicago
• destination-address sunnyvale
• application any
• Action: permit
Configuration
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/0 unit 0 family inet address 203.0.113.1/25
user@host# set interfaces ge-0/0/3 unit 0 family inet address 198.51.100.2/30
user@host# set interfaces st0 unit 0 family inet
[edit]
user@host# set routing-options static route 0.0.0.0/0 next-hop 198.51.100.2
[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 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 203.0.113.2/25;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 198.51.100.2/30;
}
}
}
st0 {
unit 0 {
family inet ;
}
}
[edit]
user@host# show routing-options
static {
route 0.0.0.0/0 next-hop 198.51.100.2;
}
[edit]
user@host# show security zones
security-zone Host {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
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;
}
}
security-zone vpn {
interfaces {
st0.0;
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring CoS
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
[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;
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 {
If you are done configuring the device, enter commit from configuration mode.
Configuring IKE
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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-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-chicago {
ike-policy ike-policy;
address 198.51.100.102;
external-interface ge-0/0/3.0;
version v2-only;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
proposals ipsec_prop;
}
vpn ipsec_vpn1 {
bind-interface st0.1;
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 IKE_GW1;
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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
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 • Understanding CoS-Based IPsec VPNs with Multiple IPsec SAs on page 537
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.
• 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.
• 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.
Example: Configuring a Route-Based VPN with Only the Responder Behind a NAT Device
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 568 shows an example of a topology for route-based VPN with only the
responder behind a NAT device.
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 61 on page 569 through Table 63 on page 570 for specific configuration
parameters used for the initiator in the examples.
Table 61: Interface, Routing Options, Zones, and Security Policies for the Initiator
ge-0/0/3 33.1.1.1/24
Table 62: IKE Phase 1 Configuration Parameters for the Initiator (continued)
See Table 64 on page 570 through Table 66 on page 571 for specific configuration
parameters used for the responder in the examples.
Table 64: Interface, Routing Options, Zones, and Security Policies for the Responder
ge-0/0/3 32.1.1.1/24
Table 64: Interface, Routing Options, Zones, and Security Policies for the Responder (continued)
Configuration
• Configuring Interface, Routing Options, Security Zones, and Security Policies for the
Initiator on page 572
• Configuring IKE for the Initiator on page 576
Configuring Interface, Routing Options, Security Zones, and Security Policies for the
Initiator
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
[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
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;
}
}
[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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 branch_natt1@example.net;
remote-identity user-at-hostname responder_natt1@example.net;
external-interface ge-0/0/1.0;
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
set security policies from-zone untrust to-zone trust policy from-chicago match
destination-address Sunnyvale-lan
set security policies from-zone untrust to-zone trust policy from-chicago match application
any
set security policies from-zone untrust to-zone trust policy from-chicago then permit
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
[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
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;
}
}
[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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 "responder_natt1@example.net";
remote-identity user-at-hostname "branch_natt1@example.net";
external-interface ge-0/0/2.0;
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
If you are done configuring the device, enter commit from configuration mode.
Verification
• Verifying the IKE Phase 1 Status for the Initiator on page 590
• Verifying IPsec Security Associations for the Initiator on page 592
• Verifying the IKE Phase 1 Status for the Responder on page 593
• Verifying IPsec Security Associations for the Responder on page 595
Action NOTE: 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
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.
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
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.
• 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.
Example: Configuring a Policy-Based VPN with Both an Initiator and a Responder Behind a NAT
Device
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.
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 598 shows an example of a topology for a VPN with both an initiator
and a responder behind a NAT device.
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/2.0
SRX Series device 10.1.99.1/24
Chicago
(initiator)
ge-0/0/1.0
12.168.99.100/24
ge-0/0/1.0
12.168.99.1
NAT router
ge-0/0/2.0
1.1.100.2
Policy-based tunnel
Untrust
zone Internet
ge-0/0/2.0
1.1.100.1
NAT router
ge-0/0/1.0
13.168.11.1
ge-0/0/2.0
SRX Series device 13.168.11.100/24
Sunnyvale
(responder)
ge-0/0/2.0
10.2.99.1/24
Trust zone
10.2.99.2
g034204
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 NAT device and mapped to public IP address 1.1.100.1.
See Table 67 on page 599 through Table 70 on page 600 for specific configuration
parameters used for the initiator in the examples.
Table 67: Interface, Routing Options, and Security Zones for the Initiator
ge-0/0/2 10.1.99.1/24
1.1.100.0/24 12.168.99.1
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
The security policy permits tunnel traffic from pol1 • Match criteria:
the untrust zone to the trust zone. • source-address any
• destination-address any
• application any
See Table 71 on page 600 through Table 74 on page 602 for specific configuration parameters
used for the responder in the examples.
Table 71: Interface, Routing Options, and Security Zones for the Responder
ge-0/0/3 10.2.99.1/24
1.1.100.0/24 13.168.11.1
Table 71: 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
The security policy permits tunnel traffic from pol1 • Match criteria:
the untrust zone to the trust zone. • source-address any
• destination-address any
• application any
Configuration
• Configuring Interface, Routing Options, and Security Zones for the Initiator on page 602
• Configuring IKE for the Initiator on page 605
• Configuring IPsec for the Initiator on page 607
• Configuring Security Policies for the Initiator on page 609
• Configuring Interface, Routing Options, and Security Zones for the Responder on page 611
• Configuring IKE for the Responder on page 613
• Configuring IPsec for the Responder on page 616
• Configuring Security Policies for the Responder on page 618
Configuring Interface, Routing Options, and Security Zones for the Initiator
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
[edit]
set interfaces ge-0/0/1 unit 0 family inet address 12.168.99.100/24
set interfaces ge-0/0/2 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 13.168.11.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/2.0
set security zones security-zone untrust host-inbound-traffic system-services all
set security zones security-zone untrust host-inbound-traffic protocols all
set security zones security-zone untrust interfaces ge-0/0/1.0
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/1 unit 0 family inet address 12.168.99.100/24
user@host# set interfaces ge-0/0/2 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 13.168.11.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/1 {
unit 0 {
family inet {
address 12.168.99.100/24;
}
}
}
ge-0/0/2 {
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 13.168.11.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 untrust {
host-inbound-traffic {
system-services {
all;
}
protocols{
all;
}
}
interfaces {
ge-0/0/1.0.;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/2.0;
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
To configure IKE:
10. Create an IKE Phase 1 gateway and define its external interface.
14. Set remote-identity for the responder. This is the responder’s local identity.
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 md5;
encryption-algorithm 3des-cbc;
}
policy ike_pol {
mode main;
proposals ike_prop;
pre-shared-key ascii-text “$ABC123”;
}
gateway gate {
ike-policy ike_pol;
address 1.1.100.23;
local-identity hostname chicago;
remote-identity hostname sunnyvale;
external-interface ge-0/0/1.0;
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
To configure IPsec:
[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
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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 source-address
any
set security policies from-zone untrust to-zone trust policy pol1 match destination-address
any
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
}
}
from-zone untrust to-zone trust {
policy pol1 {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
tunnel {
ipsec-vpn first_vpn;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Interface, Routing Options, and Security Zones for the Responder
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
[edit]
user@host# set interfaces ge-0/0/2 unit 0 family inet address 13.168.11.100/24
user@host# set interfaces ge-0/0/3 unit 0 family inet address 10.2.99.1/24
[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 12.168.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 untrust host-inbound-traffic protocols
all
[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/2 {
unit 0 {
family inet {
address 13.168.11.100/24;
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 10.2.99.1/244;
}
}
}
[edit]
user@host# show routing-options
static {
route 10.1.99.0/24 next-hop 13.168.11.1;
route 12.168.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 {
system-services {
all;
protocols {
all;
}
}
interfaces {
ge-0/0/2.0;
}
}
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/3.0;
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
To configure IKE:
[edit security ike policy ike_pol proposals ike_prop set security ike policy ike_pol
pre-shared-key]
user@host# set ascii-text "$ABC123"
10. Create an IKE Phase 1 gateway and define its external interface.
14. Set remote-identity for the responder. This is the responder’s local identity.
15. Set dead peer detection to detect whether the peer is up or down.
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 md5;
encryption-algorithm 3des-cbc;
}
policy ike_pol {
mode main;
proposals ike_prop;
pre-shared-key ascii-text "$ABC123";
}
gateway gate {
ike-policy ike_pol;
address 1.1.100.22;
dead-peer-detection probe-idle-tunnel;
external-interface ge-0/0/2.0;
local-identity hostname sunnyvale;
remote-identity hostname chicago;
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
To configure IPsec:
[edit]
user@host# set security ipsec proposal ipsec_prop
10. Specify that the tunnel be brought up immediately without a verification packet.
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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 source-address
any
set security policies from-zone untrust to-zone trust policy pol1 match destination-address
any
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
}
}
from-zone untrust to-zone trust {
policy pol1 {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
tunnel {
ipsec-vpn first_vpn;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
• Verifying the IKE Phase 1 Status for the Initiator on page 620
• Verifying IPsec Security Associations for the Initiator on page 622
• Verifying the IKE Phase 1 Status for the Responder on page 623
• Verifying IPsec Security Associations for the Responder on page 625
Action NOTE: 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 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.
{primary:node0}[edit]
root@poway# run show security ike security-associations detail
node0:
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)
• Role information
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.
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.
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.
• 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
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:
• 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.
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 628 shows an example of a topology with NAT-Traversal (NAT-T) and
dynamic endpoint VPN.
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.
NOTE: 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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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;
}
}
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;
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
[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;
}
}
[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]
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
[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;
}
}
}
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;
}
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 {
gateway Branch_GW;
ipsec-policy IPSEC_POL;
}
}
[edit]
user@host# show security policies
default-policy {
permit-all;
}
Verification
• Verifying the IKE Phase 1 Status for the Responder on page 641
• Verifying IPsec Security Associations for the Responder on page 643
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
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.
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.
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.
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.
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.
NOTE: 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 649,
the physical interfaces reth0.0 and ge-0/0/0.1 support parallel IPv4 and IPv6 tunnels
between two devices.
NOTE: In Figure 43 on page 649, 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 and the remote IKE gateway address must be in the
same address family, either IPv4 or IPv6.
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 • VPN Feature Support for IPv6 Addresses on page 669
Requirements
Before you begin, read “Understanding VPN Tunnel Modes” on page 647.
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.
• 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 75 on page 650 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
Option Value
Mode Aggressive
Table 76 on page 651 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
Option Value
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.
NOTE: 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 653, 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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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]
user@host# set st0 unit 0 family inet6
user@host# set st0 unit 1 family inet
user@host# set st0 unit 1 family inet6
[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]
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;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
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.
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
Verifying Routes
Meaning The show route command lists active entries in the routing tables.
See Also
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.
Mobile
ENode B CHASSIS CLUSTER Management
Entity
g043159
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 661. This deployment is known as dual
active-backup IPsec VPN chassis clusters.
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.
• 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 • Chassis Cluster Feature Guide for SRX Series Devices
Requirements
• Two switches
Understand chassis cluster redundant Ethernet interfaces. See Chassis Cluster Feature
Guide for SRX Series Devices.
Overview
NOTE: 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 664 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
CLI Quick To quickly configure this section of the example, copy the following commands, paste
Configuration 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.
[edit interfaces]
user@host# set lo0 redundant-pseudo-interface-options redundancy-group 1
[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 {
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.
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 • Understanding the Loopback Interface for a High Availability VPN on page 954
Juniper Networks supports manual and autokey IKE with preshared keys configurations
for IPv6 IPsec VPN.
Table 77 on page 669 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 –
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.
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 tunnel
a single physical interface 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.
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:
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.
ID Type Value
RESERVED 0
ID_IPV4_ADDR 1
ID_FQDN 2
ID Type Value
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
• Proxy ID
• Security Association
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.
NOTE: Packet reordering for IPv6 fragments over a tunnel is not supported.
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 675.
Unlike ESP, the AH authentication algorithm covers the outer header as well as any new
extension headers and options.
NOTE: AH tunnel mode on SRX Series devices does not support IPv4 mutable
options or IPv6 mutable extension headers. See Table 79 on page 676.
ESP protocol provides both encryption and authentication for IPv6 packets. Because
IPv6 IPsec uses extension headers (for example, hop-by-hop and routing options) in the
IPv6 datagram, the most important difference between IPv6 ESP tunnel mode and IPv4
ESP tunnel mode is the placement of extension headers in the packet layout. In ESP
tunnel mode, the ESP header immediately follows the new outer IPv6 header similar to
that in IPv4 ESP tunnel mode. Therefore, in ESP tunnel mode, the entire packet is
encapsulated by adding a new outer IPv6 header, followed by an ESP header, an inner
header, extension headers, and the rest of the original datagram as shown in
Figure 49 on page 676.
IPsec packets with IPv4 options or IPv6 extension headers can be received for
decapsulation on SRX Series devices. Table 79 on page 676 shows the IPv4 options or
IPv6 extension headers that are supported with the ESP or AH protocol on SRX Series
devices. If an unsupported IPsec packet is received, ICV calculation fails and the packet
is dropped.
The AH protocol verifies the integrity of the IPv6 packet by computing an Integrity Check
Value (ICV) on the packet contents. ICV is usually built over an authentication algorithm
such as MD5 or SHA-1. The IPv6 ICV calculations differ from that in IPv4 in terms of two
header fields—mutable header and optional extension header.
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.
NOTE: 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.
In tunnel mode, the source and destination addresses of the outer IPv4 or IPv6 header
represent the tunnel endpoints, while the source and destination addresses of the inner
IPv4 or IPv6 header represent the final source and destination addresses.
Table 80 on page 677 summarizes how the outer IPv6 header relates to the inner IPv6 or
IPv4 header for IPv6-in-IPv6 or IPv4-in-IPv6 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 80: IPv6 Header Construction for IPv6-in-IPv6 and IPv4-in-IPv6 Tunnel Modes
version 6. No change.
Table 81 on page 678 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 81: IPv4 Header Construction for IPv6-in-IPv4 and IPv4-in-IPv4 Tunnel Modes
version 4. No change.
ID Constructed. No change.
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.
• 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 679.
• 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 • IPsec VPN with Autokey IKE Configuration Overview on page 55
• Example: Configuring an IPv6 address as the Source Address for a CA Profile on page 979
Requirements
• Understand how VPNs work. See “IPsec VPN Overview” on page 31.
• Understand IPv6 IPsec packet processing. See “Understanding IPv6 IKE and IPsec
Packet Processing” on page 673.
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
[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
Action From operational mode, enter the show security ipsec security-associations command.
Requirements
• SRX300 device
• Understand how VPNs work. See “IPsec VPN Overview” on page 31.
• Understand IPv6 IKE and IPsec packet processing. See “Understanding IPv6 IKE and
IPsec Packet Processing” on page 673.
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 683 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.
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 82 on page 683 through Table 86 on page 685.
ge-0/0/15.0 2001:db8:0:4::/64
Table 82: Interface, 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 2001:db8:1:2::/64.
This security policy permits traffic from the trust zone ipv6-vpn-tr-untr • Match criteria:
to the untrust zone. • source-address sunnyvale
• destination-address chicago
• application any
This security policy permits traffic from the untrust zone ipv6-vpn-untr-tr • Match criteria:
to the trust zone. • source-address chicago
• destination-address sunnyvale
• application any
This security policy permits all traffic from the trust permit-any • Match criteria:
zone to the untrust zone. • source-address any
• source-destination any
NOTE: You must put the ipv6-vpn-tr-untr policy before
the permit-any security policy. Junos OS performs a • application any
security policy lookup starting at the top of the list. If
• Action: permit
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 of a MSS value: 1350
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.
NOTE: 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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
}
}
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 {
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
If you are done configuring the device, enter commit from configuration mode.
Configuring IPsec
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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;
}
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring TCP-MSS
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
[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.
Verification
Action NOTE: 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)
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)
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:
• 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.
NOTE: For some third-party vendors, the proxy ID must be manually entered
to match.
Group VPNv1
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.
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 addresses in the outer header. Secure multicast packets are
replicated in the same way as cleartext multicast packets in the core network.
NOTE: 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.
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
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).
• 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 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.
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).
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.
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.
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.
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.
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 751.
2. Phase 2 IPsec SA. See “Understanding IPsec SA Configuration for Group VPNv1” on
page 712.
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 711.
2. Phase 2 IPsec SA. See “Understanding IPsec SA Configuration for Group VPNv1” on
page 712.
3. Scope policy that determines which group policies are installed on the member. See
“Understanding Dynamic Policies for Group VPNv1” on page 713.
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.
See Also
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.
NOTE: 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 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
Phase 2 IPsec configuration for group VPNv1 consists of the following information:
• 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
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.
NOTE: 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.
NOTE: 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.
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.
Requirements
• Configure network interfaces on server and member devices. See Interfaces Feature
Guide for Security Devices.
Overview
In Figure 52 on page 715, 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.
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
[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;
pre-shared-key ascii-text "$ABC123"; ## 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;
ipsec-sa group-sa {
proposal group-prop;
match-policy p1 {
source 10.1.0.0/16;
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;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Member1
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
To configure member1:
3. Configure the group identifier, IKE gateway, and interface for member1.
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.
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;
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;
}
}
}
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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
set security policies from-zone untrust to-zone trust policy multicast-scope2 then permit
tunnel ipsec-group-vpn v2
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
To configure member2:
3. Configure the group identifier, IKE gateway, and interface for member2.
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 {
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;
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;
}
}
}
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;
application any;
}
then {
deny;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
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.
Action After the group server downloads keys to member2, enter the show security
dynamic-policies command from operational mode.
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 • Example: Configuring a Group IKE ID for Multiple Users on page 917
Example: Configuring Group VPNv1 Server-Member Communication for Unicast Rekey Messages
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
Default values are used for server heartbeats, KEK lifetime, and retransmissions.
Configuration
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
Verification
To verify the configuration is working properly, enter the show security group-vpn server
group g1 server-member-communication command.
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 714 or
“Example: Configuring Group VPNv1 with Server-Member Colocation” on page 734.
• 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.
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
Results 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
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 • Example: Configuring a Group IKE ID for Multiple Users on page 917
Requirements
• Configure network interfaces on server and member devices. See Interfaces Feature
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 735, 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.
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)
Configuration
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p2 source
10.2.0.0/16
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p2 destination
10.1.0.0/16
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p2 source-port
0
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p2
destination-port 0
set security group-vpn server group grp1 ipsec-sa group-sa match-policy p2 protocol 0
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
set security group-vpn co-location
set security group-vpn member ipsec vpn v1 ike-gateway g1
set security group-vpn member ipsec vpn v1 group-vpn-external-interface ge-0/1/0
set security address-book book1 address 10_subnet 10.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 attach zone untrust
set security policies from-zone trust to-zone untrust policy scope1 match source-address
10_subnet
set security policies from-zone trust to-zone untrust policy scope1 match
destination-address 10_subnet
set security policies from-zone trust to-zone untrust policy scope1 match application any
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
[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).
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.
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.
NOTE: 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 {
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;
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;
}
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;
}
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
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.
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
Group VPNv2
g043220
Group VPNv2 extends IPsec architecture to support SAs that are shared by a group of
security devices (see Figure 55 on page 745). 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, and SRX4200 devices and vSRX instances.
IPsec SA
g043221
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.
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.
• 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.
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.
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.
NOTE: Group VPNv2 servers only operate with Group VPNv2 members that
support RFC 6407, The Group Domain of Interpretation (GDOI).
• SNMP.
• Colocation of group server and member, where server and member functions coexist
in the same physical device.
• 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.
Group Keys
• 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).
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.
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.
See Also
1. IKE Phase 1 SA. See “Understanding IKE Phase 1 Configuration for Group VPNv2” on
page 751.
2. IPsec SA. See “Understanding IPsec SA Configuration for Group VPNv2” on page 752.
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 750 and “Understanding Group
VPNv2 Traffic Steering” on page 752.
1. IKE Phase 1 SA. See “Understanding IKE Phase 1 Configuration for Group VPNv2” on
page 751.
2. IPsec SA. See “Understanding IPsec SA Configuration for Group VPNv2” on page 752.
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 752.
4. Security policy to allow group VPN traffic between the zones specified in the IPsec
policy.
The group is configured on the server with the group configuration statement at the [edit
security group-vpn server] hierarchy.
• 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.
• 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 793.
See Also
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, and SRX4200 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.
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
• 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.
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.
NOTE: 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.
NOTE: 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.
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 raffic 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 • Understanding Configuration Changes with Group VPNv2 Server Clusters on page 800
• 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
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.
NOTE: 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.
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.
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 757 shows the Juniper Networks devices to be configured for this
example.
Figure 56: Group VPNv2 Server with SRX or vSRX and MX Series Members
Configuration
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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;
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;
}
}
}
}
}
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
set security policies from-zone LAN to-zone WAN policy 1 match destination-address
172.16.0.0/12
set security policies from-zone LAN to-zone WAN policy 1 match application any
set security policies from-zone LAN to-zone WAN policy 1 then permit
set security policies from-zone LAN to-zone WAN policy 1 then log session-init
set security policies from-zone WAN to-zone LAN policy 1 match source-address
172.16.0.0/12
set security policies from-zone WAN to-zone LAN policy 1 match destination-address
172.16.0.0/12
set security policies from-zone WAN to-zone LAN policy 1 match application any
set security policies from-zone WAN to-zone LAN policy 1 then permit
set security policies from-zone WAN to-zone LAN policy 1 then log session-init
set security policies global policy 1000 match source-address any
set security policies global policy 1000 match destination-address any
set security policies global policy 1000 match application any
set security policies global policy 1000 match from-zone any
set security policies global policy 1000 match to-zone any
set security policies global policy 1000 then reject
set security policies global policy 1000 then log session-init
set security policies global policy 1000 then count
set security policies default-policy deny-all
set routing-options static route 10.18.102.0/24 next-hop 10.18.101.254
set routing-options static route 10.18.103.0/24 next-hop 10.18.101.254
set routing-options static route 10.18.104.0/24 next-hop 10.18.101.254
set routing-options static route 172.16.101.0/24 next-hop 10.18.101.254
set routing-options static route 172.16.102.0/24 next-hop 10.18.101.254
set routing-options static route 172.16.103.0/24 next-hop 10.18.101.254
set routing-options static route 172.16.104.0/24 next-hop 10.18.101.254
set routing-options static route 10.10.100.0/24 next-hop 10.18.101.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 KeySrv mode main
set security group-vpn member ike policy KeySrv proposals PSK-SHA256-DH14-AES256
set security group-vpn member ike policy KeySrv pre-shared-key ascii-text "$ABC123"
set security group-vpn member ike gateway KeySrv ike-policy KeySrv
set security group-vpn member ike gateway KeySrv server-address 10.10.100.1
set security group-vpn member ike gateway KeySrv local-address 10.18.101.1
set security group-vpn member ipsec vpn GROUP_ID-0001 ike-gateway KeySrv
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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]
}
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;
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 {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
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.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 {
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;
}
}
}
}
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 {
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 {
ike;
ssh;
ping;
}
}
interfaces {
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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
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 KeySrv mode main
set security group-vpn member ike policy KeySrv proposals PSK-SHA256-DH14-AES256
set security group-vpn member ike policy KeySrv pre-shared-key ascii-text "$ABC123"
set security group-vpn member ike gateway KeySrv ike-policy KeySrv
set security group-vpn member ike gateway KeySrv server-address 10.10.100.1
set security group-vpn member ike gateway KeySrv local-address 10.18.103.1
set security group-vpn member ipsec vpn GROUP_ID-0001 ike-gateway KeySrv
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
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 inbound-ks then skip
set firewall family inet service-filter GroupVPN-KS term outbound-ks from
destination-address 10.10.100.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
[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
user@host# set static route 10.18.104.0/24 next-hop 10.18.103.254
user@host# set static route 172.16.101.0/24 next-hop 10.18.103.254
user@host# set static route 172.16.102.0/24 next-hop 10.18.103.254
user@host# set static route 172.16.103.0/24 next-hop 10.18.103.254
user@host# set static route 172.16.104.0/24 next-hop 10.18.103.254
user@host# set static route 10.10.100.0/24 next-hop 10.18.103.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.103.1/24;
}
}
}
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 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;
}
}
}
}
[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;
}
}
}
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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
[edit interfaces]
user@host# set xe-0/0/1 unit 0 family inet service input service-set GROUP_ID-0001
service-filter GroupVPN-KS
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]
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;
}
}
}
Verification
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.
Action From operational mode, enter the show security group-vpn server statistics command
on the group server.
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
group server.
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
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.
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.
Unsupported Algo : 0
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.
Action From operational mode, enter the show security group-vpn member policy command on
the group member.
Example: Configuring Group VPNv2 Server-Member Communication for Unicast Rekey Messages
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, and SRX4200 devices and vSRX instances.
Requirements
• Configure the group server and members for IKE Phase 1 negotiation.
Overview
Configuration
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode.
Verification
To verify the configuration is working properly, enter the show security group-vpn server
group g1 server-member-communication command.
See Also • Example: Configuring Group VPNv1 Server and Members on page 714
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.
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 794.
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.
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.
NOTE: 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 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 796.
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
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 796
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.
NOTE: 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.
• 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.
• 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 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:
• 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
This section describes the messages exchanged between the root-server and sub-servers.
Cluster Exchanges
Figure 58 on page 798 shows the basic messages exchanged between the Group VPNv2
server cluster and Group VPNv2 members.
Cluster-Init Exchanges
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.
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.
See Also
NOTE: 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 87 on page 800 describes the effects of various configuration changes on Group
VPNv2 servers.
Change IKE proposal, policy, Delete the IKE SA for the affected gateway. For IKE proposal, policy, or gateway deletions,
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 SAs sub-servers. Delete all keys Delete all keys in the group
in the group. Delete all keys in in the group immediately. immediately. Delete all
the group immediately. Mark all peers inactive. Delete registered members in the
Delete all registered members sub-server IKE SAs. Delete all group. Mark peer inactive.
in the group. member IKE SAs. Delete peer server IKE SAs.
Change ID Send “delete all” to all Send ”delete all” to Delete all member IKE SAs in
members. Delete all IKE SAs sub-servers. Delete all the group. Delete all keys in the
in the group. Delete all keys in member IKE SAs in the group. group immediately. Delete all
the group immediately. Delete all keys in the group registered members in the
Delete all registered members immediately. Mark all peers group. Mark peer inactive.
in the group. Generate new inactive. Delete all peer server Delete peer server IKE SAs.
keys according to the IKE SAs. Generate new keys Initiate new cluster-init
configuration. according to the exchange.
configuration.
Add or delete IKE gateway No changes for additions. For deletions, delete the IKE SA and registered members for the
affected gateway.
Add or change anti-replay New value takes effect after the TEK rekey.
time window
Add or change no anti-replay New value takes effect after the TEK rekey.
Add Delete all registered Generate KEK SA. Send new Delete all registered members.
members. Generate key KEK SA to sub-server. Delete
encryption key (KEK) SA. all member IKE SAs.
Delete Send delete to delete all KEK Send delete to sub-servers. Delete KEK SA.
SAs. Delete KEK SA. Delete KEK SA. Delete all
member IKE SAs.
IPsec SA:
Add Generate new TEK SA. Generate new TEK SA. Send No action.
Update the new TEK SA on new TEK SA to sub-servers.
members.
Change New value takes effect after If the match-policy changes, If the match-policy changes,
TEK rekey. send delete to sub-servers. delete TEK immediately.
Delete TEK immediately.
If the match-policy 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.
Table 88 on page 802 describes the effects of changing Group VPNv2 server cluster
configuration.
NOTE: 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 affected
gateway (cluster peer) peer.
Server cluster:
Change role Send “delete all” to sub-servers. Delete all Rekey TEK. Rekey KEK. Send new keys to
member IKE SAs in the group. Delete all sub-servers. Send new keys to members.
NOTE: You must ensure that TEKs and KEKs immediately in the group.
there is only one root-server Mark all peers inactive. Delete all peer server
in a server cluster at any IKE SAs. Send cluster-init to root-server.
time.
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 all Delete all member IKE SAs in the group. Delete
TEKs and KEKs immediately in the group. all TEKs and KEKs immediately in the group.
Mark all peers inactive. Delete all peer server Delete all registered members in the group. Mark
IKE SAs. Generate new TEKs and KEKs peer inactive. Delete peer server IKE SAs. Generate
according to the configuration. new TEK and KEK according to the configuration.
See Also
1. Upgrade the standalone Group VPNv2 server to a chassis cluster. See Chassis Cluster
Feature Guide for SRX Series Devices for more information
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.
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.
• 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.
NOTE: The configurations in this example focus on what is needed for Group
VPNv2 operation, based on the topology shown in Figure 59 on page 806. Some
configurations, such as interface, routing, or chassis cluster setups, are not
included here. For example, Group VPNv2 operation requires a working routing
topology 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.
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.
NOTE: 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.
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 806 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
Configuration
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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;
family inet {
address 10.10.104.1/24;
}
}
}
[edit]
user@host# show chassis cluster
reth-count 5;
redundancy-group 1 {
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;
}
}
}
}
}
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;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Configuring Sub-Server 1
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
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;
}
}
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;
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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 {
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;
}
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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;
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;
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 {
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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;
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;
}
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 {
ge-0/0/0.0;
ge-0/0/1.0;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
set security policies from-zone WAN to-zone LAN policy 1 match source-address
172.16.0.0/12
set security policies from-zone WAN to-zone LAN policy 1 match destination-address
172.16.0.0/12
set security policies from-zone WAN to-zone LAN policy 1 match application any
set security policies from-zone WAN to-zone LAN policy 1 then permit
set security policies from-zone WAN to-zone LAN policy 1 then log session-init
set security policies global policy 1000 match source-address any
set security policies global policy 1000 match destination-address any
set security policies global policy 1000 match application any
set security policies global policy 1000 match from-zone any
set security policies global policy 1000 match to-zone any
set security policies global policy 1000 then deny
set security policies global policy 1000 then log session-init
set security policies global policy 1000 then count
set security policies default-policy deny-all
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.101.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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
[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;
}
}
}
ge-0/0/1 {
unit 0 {
description To_SubSrv;
family inet {
address 10.18.101.1/24;
}
}
}
[edit]
}
}
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;
}
}
}
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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]
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.102.1;
}
}
ipsec {
vpn GROUP_ID-0001 {
ike-gateway SubSrv;
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;
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;
}
}
}
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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 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.103.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
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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
}
}
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;
}
}
}
}
[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]
If you are done configuring the device, enter commit from configuration mode.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
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
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 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 {
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;
}
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
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.
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.
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
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.
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
Action From operational mode, enter the show security group-vpn member policy command
on SRX or vSRX group members.
• Remote Access VPNs with NCP Exclusive Remote Access Client on page 873
• Dynamic VPNs with Pulse Secure Clients on page 894
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.
• Understanding IPsec VPNs with NCP Exclusive Remote Access Client on page 873
• Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access
Client on page 878
• Example: Configuring the SRX Series Device for NCP Exclusive Remote Access
Clients on page 881
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.
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.
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.
NOTE: 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
• EAP-MD5
• 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.
NOTE: 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 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
NOTE: 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
Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access Client
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 on page 878
• NCP Exclusive Remote Access Client on page 878
• Licensing on page 879
• Operation on page 879
• Supported Features on page 879
• Caveats on page 880
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.)
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.
NOTE: 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
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.
NOTE: 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.)
NOTE: 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
Example: Configuring the SRX Series Device for NCP Exclusive Remote Access Clients
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.
NOTE: 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.
NOTE: The configuration of the NCP Exclusive Remote Access Client profile
must match the VPN configuration on the SRX Series device.
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.
NOTE: In this example, the security policies permit all traffic. More restrictive
security policies should be configured for production environments.
Table 89 on page 882 shows the IKE and IPSec values configured on the SRX Series device
to support NCP Exclusive Remote Access Client connections in this example.
Table 89: IKE and IPSec Options on the SRX Series Device for NCP Exclusive Remote Access Client Connections
Option Value
IKE proposal:
IKE policy:
Certificate local-certificate
IKE gateway:
Dynamic user-at-hostname
Version v2-only
IPsec proposal:
Protocol esp
Table 89: IKE and IPSec Options on the SRX Series Device for NCP Exclusive Remote Access Client
Connections (continued)
Option Value
IPsec policy:
Topology
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
remoteuser@example.net
g200033
IP Address Pool:
198.51.100.10 - 198.51.100.254
Configuration
Step-by-Step In this example, the first step is to enroll a certificate authority (CA) certificate and a local
Procedure 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
Type yes at the prompt to load the CA certificate, if the value is trusted.
5. Enroll the local certificate. In this example, the certificate is enrolled using Simple
Certificate Enrollment Protocol (SCEP).
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
NOTE: 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
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.
}
firewall-authentication {
web-authentication {
default-profile xauth-users;
}
}
user@host# show security
pki {
ca-profile root-ca {
ca-identity root-ca;
revocation-check {
disable;
}
}
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 "remoteuser@example.net";
ike-user-type group-ike-id;
}
dead-peer-detection {
always-send;
interval 60;
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;
}
}
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;
}
}
}
}
}
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.
Verification
Action From operational mode, enter the show security ike security-associations command.
From operational mode, enter the show security ike security-associations detail command.
Algorithms:
Authentication : hmac-sha256-128
Encryption : aes256-gcm
Pseudo random function: hmac-sha256
Diffie-Hellman group : DH-group-19
Traffic statistics:
Input bytes : 3384
Output bytes : 4923
Input packets: 9
Output packets: 13
Input fragmentated packets: 2
Output fragmentated packets: 7
IPSec security associations: 2 created, 0 deleted
Phase 2 negotiations in progress: 1
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.
Action From operational mode, enter the show security tcp-encap connections command.
From operational mode, enter the show security tcp-encap statistics command.
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.
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.
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.
• 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.
NOTE: 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:
NOTE: 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:
NOTE: 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.
3. Click Add, then click Connect. The Pulse Secure remote client program connects to
the SRX Series using HTTPS.
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.
NOTE: 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 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.
The default values for IKE and IPsec security association (SA) rekey timeout are as
follows:
NOTE: 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.
NOTE: 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.
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.
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.
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.
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.
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.
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.
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.
NOTE: 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.
When group IKE IDs are configured, the IKE ID of each user is a concatenation of a
user-specific part and a part that is common to all group IKE ID users. For example, the
user Bob might use ”Bob.example.net“ as his full IKE ID, where ”.example.net“ is common
to all users. The full IKE ID is used to uniquely identify each user connection.
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.
NOTE: 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 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.
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.
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 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
Requirements
1. Configure network interfaces on the device. See Interfaces Feature 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 905 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.
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 90 on page 905.
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 91 on page 906.
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 92 on page 906.
Table 90: 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
Configuration
• Configuring the Remote User Authentication and Address Assignment on page 907
• Configuring the VPN Tunnel on page 909
• Associate the Dynamic VPN with Remote Clients on page 912
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode in the CLI User Guide.
[edit access]
user@host# set profile dyn-vpn-access-profile client client1 firewall-user password
"$ABC123"
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 {
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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.
[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
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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.
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
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:
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.
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.
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
}
}
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
Purpose 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
Requirements
• Configure network interfaces on the device. See the Interfaces Feature 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 93 on page 918 and Table 94 on page 918). An
external RADIUS server is used to authenticate users and assign IP addresses to clients
(see Table 95 on page 919).
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 94: 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 secret.
• This profile is the default profile for Web authentication.
Configuration
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 secret
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
}
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]
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
dynamic-vpn {
access-profile radius-profile;
clients {
groupcfg {
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 groupvpn;
user {
chris;
derek;
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
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:
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.
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
NOTE: 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 Feature 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 96 on page 925 and Table 97 on page 926). An external RADIUS
server is used to authenticate users and assign IP addresses to clients (see
Table 98 on page 926).
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 secret.
• This profile is the default profile for Web authentication.
Configuration
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 secret
[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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 client1pol {
mode aggressive;
proposal-set compatible;
pre-shared-key ascii-text "$ABC123"; ## 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
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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 "$ABC456"; ## 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;
}
}
}
}
}
[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.
Verification
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:
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.
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
VPN monitoring enables you to determine the reachability of peer devices by sending
Internet Control Message Protocol (ICMP) requests to the peers.
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.
• 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.
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.
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.
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.
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.
NOTE: 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.
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.
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.
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:
• 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.
NOTE: 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).
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:
NOTE: 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.
NOTE: 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 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).
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.
Requirements
Overview
In this example, you set an audible beep to be generated in response to a security alarm.
Configuration
[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.
Requirements
Overview
Configuration
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
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 • Understanding VPN Support for Inserting Services Processing Cards on page 52
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.
The performance of IPsec VPN traffic to minimize packet forwarding overhead can be
optimized by enabling VPN session affinity and performance acceleration.
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:
NOTE: 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 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.
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.
1. In configuration mode, use the set command to enable VPN session affinity.
[edit]
user@host# set security flow load-distribution session-affinity ipsec
[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.
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.
[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
[edit]
user@host# commit
After enabling VPN performance acceleration, use the show security flow status command
to display flow status.
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.
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.
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.
Related • Understanding VPN Support for Inserting Services Processing Cards on page 52
Documentation
• IPsec VPN Configuration Overview on page 54
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.
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 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 958 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 958 illustrates this process.
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 959 shows the structure of a single-domain certificate authority with
multiple hierarchy levels.
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 960.
CA CA
certificate certificate
• 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.
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.
The following persistent keys are currently under the management of IKE and PKI:
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.
[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
To view the CA profiles and the trusted CA groups configured on your device, run show
security pki command.
ca-profile orgC-ca-profile {
ca-identity ca-profile3;
}
trusted-ca-group orgABC-trusted-ca-group {
ca-profiles [ orgA-ca-profile orgB-ca-profile orgC-ca-profile ];
}
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 963 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
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.
[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.
The output does not display the orgABC-trusted-ca-group as it is deleted from the entity.
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 967.
3. For SCEP only, enroll the CA certificate. See “Enrolling a CA Certificate Online Using
SCEP” on page 982.
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 982.
See Also • Understanding CMPv2 and SCEP Certificate Enrollment on page 986
1. Generate a key pair on the device. See “Example: Generating a Public-Private Key
Pair” on page 967.
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 988.
4. Load the certificate onto the device. See “Example: Loading CA and Local Certificates
Manually” on page 990.
6. If necessary, load the certificate's CRL on the device. See “Example: Manually Loading
a CRL onto the Device” on page 1013.
7. If necessary, configure the CA profile with CRL locations. See “Example: Configuring
a Certificate Authority Profile with CRL Locations” on page 1016
• Example: Manually Generating a CSR for the Local Certificate and Sending It to the
CA Server on page 988
• Example: Configuring a Certificate Authority Profile with CRL Locations on page 1016
Requirements
Overview
Configuration
Verification
After the public-private key pair is generated, the Juniper Networks device displays the
following:
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
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.
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.
If no policy OID is configured on the SRX Series device, policy validation starts whenever
the requireExplicitPolicy field is encountered in the certificate chain. A certificate can
contain one or more certificate policy OIDs. For policy validation to succeed, there must
be a common policy OID in the certificate chain.
Figure 66 on page 969 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.
Figure 67 on page 970 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.
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 971 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.
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.
The keyCertSign flag indicates that a CA certificate can be used for certificate signature
validation. If this flag is not set, certificate validation is aborted.
In Phase 1 negotiations, participants check the certificate revocation list (CRL) to see if
certificates received during an IKE exchange are still valid. The CRL is periodically
downloaded for CA profiles configured with CRL as the certificate revocation check.
Downloaded CRL files must be verified before they are downloaded into the device. One
of the verification steps is to validate the CRL signature using a CA certificate. The
downloaded CRL is signed with the CA certificate’s private key and it must be verified
with the CA certificate’s public key stored in the device. The key usage field in the CA
certificate must contain the CRLSign flag to verify the downloaded CRL. If this flag is not
present, the CRL is discarded.
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
Figure 69 on page 972 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.
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 • Example: Configuring a Certificate Authority Profile with CRL Locations on page 1016
Example: Validating Digital Certificate by Configuring Policy OIDs on an SRX Series Device
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.
NOTE: 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 55. 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
CLI Quick To quickly configure this example, copy the following commands, paste them into a text
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
Action From operational mode, enter the show security pki ca-certificate ca-profile ca-tmp
command.
Country: US,
Common name: CA1-PP.01.03
Subject string:
C=US, O=U.S. Government, OU=Dod, OU=Testing,
CN=CA1-PP.01.03
Validity:
Not before: 01- 1-1998 12:01 UTC
Not after: 01- 1-2048 12:01 UTC
Purpose 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.
See Also • Example: Configuring a Certificate Authority Profile with CRL Locations on page 1016
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.
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.
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.
NOTE: 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.
Requirements
Overview
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
[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 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]
[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.
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 • Example: Configuring a Certificate Authority Profile with CRL Locations on page 1016
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.
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):
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
NOTE: 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.
1. Generate a public and private key pair. See “Example: Generating a Public-Private
Key Pair” on page 967.
1. Retrieve the CA certificate online using SCEP. (The attributes required to reach the
CA server are obtained from the defined CA profile.)
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.
Requirements
• Generate a public and private key pair. See “Example: Generating a Public-Private Key
Pair” on page 967.
• For SCEP, enroll the CA certificate. See “Enrolling a CA Certificate Online Using SCEP”
on page 982.
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 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, qqq@example.net.
Once the device certificate is obtained and the online enrollment begins for the certificate
ID. The command is processed asynchronously.
Configuration
[edit]
user@host# set security pki ca-profile ca-profile-ipsec enrollment url
path-to-ca-server
[edit]
user@host# commit
NOTE: 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).
Verification
To verify the configuration is working properly, enter the show security pki command.
Requirements
• Obtain a certificate either on line or manually. See “Enrolling Digital Certificates Online:
Configuration Overview” on page 966.
• Obtain a local certificate. See “Example: Enrolling a Local Certificate Online Using
SCEP” on page 982.
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 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
[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 • Enrolling Digital Certificates Online: Configuration Overview on page 966
Table 99 on page 986 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.
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.
In Figure 70 on page 988, 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.
Example: Manually Generating a CSR for the Local Certificate and Sending It to the CA Server
This example shows how to generate a certificate signing request manually.
Requirements
Generate a public and private key. See “Example: Generating a Public-Private Key Pair”
on page 967.
Overview
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
Verification
To view the certificate signing request, enter the show security pki certificate-request
detail command.
Requirements
NOTE: 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 988.
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
[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
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
• Example: Configuring a Certificate Authority Profile with CRL Locations on page 1016
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.
NOTE: You are asked for confirmation before a CA certificate can be deleted.
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.
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.
• 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.
Self-signed certificates are valid for five years from the time they were generated.
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.
Requirements
Before you begin, generate a public private key pair. See “Example: Generating a
Public-Private Key Pair” on page 967.
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
mholmes@example.net. 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
Verification
To verify the certificate was properly generated and loaded, enter the show security pki
local-certificate operational mode command.
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 {
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.
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).
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.
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 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.
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.
NOTE: On MX Series and SRX Series devices, CRL is the default method used
to check the revocation status of a certificate.
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.
Table 100 on page 998 shows the Phase 1 options used in this example.
Version v2 v2
Table 101 on page 999 shows the Phase 2 options used in this example.
Topology
Figure 71 on page 1000 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
Configuring Peer A
CLI Quick To quickly configure VPN peer A to use OCSP, copy the following commands, paste them
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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
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/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/;
}
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 {
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
CLI Quick To quickly configure VPN peer B to use OCSP, copy the following commands, paste them
Configuration 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 The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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 {
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;
}
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.
Verification
Verifying CA Certificates
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.
NOTE: 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.
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.
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.
Action From operational mode, enter the show security ipsec security-associations command.
From operational mode, enter the show security ipsec security-associations detail
command.
Requirements
1. Generate a public and private key pair. See “Example: Generating a Public-Private
Key Pair” on page 967.
2. Generate a certificate request. See “Example: Manually Generating a CSR for the Local
Certificate and Sending It to the CA Server” on page 988.
4. Load your certificate onto the device. See “Example: Loading CA and Local Certificates
Manually” on page 990.
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.)
NOTE: 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
[edit]
user@host> request security pki crl load ca-profile ca-profile-ipsec filename
/var/tmp/revoke.crl
Verification
To verify the configuration is working properly, enter the show security pki crl operational
mode command.
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 139, 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.
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.
See Also • Example: Configuring a Device for Peer Certificate Chain Validation on page 140
Requirements
1. Generate a key pair in the device. See “Example: Generating a Public-Private Key Pair”
on page 967.
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 988.
4. Load the certificate onto the device. See “Example: Loading CA and Local Certificates
Manually” on page 990.
6. If necessary, load the certificate's CRL on the device. See “Example: Manually Loading
a CRL onto the Device” on page 1013.
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.
NOTE: 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
[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.
Requirements
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.
Configuration
[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
NOTE: 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.
Specify a CA profile to delete a CRL associated with the CA identified by the profile, or
use all to delete all CRLs.
This example shows how to configure, verify, and troubleshoot PKI. This topic includes
the following sections:
Requirements
This example uses the following hardware and software components:
• 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.
Overview
Figure 73 on page 1020 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.
NOTE: 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.
NOTE: 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.
• There can be multiple such profiles present in the system created for
different users.
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.
• 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
NOTE: 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.
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, certadmin@example.com).
NOTE:
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.
NOTE:
Junos OS supports the following CA vendors:
• Entrust
• Verisign
• Microsoft
Configuration
• PKI Basic Configuration on page 1024
• Configuring a CA Profile on page 1025
• Generating a Public-Private Key Pair on page 1026
• Enrolling a Local Certificate on page 1026
Step-by-Step The following example requires you to navigate various levels in the configuration
Procedure hierarchy. For instructions on how to do that, see Using the CLI Editor in Configuration
Mode 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.
[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
[edit]
user@host# set security pki ca-profile ms-ca revocation-check crl
NOTE: 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.
[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
NOTE: Currently you can configure only one URL. Support for backup
URL configuration is not available.
Step-by-Step When the CA profile is configured, the next step is to generate a key pair on the Juniper
Procedure 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:
NOTE: 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.
NOTE: 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.
You must specify the CA profile to associate the CA certificate to the configured
profile.
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
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: "user@example.net", 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)
Verify all loaded CRLs or the CRLs of the specified individual CA profile.
CA profile: ms-ca
CRL version: V00000001
CRL issuer: emailAddress = certadmin@example.net, 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
Verify the certificate path for the local certificate and the CA certificate.
Step-by-Step To configure the IPsec VPN with the certificate, refer to the network diagram shown in
Procedure Figure 73 on page 1020
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.
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.
NOTE: 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
Verification
Confirm that the configuration is working properly.
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.
• The remote peer is 10.2.2.2 and the status is UP, which means the successful association
of Phase 1 establishment.
• 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 1034.
• 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 1039.
• 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 1039.
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.
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.
• 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.
NOTE: 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: -
Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc
Anti-replay service: enabled, Replay window size: 32
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.
NOTE: 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 1039.
Action From operational mode, enter the show security ipsec statistics index 2 command.
ESP Statistics:
Encrypted bytes: 674784
Decrypted bytes: 309276
Encrypted packets: 7029
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 1039.
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 1037.
• 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.
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.
• 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.
Solution From operational mode, enter the show log kmd, show log pkid, show log security-trace,
and show log messages commands.
NOTE: 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.
NOTE: 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.
[edit]
user@host# edit security ike traceoptions
[edit security ike traceoptions]
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
NOTE: 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.
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.
NOTE: 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.
Problem Understand the output of the show log kmd command when the IKE Phase 1 and Phase
2 conditions are successful.
• 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 1033.
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 Nov 7 12:06:36 Unable to find phase-1 policy as remote peer:10.2.2.2 is not
recognized.
Nov 7 12:06:36 Phase-1 [responder] failed with error(Authentication failed) for
local=ipv4(udp:500,[0..3]=10.1.1.2) remote=ipv4(any:0,[0..3]=10.2.2.2)
Nov 7 12:06:36 10.1.1.2:500 (Responder) <-> 10.2.2.2:500 { f725ca38 dad47583 -
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.
• 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.
Problem Understand the output of the show log kmd command when the IKE Phase 2 condition
is a failure.
• 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.
• 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.
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.
• 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.
• 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.
Configuration Statements
aaa
Syntax aaa {
access-profile profile-name;
}
Description 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.
Description Specify the access profile to use for extended authentication for remote users trying to
access a VPN tunnel.
Release Information Statement introduced in Junos OS Release 10.2 for group-vpn hierarchy.
Description Specify the IPv4 address of the primary Internet Key Exchange (IKE) gateway. Group
VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500,
SRX4100, and SRX4200 devices and vSRX instances.
Release Information Statement introduced in Junos OS Release 8.5. Support for IPv6 addresses added in
Junos OS Release 11.1.
Description Specify the IPv4 or IPv6 address or the hostname of the primary Internet Key Exchange
(IKE) gateway and up to four backup gateways.
address-assignment (Access)
Syntax address-assignment {
abated-utilization percentage;
abated-utilization-v6 percentage;
high-utilization percentage;
high-utilization-v6 percentage;
neighbor-discovery-router-advertisement ndra-name;
pool pool-name {
family {
inet {
dhcp-attributes {
boot-file boot-file-name;
boot-server boot-server-name;
domain-name domain-name;
grace-period seconds;
maximum-lease-time (seconds | infinite);
name-server ipv4-address;
netbios-node-type (b-node | h-node | m-node | p-node);
next-server next-server-name;
option dhcp-option-identifier-code {
array {
byte [8-bit-value];
flag [ false| off |on |true];
integer [32-bit-numeric-values];
ip-address [ip-address];
short [signed-16-bit-numeric-value];
string [character string value];
unsigned-integer [unsigned-32-bit-numeric-value];
unsigned-short [16-bit-numeric-value];
}
byte 8-bit-value;
flag (false | off | on | true);
integer 32-bit-numeric-values;
ip-address ip-address;
short signed-16-bit-numeric-value;
string character string value;
unsigned-integer unsigned-32-bit-numeric-value;
unsigned-short 16-bit-numeric-value;
}
option-match {
option-82 {
circuit-id match-value {
range range-name;
}
remote-id match-value;
range range-name;
}
}
}
propagate-ppp-settings [interface-name];
propagate-settings interface-name;
router ipv4-address;
server-identifier ip-address;
sip-server {
ip-address ipv4-address;
name sip-server-name;
}
tftp-server server-name;
wins-server ipv4-address;
}
host hostname {
hardware-address mac-address;
ip-address reserved-address;
}
network network address;
range range-name {
high upper-limit;
low lower-limit;
}
excluded-range range-name
high upper-limit;
low lower-limit;
}
xauth-attributes {
primary-dns ip-address;
primary-wins ip-address;
secondary-dns ip-address;
secondary-wins ip-address;
}
}
inet6 {
dhcp-attributes {
dns-server ipv6-address;
grace-period seconds;
maximum-lease-time (seconds | infinite);
option dhcp-option-identifier-code {
array {
byte [8-bit-value];
flag [ false| off |on |true];
integer [32-bit-numeric-values];
ip-address [ip-address];
short [signed-16-bit-numeric-value];
string [character string value];
unsigned-integer [unsigned-32-bit-numeric-value];
unsigned-short [16-bit-numeric-value];
}
byte 8-bit-value;
flag (false | off | on | true);
integer 32-bit-numeric-values;
ip-address ip-address;
short signed-16-bit-numeric-value;
string character string value;
unsigned-integer unsigned-32-bit-numeric-value;
unsigned-short 16-bit-numeric-value;
}
propagate-ppp-settings [interface-name];
sip-server-address ipv6-address;
sip-server-domain-name domain-name;
}
prefix ipv6-network-prefix;
range range-name {
high upper-limit;
low lower-limit;
prefix-length delegated-prefix-length;
}
excluded-range range-name
high upper-limit;
low lower-limit;
}
}
link pool-name;
}
}
Release Information Statement introduced in Junos OS Release 10.4 for SRX300, SRX320, SRX340, SRX345,
SRX550HM devices.
Description The address-assignment pool feature enables you to create IPv4 and IPv6 address pools
that different client applications can share. For example, multiple client applications,
such as DHCPv4 or DHCPv6, can use an address-assignment pool to provide addresses
for their particular clients.
administrator
Syntax administrator {
e-mail-address e-mail-address ;
}
Description Specify an administrator e-mail address to which the certificate request is sent.
Options e-mail-address e-mail-address —E-mail address where the certificate request is sent. By
default, there is no preset e-mail address.
advpn
Syntax advpn {
suggester {
disable;
}
partner {
connection-limit number;
idle-threshold packets/sec;
idle-time seconds;
disable;
}
}
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.
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.
NOTE: 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.
algorithm (Security)
Description Select the encryption algorithm for the internal Routing-Engine-to-Routing-Engine IPsec
security association (SA) configuration.
always-send
Syntax always-send;
Description Instructs the device to send dead peer detection (DPD) requests regardless of whether
there is outgoing IPsec traffic to the peer.
Syntax authentication {
algorithm (hmac-md5-96 | hmac-sha1-96);
key {
ascii-text key;
hexadecimal key;
}
}
Hierarchy Level [edit security ipsec security-association sa-name manual direction bidirectional]
Description Configure authentication parameters for a manual IPsec security association (SA) to be
applied to an OSPF or OSPFv3 interface or virtual link.
Options algorithm—Hash algorithm that authenticates packet data. It can be one of the following:
• 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.
Related
Documentation
Syntax authentication {
algorithm (hmac-md5-96 | hmac-sha-256-128 | hmac-sha1-96);
key (ascii-text key | hexadecimal key );
}
Release Information Statement modified in Junos OS Release 8.5. Support for hmac-sha-256-128 added to
SRX5400, SRX5600, and SRX5800 devices in Junos OS Release 12.1X46-D20.
Options • algorithm—Hash algorithm that authenticates packet data. It can be one of the
following:
• 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.
Description Configure the Internet Key Exchange (IKE) authentication algorithm. Group VPNv2 is
supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
and SRX4200 devices and vSRX instances.
NOTE: 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.
Description Configure the IPsec authentication algorithm. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and
vSRX instances.
Options hmac-sha-256-128—Produces a 256-bit digest, truncated to 128 bits. This is the default
value.
Release Information Statement introduced in Junos OS Release 8.5. Support for the sha-384 option added
in Junos OS Release 12.1X45-D10.
NOTE: 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.
Release Information Statement modified in Junos OS Release 8.5. Support for hmac-sha-256-128 added to
SRX5400, SRX5600, and SRX5800 devices in Junos OS Release 12.1X46-D20.
Options The hash algorithm to authenticate data can be one of the following:
authentication-method
Release Information Statement introduced in Junos OS Release 8.5. Support for ecdsa-signatures-256 and
ecdsa-signatures-384 options added in Junos OS Release 12.1X45-D10.
Description 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.
NOTE: 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.
Description 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. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
NOTE: The device does not delete existing IPsec SAs when you update the
authentication-method configuration in the IKE proposal.
Options • 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.
auto-re-enrollment (Security)
Syntax auto-re-enrollment {
cmpv2 {
certificate-id certificate-id-name {
ca-profile-name ca-profile-name ;
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;
}
}
}
Release Information Statement modified in Junos OS Release 9.0. cmpv2 and scep keywords and options
added in Junos OS Release 15.1X49-D40.
Hierarchy Level [edit security ipsec security-association sa-name mode transport manual direction
bidirectional]
Description Configure an auxiliary security parameter index (SPI) for a manual IPsec security
association (SA) to be applied to an OSPF or OSPFv3 interface or virtual link.
Options auxiliary-spi—Auxiliary SPI for the manual IPsec SA. The SPI uniquely identifies the SA
to use at the receiving host (the destination address in the packet).
Range: 256 through 16639
Related • Understanding OSPF and OSPFv3 Authentication on SRX Series Devices on page 62
Documentation
bind-interface
Description Configure the tunnel interface to which the route-based virtual private network (VPN)
is bound.
ca-identity (Security)
Description Specify the certificate authority (CA) identity to use in requesting digital certificates.
Options • ca-identity —Name of CA identity. This name is typically the domain name of the CA.
Release Information Statement modified in Junos OS Release 8.5. Support for ocsp and use-ocsp options
added in Junos OS Release 12.1X46-D20.
ca-profile-name
Release Information Statement modified in Junos OS Release 9.0. Support for [edit security pki
auto-re-enrollment cmpv2 certificate-id certificate-id-name] and [edit security pki
auto-re-enrollment scep certificate-id certificate-id-name] hierarchies added in Junos OS
Release 15.1X49-D40.
Description Specify the name of the certificate authority (CA) profile to be used for automatic
reenrollment. The CA certificate must be present to initiate reenrollment.
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;
}
}
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 The remaining statements are explained separately. See CLI Explorer.
certificate-id (Security)
Release Information Statement modified in Junos OS Release 9.0. Support for [edit security pki
auto-re-enrollment cmpv2] and [edit security pki auto-re-enrollment scep] hierarchies
added in Junos OS Release 15.1X49-D40.
Description Specify the certificate authority (CA) certificate to use for automatic reenrollment.
challenge-password (Security)
Release Information Statement modified in Junos OS Release 9.0. Support for [edit security pki
auto-re-enrollment scep certificate-id certificate-id-name] hierarchy added in Junos OS
Release 15.1X49-D40.
Description 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.
clients (Security)
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. This feature is supported on
SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
Syntax config-check;
Description 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.
connections-limit
Description 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.
container
Description 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.
Options container-string—DN field and value to be matched. For example, cn=admin, ou=eng,
o=example, dc=net.
NOTE: 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.
crl (Security)
Syntax crl {
disable {
on-download-failure;
}
refresh-interval hours;
url url-name;
}
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.
• 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.
cryptographic-self-test
Syntax cryptographic-self-test;
Description Raise a security alarm when the device or switch detects a cryptographic self-test failure.
Cryptographic self-tests are a set of preoperational tests that are performed after the
device or switch is powered on. The self-tests run without operator intervention.
dead-peer-detection
Syntax dead-peer-detection {
(always-send | optimized | probe-idle-tunnel);
interval seconds;
threshold number;
}
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.
optimized—Send probes only when there is outgoing and no incoming data traffic -
RFC3706 (Default mode).
Syntax dead-peer-detection {
always-send;
interval seconds;
threshold number;
}
Release Information Support for the Group VPN server added in Junos OS Release 15.1X49-D30 for vSRX.
Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500,
SRX4100, and SRX4200 devices and vSRX instances.
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.
decryption-failures
Syntax decryption-failures {
threshold value;
}
Description Raise a security alarm after exceeding a specified number of decryption failures. This
statement is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, and
SRX1500 devices and vSRX instances.
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: 0 through 1 through 1,000,000,000.
Default: 1000
Release Information Statement modified in Junos OS Release 8.5. Support for group-vpn hierarchies added
in Junos OS Release 10.2. Support for the security policies hierarchy added in Junos OS
Release 12.1.
Description Specify descriptive text for an IKE policy, an IPsec policy, an IKE proposal, an IPsec
proposal, or a security policy.
Options description —Descriptive text about an IKE policy, an IPsec policy, an IKE proposal, an
IPsec proposal, or a security policy.
Description 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.
df-bit
Description Specify how the device handles the Don't Fragment (DF) bit in the outer header.
Options • clear—Clear (disable) the DF bit from the outer header. This is the default.
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.
NOTE: The device does not delete existing IPsec SAs when you update the
dh-group configuration in the IKE proposal.
• group19—256-bit random Elliptic Curve Groups modulo a Prime (ECP groups) algorithm.
Release Information Statement introduced in Junos OS Release 10.2. Support for the group14 option added
in Junos OS Release 11.1. Support for the group24 option added in Junos OS Release
15.1X49-D30 for vSRX.
Description Specify the IKE Diffie-Hellman group. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
NOTE: The device does not delete existing IPsec SAs when you update the
dh-group configuration in the IKE proposal.
disable (PKI)
Syntax disable;
distinguished-name (Security)
Description Specify a distinguished name as the identifier for the remote gateway with a dynamic IP
address.
Options The remaining statements are explained separately. See CLI Explorer.
dynamic (Security)
Syntax dynamic {
connections-limit number;
(distinguished-name <container container-string> <wildcard wildcard-string> | hostname
domain-name | inet ip-address | inet6 ipv6-address | user-at-hostname e-mail-address);
ike-user-type (group-ike-id | shared-ike-id);
}
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 The remaining statements are explained separately. See CLI Explorer.
Syntax dynamic {
(hostname domain-name | inet ip-address | user-at-hostname e-mail-address);
}
Description 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. Group
VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500,
SRX4100, and SRX4200 devices and vSRX instances.
NOTE: 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.
Options The remaining statements are explained separately. See CLI Explorer.
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;
}
force-upgrade;
config-check;
interface;
traceoptions {
file filename;
flag flag;
}
}
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 The remaining statements are explained separately. See CLI Explorer.
Syntax encryption {
algorithm (3des-cbc | des-cbc | null);
key {
ascii-text key;
hexadecimal key;
}
}
Hierarchy Level [edit security ipsec security-association sa-name manual direction bidirectional]
Description Configure encryption parameters for a manual IPsec security association (SA) to be
applied to an OSPF or OSPFv3 interface or virtual link.
• 3des-cbc—Has block size of 8 bytes (64 bits); its key size is 192 bits long.
• des-cbc—Has a block size of 8 bytes (64 bits); its key size is 48 bits long.
• null—With null encryption, you are choosing not to provide encryption on OSPFv3
headers.
• 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.
Related • Understanding OSPF and OSPFv3 Authentication on SRX Series Devices on page 62
Documentation
encryption (Security)
Syntax encryption {
algorithm (3des-cbc | aes-128-cbc | aes-192-cbc | aes-256-cbc | des-cbc);
key (ascii-text key | hexadecimal key) ;
}
Description Configure an encryption algorithm and key for a manual Security Association (SA).
• des-cbc—Has a block size of 8 bytes (64 bits); its key size is 48 bits long.
• 3des-cbc—Has block size of 8 bytes (64 bits); its key size is 192 bits long
• 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.
Release Information Statement introduced in Junos OS Release 8.5. Support for group-vpn hierarchies added
in Junos OS Release 10.2.
Description Configure an encryption algorithm for an IKE proposal. Group VPNv2 is supported on
SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200
devices and vSRX instances.
NOTE: The device does not delete existing IPsec SAs when you update the
encryption-algorithm configuration in the IKE proposal.
NOTE: The device deletes existing IPsec SAs when you update the
encryption-algorithm configuration in the IPsec proposal.
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.
NOTE: 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.
Release Information Statement introduced in Junos OS Release 8.5. Support for aes-128-gcm, aes-192-gcm,
and aes-256-gcm options added in Junos OS Release 12.1X45-D10.
Support for aes-128-gcm, aes-192-gcm, and aes-256-gcm options added in Junos OS
Release 15.1X49-D70 for vSRX.
NOTE: The device deletes existing IPsec SAs when you update the
encryption-algorithm configuration in the IPsec proposal.
Options • 3des-cbc—Has a block size of 24 bytes; the key size is 192 bits long.
• aes-192-gcm—AES GCM 192-bit encryption algorithm. This option is for IPsec proposals
only.
• aes-256-gcm—AES GCM 256-bit encryption algorithm. This option is for IPsec proposals
only.
encryption-failures
Syntax encryption-failures {
threshold value;
}
Description Raise a security alarm after exceeding a specified number of encryption failures. This
statement is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, and
SRX1500 devices and vSRX instances.
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
enrollment (Security)
Syntax enrollment {
retry number;
retry-interval seconds;
url url-name;
}
Options • retry number —Number of automated attempts for online enrollment to be retried in
case enrollment response is pending.
• 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.
establish-tunnels
Description 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.
• on-traffic—IKE is activated only when data traffic flows and must to be negotiated
with the peer gateway. This is the default behavior.
Description Specify the outgoing interface for IKE SAs. This interface is associated with a zone that
acts as its carrier, providing firewall security for it.
Options external-interface-name —Name of the interface to be used to send traffic to the IPsec
VPN.
fragmentation (Security)
Syntax fragmentation {
disable;
size bytes;
}
Description 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. On the receiver, the message fragments are collected, verified,
decrypted, and merged into the original message. IKEv2 messages larger than the
configured maximum are fragmented as long as both VPN peers indicate support for
fragmentation in their IKE_SA_INIT exchanges. IKEv2 message fragmentation allows
IKEv2 to operate in environments where IP fragments otherwise might be blocked and
peers would not be able to establish an IPsec security association.
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
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. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and
vSRX instances.
Description Configure IKE gateway for group VPN server. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and
vSRX instances.
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.
Release Information Statement introduced in Junos OS Release 8.5. Support for IPv6 addresses added in
Junos OS Release 11.1.
Description For a manual security association, specify the IPv4 or IPv6 address of the peer.
general-ikeid
Syntax general-ikeid;
Description Configure group VPN on the group server. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
• group-id number—Identifier for this group VPN. Specify a value from 1 to 4,294,967,295.
group-vpn
Syntax group-vpn {
member {
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;
gateway-filter {
local-address ip-address;
remote-address ip-address;
}
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
}
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 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;
}
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;
}
}
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;
}
}
}
Description Configure Group VPNs in Group VPNv2. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
Options The remaining statements are explained separately. See CLI Explorer.
hostname
Options domain-name—A fully qualified domain name (FQDN), or partial FQDN that can be
matched to a peer’s X.509 PKI certificate. A partial FQDN 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.
idle-time
Description Specify the maximum amount of idle time to delete a security association (SA).
ike (Security)
Syntax ike {
gateway gateway-name {
aaa {
access-profile profile-name;
}
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 | inet ip-address | inet6 ipv6-address | user-at-hostname
e-mail-address);
ike-user-type (group-ike-id | shared-ike-id);
}
external-interface external-interface-name;
fragmentation {
enable:
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 |
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 | user-at-hostname
e-mail-address);
}
tcp-encap-profile profile-name;
version (v1-only | v2-only);
}
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 | standard |suiteb-gcm-128 | suiteb-gcm-256);
proposals [proposal-name];
reauth-frequency number;
}
proposal proposal-name {
authentication-algorithm (md5 | sha-256 | sha-384| sha1);
authentication-method (dsa-signatures | ecdsa-signatures-256 | ecdsa-signatures-384
| pre-shared-keys | rsa-signatures);
description description;
dh-group (group1 | group14 | group19 | group2 | group20 | group24 | group5);
encryption-algorithm (3des-cbc | aes-128-cbc | aes-192-cbc | aes-256-cbc | 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;
no-remote-trace;
rate-limit messages-per-second;
}
}
Release Information Statement modified 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.
Options The remaining statements are explained separately. See CLI Explorer.
Syntax 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;
gateway-filter {
local-address ip-address;
remote-address ip-address;
}
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
}
Description Configure IPsec group VPN on the group member. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and
vSRX instances.
Options The remaining statements are explained separately. See CLI Explorer.
Syntax 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 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);
}
}
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, and SRX4200 devices and vSRX instances.
Options The remaining statements are explained separately. See CLI Explorer.
Syntax ike {
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);
}
}
Release Information Statement introduced in Junos OS Release 8.5. Support for IPv6 addresses added in
Junos OS Release 11.1.
Options The remaining statements are explained separately. See CLI Explorer.
ike-phase1-failures
Syntax ike-phase1-failures {
threshold value;
}
Description Raise a security alarm after exceeding a specified number of Internet Key Exchange (IKE)
Phase 1 failures. This statement is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, and SRX1500 devices and vSRX instances.
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
ike-phase2-failures
Syntax ike-phase2-failures {
threshold value;
}
Description Raise a security alarm after exceeding a specified number of Internet Key Exchange (IKE)
phase 2 failures. This statement is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, and SRX1500 devices and vSRX instances.
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
ike-user-type
Description Configure the type of IKE user for a remote access connection.
Options • group-ike-id—E-mail address or fully qualified domain name (FQDN) shared by a group
of remote access users so that each user does not need to configure a separate IKE
profile. When group IKE IDs are configured, the IKE ID of each user is a concatenation
of a user-specific part and a part that is common to all group IKE ID users. For example,
the user Bob might use ”Bob.example.net“ as his full IKE ID, where ”.example.net“ is
common to all users. The full IKE ID is used to uniquely identify each user connection.
Group IKE IDs require the generation of a unique preshared key based on the username
supplied during VPN connection, which can be viewed with the show security ike
pre-shared-key command.
install-interval
Description Specify the maximum number of seconds to allow for the installation of a rekeyed
outbound security association (SA) on the device.
Syntax internal {
security-association {
manual {
encryption {
algorithm 3des-cbc;
iked-encryption enable;
key ascii-text ascii-text;
}
}
}
}
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.
manual encryption—Specify a manual SA. Manual SAs require no negotiation; all values,
including the keys, are static and specified in the configuration.
key—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.
Description Specify the amount of time that the peer waits for traffic from its destination peer before
sending a dead-peer-detection (DPD) request packet.
Options seconds —Number of seconds that the peer waits before sending a DPD request packet.
Range: 10 through 60 seconds
Default: 10 seconds
Description Specify a list of interfaces to set the interfaces that allow access to dynamic VPN. This
feature is supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
Options interface-names —Names of one or more Interfaces that accept dynamic VPN client
access, separated by spaces.
ipsec (Security)
Syntax ipsec {
policy policy-name {
description description;
perfect-forward-secrecy keys (group1 | group14 | group19 | group2 | group20 | group24 |
group5);
proposal-set (basic | compatible | standard | suiteb-gcm-128 | suiteb-gcm-256);
proposals [proposal-name];
}
proposal proposal-name {
authentication-algorithm (hmac-md5-96 | hmac-sha-256-128 | 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);
lifetime-kilobytes kilobytes;
lifetime-seconds seconds;
protocol (ah | esp);
}
security-association sa-name {
manual {
direction bidirectional {
authentication {
algorithm (hmac-md5-96 | hmac-sha1-96);
key {
ascii-text key;
hexadecimal key;
}
}
auxiliary-spi auxiliary-spi-value;
encryption {
algorithm (3des-cbc | des-cbc | null);
key {
ascii-text key;
hexadecimal key;
}
}
protocol (ah | esp);
spi spi-value;
}
}
mode transport;
}
traceoptions {
flag flag;
}
vpn vpn-name {
bind-interface interface-name;
copy-outer-dscp;
establish-tunnels (immediately | on-traffic);
ike {
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-192-cbc | aes-256-cbc | des-cbc);
key (ascii-text key | hexadecimal key);
}
external-interface external-interface-name;
gateway ip-address;
protocol (ah | esp);
spi spi-value;
}
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;
}
}
}
vpn-monitor-options {
interval seconds;
threshold number;
}
}
Options The remaining statements are explained separately. See CLI Explorer.
Syntax 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;
}
}
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, and SRX4200
devices and vSRX instances.
• 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
Syntax 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;
}
}
Description Configure IPsec proposal for Phase 2 exchange on the group server. Group VPNv2 is
supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
and SRX4200 devices and vSRX instances.
Syntax ipsec-performance-acceleration;
Release Information Statement introduced in Junos OS Release 12.1X46-D10 on SRX5400, SRX5600, and
SRX5800 devices. Support on SRX4100 and SRX4200 devices and vSRX instances
added in Junos OS Release 18.1R1.
Options None.
ipsec-policy (Security)
Description Specifies that matching traffic is checked against rules associated with the specified
Group VPN. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances. 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.
NOTE: 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.
Description Use this statement to specify which IPsec VPN configuration the dynamic VPN feature
should use to secure traffic. This feature is supported on SRX300, SRX320, SRX340,
SRX345, and SRX550HM devices.
Description Configure the group SAs to be downloaded to members. There can be multiple group
SAs downloaded to group members. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
Use 0.0.0.0 to specify any source or destination. Use 0 to specify any source port,
destination port, or 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.
Syntax ipsec-vpn {
mss value;
}
Description Specify the TCP maximum segment size (TCP MSS) for the TCP packets that are about
to go into an IPsec VPN tunnel. This value overrides the value specified in the all-tcp-mss
statement.
Options mss value—TCP MSS value for TCP packets entering an IPsec VPN tunnel. Value is
optional.
Range: 64 through 65,535 bytes
Default: 1320 bytes
key-generation-self-test
Syntax key-generation-self-test;
Description Raise a security alarm when the device or switch detects a key generation self-test failure.
Key generation is the process of generating keys for cryptography. A key is used to encrypt
and decrypt data. The self-tests run without operator intervention.
lifetime-kilobytes
Description Specify the lifetime (in kilobytes) of an IPsec security association (SA).
Options kilobytes —Lifetime of the 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
Description 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. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
Release Information Statement introduced in Junos OS Release 8.5. Default value modified in Junos OS
Release 10.2.
Description 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.
Release Information Statement introduced in Junos OS Release 8.5. Default value modified in Junos OS
Release 10.2.
Description Specify the lifetime (in seconds) of an IPsec security association (SA). When the SA
expires, it is replaced by a new SA and security parameter index (SPI) or terminated.
load-distribution
Description Enable load distribution for a data flow. This feature is supported only on SRX5400,
SRX5600, and SRX5800 devices and vSRX instances.
Options The remaining statements are explained separately. See CLI Explorer.
Release Information Statement modified in Junos OS Release 8.5. Support for IPv6 addresses added in Junos
OS Release 11.1.
Description Specify the local IPv4 or IPv6 address and subnet mask for the proxy identity.
local-address
Description 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 and the remote IKE gateway address must be in the
same address family, either IPv4 or IPv6.
Description Configure the IP address the member uses when accessing the group server. Group VPNv2
is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
and SRX4200 devices and vSRX instances.
Description 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. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
local-certificate (Security)
Description Specify a particular certificate when the local device has multiple loaded certificates.
NOTE: The device deletes existing IKE and IPsec SAs when you update the
local-certificate configuration in the IKE policy.
local-identity
Syntax local-identity {
(hostname hostname | inet ip-address | inet6 ipv6-address | user-at-hostname
e-mail-address);
}
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.
NOTE: For Network Address Translation Traversal (NAT-T), both local identity
and remote identity must be configured.
Syntax local-identity {
(hostname hostname | inet ip-address | inet6 ipv6-address | user-at-hostname
e-mail-address);
}
Release Information Support for group-vpn hierarchies added in Junos OS Release 10.2.
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
corresponding to the local endpoint by default. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and
vSRX instances.
Syntax 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-192-cbc | aes-256-cbc | des-cbc);
key (ascii-text key | hexadecimal key );
}
external-interface external-interface-name;
gateway ip-address;
protocol (ah | esp);
spi spi-value ;
}
Release Information Statement modified in Junos OS Release 8.5. Support for IPv6 addresses added in Junos
OS Release 11.1.
Options The remaining statements are explained separately. See CLI Explorer.
Syntax member {
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;
gateway-filter {
local-address ip-address;
remote-address ip-address;
}
level (all | error | info | notice | verbose | warning);
no-remote-trace;
}
}
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;
}
}
}
Description Configure group VPN member. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
Options Configure group VPN member. You configure the following on the group member:
• Phase 1 IKE SA with the group server. The IKE gateway is the group server.
NOTE: We recommend that you do not change the default value for
lifetime-seconds for the IKE proposal on the member. Increasing the value
might cause the member device to continue to use the existing Phase 1 IKE
SA key even in the event of a crash; this can delay the recovery process.
Description 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. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
Options member-threshold number—Specify the maximum number of group VPN members that
can be accepted in the group. There is no default number.
NOTE: 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.
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, and SRX4200 devices and vSRX instances.
NOTE:
• 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.
NOTE: 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.
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.
NOTE:
• 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.
NOTE: 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.
multi-sa
Syntax multi-sa {
forwarding-class name;
}
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.
nat-keepalive
Release Information Statement introduced in Junos OS Release 8.5. Default value changed from 5 seconds
to 20 seconds in Junos OS Release 12.1X46-D10.
Description Specify the interval at which NAT keepalive packets can be sent so that NAT translation
continues.
Options seconds —Maximum interval in seconds at which NAT keepalive packets can be sent.
Range: 1 through 300 seconds.
Default: 20 seconds.
no-anti-replay (Security)
Syntax no-anti-replay;
Description 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. On SRX Series devices, the antireplay window size is 64 bits and is
not configurable.
no-nat-traversal
Syntax no-nat-traversal;
Description 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.
non-cryptographic-self-test
Syntax non-cryptographic-self-test;
Description Raise a security alarm when the device or switch detects a noncryptographic self-test
failure. The self-tests run without operator intervention.
Syntax ocsp {
connection-failure (disable | fallback-crl);
disable-responder-revocation-check;
nonce-payload (enable | disable);
url ocsp-url;
}
Description Configure Online Certificate Status Protocol (OCSP) to check the revocation status of
a certificate.
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.
optimized
Syntax optimized;
Description 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.
optimized (DPD)
Syntax optimized;
Description 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.
peer-certificate-type
Release Information Statement introduced in Junos OS Release 8.5. 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.
Description 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.
NOTE: The device deletes existing IPsec SAs when you update the
perfect-forward-secrecy configuration in the IPsec policy.
• group2—Diffie-Hellman Group 2.
• group5—Diffie-Hellman Group 5.
pki
Syntax pki {
auto-re-enrollment {
certificate-id certificate-id-name {
ca-profile-name ca-profile-name ;
challenge-password password ;
re-enroll-trigger-time-percentage percentage ;
re-generate-keypair;
}
}
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;
}
revocation-check {
crl {
disable {
on-download-failure;
}
refresh-interval hours;
url url-name;
}
disable;
ocsp {
connection-failure (disable | fallback-crl);
disable-responder-revocation-check;
nonce-payload (enable | disable);
url ocsp-url;
}
use-ocsp;
}
routing-instance routing-instance-name;
source-address ip-address;
}
traceoptions {
file {
filename;
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag flag;
no-remote-trace;
}
trusted-ca-group name {
ca-profiles ca-profiles;
}
}
Options The remaining statements are explained separately. See CLI Explorer.
pki-local-certificate
Description Specify the name of the certificate that is generated by public key infrastructure (PKI)
and authenticated by certificate authority (CA).
Description Configure an IKE policy. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
Options policy-name—Name of the IKE policy. The policy name can be up to 32 alphanumeric
characters long.
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.
Options policy-name—Name of the IKE policy. The policy name can be up to 32 alphanumeric
characters long.
Release Information Statement modified in Junos OS Release 8.5. Support for group 14 is added in Junos OS
Release 11.1.
policy-oids
Options oid—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.
NOTE: 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.
NOTE: The device deletes existing IKE and IPsec SAs when you update the
pre-shared-key configuration in the IKE policy.
Options 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.
probe-idle-tunnel
Syntax probe-idle-tunnel;
Description Send dead peer detection (DPD) messages during idle traffic time between peers.
profile (Access)
Description Create a profile containing a set of attributes that define device management access.
Description 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.
Related • Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access Client
Documentation on page 878
Description Define an IKE proposal. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
Description Define an IKE proposal for group VPN server. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and
vSRX instances.
Description Define an IPsec proposal. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
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.
Release Information Statement modified in Junos OS Release 8.5. Support for group-vpn hierarchies added
in Junos OS Release 10.2.
Description 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. Group VPNv2 is supported on
SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200
devices and vSRX instances.
Release Information Statement modified in Junos OS Release 8.5. Support for group-vpn hierarchies added
in Junos OS Release 10.2.
Description 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.
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.
NOTE: The prime-128 and prime-256 proposal sets require IKEv2 and
certificate-based 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.
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 2—Preshared key, AES 128-bit encryption, and DH group 2 and SHA-1
authentication.
• Diffie-Hellman Group—19
• Authentication algorithm—SHA-256
• Diffie-Hellman Group—20
• Authentication algorithm—SHA-384
Release Information Statement introduced in Junos OS Release 10.4. 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.
• ESP protocol
• ESP protocol
• ESP protocol
NOTE: The Perfect Forward Secrecy setting in IPsec policy overrides the
settings in proposal sets.
Hierarchy Level [edit security ipsec security-association sa-name mode transport manual direction
bidirectional ]
Description Configure the IPsec protocol for a manual IPsec security association (SA) to be applied
to an OSPF or OSPFv3 interface or virtual link.
Options protocol—Define the IPsec protocol for the manual SA. The protocol can be one of the
following:
Related • Understanding OSPF and OSPFv3 Authentication on SRX Series Devices on page 62
Documentation
Description Define the IPsec protocol for a manual or dynamic security association (SA).
NOTE: The device deletes existing IPsec SAs when you update the
encryption-algorithm configuration in the IPsec proposal.
Description Define the IPsec protocol for the manual security association.
• 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.)
proxy-profile
Description 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.
proxy-identity
Syntax proxy-identity {
local ip-prefix;
remote ip-prefix;
service (all | service-name);
}
Release Information Statement introduced in Junos OS Release 8.5. Support for IPv6 added in Junos OS
Release 12.1X46-D10.
Description 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.
Options The remaining statements are explained separately. See CLI Explorer.
reauth-frequency
Release Information Statement modified in Junos OS Release 9.0. Support for [edit security pki
auto-re-enrollment cmpv2 certificate-id certificate-id-name] and [edit security pki
auto-re-enrollment scep certificate-id certificate-id-name] hierarchies added in Junos OS
Release 15.1X49-D40.
Description Specify the certificate reenrollment trigger as a percentage of the end-entity (EE)
certificate’s lifetime that remains before certificate reenrollment is initiated. For example,
if the renewal request is to be sent when the certificate's remaining lifetime is 10 percent,
then configure 10 for re-enroll-trigger-time-percentage value. The time at which the
certificate reenrollment is initiated is based on the certificate expiry date.
re-generate-keypair
Syntax re-generate-keypair;
Release Information Statement introduced in Junos OS Release 8.5. Support for [edit security pki
auto-re-enrollment cmpv2 certificate-id certificate-id-name] and [edit security pki
auto-re-enrollment scep certificate-id certificate-id-name] hierarchies added in Junos OS
Release 15.1X49-D40.
Description Specifies 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.
refresh-interval
Description Specify the amount of time between certificate revocation list (CRL) updates.
Release Information Statement introduced in Junos OS Release 8.5. Support for IPv6 addresses added in
Junos OS Release 11.1.
Description Specify the remote IPv4 or IPv6 address and subnet mask for the proxy identity.
remote-exceptions
Release Information Statement introduced in Junos OS Release 9.5. This statement is supported on SRX300,
SRX320, SRX340, SRX345, and SRX550HM devices.
Description 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-identity
Syntax remote-identity {
(distinguished-name <container container-string> <wildcard wildcard-string> | hostname
hostname | inet ip-address | inet6 ipv6-address | user-at-hostname e-mail-address);
}
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.
Syntax remote-identity {
(hostname [hostname] | inet ip-address | user-at-hostname e-mail-address);
}
Description 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. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM,
SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
remote-protected-resources
Release Information Statement introduced in Junos OS Release 9.5. This statement is supported on SRX300,
SRX320, SRX340, SRX345, and SRX550HM devices.
Description 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.
replay-attacks
Syntax replay-attacks {
threshold value;
}
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.
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.
respond-bad-spi
Description 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.
Options max-responses—(Optional) Number of times to respond to invalid SPI values per gateway.
Range: 1 through 30
Default: 5
Syntax revocation-check {
crl {
disable {
on-download-failure;
}
refresh-interval hours;
url url-name;
}
disable;
ocsp {
connection-failure (disable | fallback-crl);
disable-responder-revocation-check;
nonce-payload (enable | disable);
url ocsp-url;
}
use-ocsp;
}
Release Information Statement modified in Junos OS Release 8.5. Support for ocsp 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 The remaining statements are explained separately. See CLI Explorer.
Description Configure the routing instance that the group VPN server or member uses when
communicating with a group member or server. This statement is used when the IKE
gateway is not configured in the default routing instance. Group VPNv2 is supported on
SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200
devices and vSRX instances.
security-association
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.
direction—Direction of the manual SA. For this feature, the direction must be bidirectional.
Related • Understanding OSPF and OSPFv3 Authentication on SRX Series Devices on page 62
Documentation
Syntax 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;
}
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;
}
}
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;
}
}
Description Configure group VPN server. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
You configure the following on the group server:
Options The remaining statements are explained separately. See CLI Explorer.
Description Specify the group server 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. Group VPNv2 is
supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
and SRX4200 devices and vSRX instances.
Syntax server-cluster {
ike-gateway gateway-name;
retransmission-period seconds;
server-role (root-server | sub-server);
}
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. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
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.
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.
NOTE: You must ensure that there is only one root-server at any time
for a group VPN server cluster.
Syntax 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);
}
Description Enable and configure server to member communication. When these options are
configured, group members receive new keys before current keys expire. Group VPNv2
is supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
and SRX4200 devices and vSRX instances. 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.
session-affinity
Description Enable VPN session affinity. This feature is supported only on SRX5400, SRX5600, and
SRX5800 devices and vSRX instances.
Description 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).
Default If this option is not specified then the IP address of the egress interface is used as the
source address.
source-interface (Security)
Description 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.
Hierarchy Level [edit security ipsec security-association sa-name mode transport manual direction
bidirectional]
Description Configure a security parameter index (SPI) for a manual IPsec security association (SA)
to be applied to an OSPF or OSPFv3 interface or virtual link.
Options spi—SPI for the manual SA. The SPI uniquely identifies the SA to use at the receiving host
(the destination address in the packet).
Range: 256 through 16,639
Related • Understanding OSPF and OSPFv3 Authentication on SRX Series Devices on page 62
Documentation
Description Configure a security parameter index (SPI) for a security association (SA).
Options spi-value —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
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’
}
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.
Related • Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access Client
Documentation on page 878
tcp-encap-profile
Description Specify the TCP encapsulation profile to be used for TCP connections for remote access
clients. The profile is configured with the tcp-encap configuration statement at the [edit
security] hierarchy level.
Related • Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access Client
Documentation on page 878
Description Specify the maximum number of unsuccessful dead peer detection (DPD) requests to
be sent before the peer is considered unavailable.
Syntax traceoptions {
file filename;
flag {
all <detail | extensive | terse>;
}
}
Description Configure dynamic VPN tracing options. This feature is supported on SRX300, SRX320,
SRX340, SRX345, and SRX550HM devices.
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.
Syntax 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;
}
Release Information Statement introduced in Junos OS Release 10.2. Support for gateway-filter options and
for the [edit security group-vpn member ike] hierarchy level added in Junos OS Release
15.1X49-D30 for vSRX.
Description Configure group VPN trace options. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
• 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.
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
• 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.
Syntax traceoptions {
file {
filename;
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag flag;
no-remote-trace;
rate-limit messages-per-second;
}
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.
• 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.
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.
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
• 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.
Default: 0
Syntax traceoptions {
flag flag;
}
Options • flag—To specify more than one trace operation, include multiple flag statements.
Syntax traceoptions {
file {
filename;
files number;
match regular-expression;
size maximum-file-size;
(world-readable | no-world-readable);
}
flag flag;
no-remote-trace;
}
• 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.
Default: 10 files
• match regular-expression—Refine the output to include lines that contain the regular
expression.
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
• flag—Trace operation to perform. To specify more than one trace operation, include
multiple flag statements.
Syntax 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;
}
• 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.
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
flag—Trace operation to perform. To specify more than one trace operation, include
multiple flag statements.
Related • Understanding SSL Remote Access VPNs with NCP Exclusive Remote Access Client
Documentation on page 878
traffic-selector
Syntax trusted-ca {
ca-profile ca-profile-name;
trusted-ca-group name;
}
Release Information Statement introduced in Junos OS Release 8.5. Statement modified in Junos OS Release
18.1R1.
Description 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.
Options name—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.
trusted-ca-group
Description You can group multiple CA profiles in one trusted CA group for a given topology. These
certificates are used to establish connection between two endpoints. To establish an
IPsec connection, 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.
Options name—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 topology.
Syntax use-ocsp;
Description Specify the Online Certificate Status Protocol (OCSP) as the method to check the
revocation status of a certificate. CRL is the default method.
Description Specify which users can access the selected dynamic VPN configuration. This feature is
supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
user-at-hostname
Description Specify which users can access the selected dynamic VPN configuration. This feature is
supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
verify-path
Syntax verify-path {
destination-ip ip-address;
packet-size bytes;
}
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.
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.
NOTE: 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.
packet-size bytes—(Optional) The size of the packet that is used to verify an IPsec
datapath before the st0 interface is brought up.
NOTE: 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.
Related
Documentation
Options v1-only—The connection must be initiated using IKE version 1. This is the default.
vpn (Security)
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
vpn-monitor
Syntax vpn-monitor {
destination-ip ip-address;
optimized;
source-interface interface-name;
verify-path {
destination-ip ip-address;
packet-size bytes;
}
}
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.
Options The remaining statements are explained separately. See CLI Explorer.
vpn-monitor-options
Syntax vpn-monitor-options {
interval seconds;
threshold number;
}
Options • interval seconds —Interval at which to send ICMP requests to the peer.
wildcard
Description 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.
Options string—DN field and value pairs to be matched. For example, cn=admin, ou=eng,
o=example, dc=net.
NOTE: 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.
xauth-attributes
Syntax xauth-attributes {
primary-dns IP address;
primary-wins IP address;
secondary-dns IP address;
secondary-wins IP address;
}
Hierarchy Level [edit access address-assignment pool <name> family (inet | inet6)]
xauth-client-username
Hierarchy Level [edit security ike gateway (Security IKE) name xauth client]
Operational Commands
Description Clear all dynamic VPN user connections. This feature is supported on SRX300, SRX320,
SRX340, SRX345, and SRX550HM devices.
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
Description Clear the dynamic VPN user connection for the specified username. This feature is
supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
Syntax clear security group-vpn member group <vpn vpn-name> <group-id group-id>
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,
and SRX4200 devices and vSRX instances.
Syntax clear security group-vpn member ike security-associations [index SA-index] [peer-ipaddress]
Description Clear IKE security association (SA) for a group member. Group VPNv2 is supported on
SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200
devices and vSRX instances.
Description Clear group VPN SA for a group member. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
Options • none—Clear all group VPN SAs for the group member.
Syntax clear security group-vpn member ipsec security-associations statistics <group-id group-id>
Description Clear IPsec SA statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
group-id group-id—(Optional) Clear IPsec SA statistics for the specified group identifier.
Description Clear IPsec statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
index index—(Optional) Clear the IPsec statistics for the SA with this index number.
Syntax clear security group-vpn server [group group-name | group-id group-id] [now]
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, and SRX4200 devices and vSRX instances.
• group—(Optional) Clear members and SAs for the specified group name.
• group-id—(Optional) Clear members and SAs for the specified group identifier.
Output Fields If there is a problem with the command, one of the following messages appears:
Syntax clear security group-vpn server server-cluster statistics <group group-name> <group-id
group-id>
Description Clear Group VPNv2 server cluster statistics. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 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.
Syntax clear security group-vpn server statistics <group group-name> <group-id group-id>
Description Clear group statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
Description Clear information about invalid Internet Key Exchange (IKE) security parameter index
(SPI) counters.
• gateway-name —(Optional) Clear the invalid SPI counters for the given gateway.
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.
• 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.
• 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.
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.
• 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.
pic slot-number —Specific to SRX Series devices. Clear information about existing IPsec
SAs in this PIC slot.
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.
• 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.
• pic slot-number —Specific to SRX Series devices. Clear statistics about existing IPsec
SAs in this PIC slot.
Description Clear public key infrastructure (PKI) key pair information for local digital certificates on
the device.
• certificate-id certificate-id —Clear key pair information for the local certificate with this
certificate ID.
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.
• certificate-id certificate-id —Clear the specified local digital certificate with this
certificate ID.
List of Sample Output clear security pki local-certificate all on page 1275
clear security pki local-certificate system-generated on page 1275
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
Sample Output
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.
NOTE: 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/kmd file with the show log kmd command.
You can use the show security ike debug-status command to see the status of the
per-tunnel IKE tracing operation.
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.
List of Sample Output request security pki ca-certificate ca-profile-group load (default) on page 1279
request security pki ca-certificate ca-profile-group load (path/filename) on page 1280
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
Sample Output
...
ca-manual_195_sysgen: Loading done.
ca-manual_196_sysgen: Loading done.
ca-profile-group 'ca-manual’ successfully loaded. Success[193] Skipped[3]
Description Request a digital certificate from a certificate authority (CA) online by using the Simple
Certificate Enrollment Protocol (SCEP).
List of Sample Output request security pki ca-certificate enroll on page 1281
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
Syntax request security pki ca-certificate load ca-profile ca-profile-name filename path/filename
Description Manually load a certificate authority (CA) digital certificate from a specified location.
List of Sample Output request security pki ca-certificate load on page 1282
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
Fingerprint:
a0:08:bb:1f:75:96:76:cd:ee:db:36:10:b6:c6:d8:df:5e:02:05:05 (sha1)
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
Description Verify the digital certificate installed for the specified certificate authority (CA).
List of Sample Output request security pki ca-certificate verify ca-profile ca1 (CRL downloaded) on page 1283
request security pki ca-certificate verify ca-profile ca1 (CRL not downloaded) on page 1283
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
This user has downloaded the certificate revocation list (CRL).
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
Syntax request security pki crl load ca-profile ca-profile-name filename path/filename
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.
List of Sample Output request security pki crl load on page 1284
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
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.
• 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.
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
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.
Description Generate a public key infrastructure (PKI) public/private key pair for a local digital
certificate.
size—Key pair size. The key pair size can be 256, 384, 1024, 2048, or 4096 bits. Key pair
sizes of 256 and 384 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.
• ecdsa—ECDSA encryption
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
Syntax request security pki key-pair export certificate-id certificate-id filename filename
<passphrase string>
< type (der | pem)>
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.
type (der | pem)—(Optional) Type of format, either DER or PEM. PEM is the default.
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.
• DC—Domain component
• CN—Common name
• O—Organization name
NOTE: 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
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 tc552-root@example.net 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.
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.
Description Enroll and install a local digital certificate online by using Simple Certificate Enrollment
Protocol (SCEP).
NOTE: 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.
digest (sha-1 | sha-256)—Hash algorithm used for signing RSA certificates, either SHA-1
or SHA-256. SHA-1 is the default.
• DC—Domain component
• CN—Common name
• O—Organization name
NOTE: 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
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
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.
List of Sample Output request security pki local-certificate export on page 1294
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
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.
• DC—Domain component
• CN—Common name
• O—Organization name
• L—Locality
• ST—State
• C—Country
• sha256—SHA-256 digest
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.
List of Sample Output request security pki local-certificate generate-self-signed certificate-id self-cert
subject cn=abc domain-name example.net email mholmes@example.net on page 1296
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 mholmes@example.net
user@host> request security pki local-certificate generate-self-signed certificate-id self-cert
subject cn=abc domain-name example.net email mholmes@example.net
Syntax request security pki local-certificate load filename ssl_proxy_ca.crt key ssl_proxy_ca.key
certificate-id certificate id
List of Sample Output request security pki local-certificate load on page 1297
Output Fields When you enter this command, you are provided feedback on the status of your request.
Sample Output
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.
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.
List of Sample Output request security pki local-certificate verify certificate-id bme1 (not
downloaded) on page 1300
request security pki local-certificate verify certificate bme1 (downloaded) on page 1300
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:
NOTE: 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
Output Fields Table 102 on page 1303 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
Syntax show security dynamic-policies [detail] [from-zone zone] [scope-id id] [to-zone zone]
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.
Output Fields Table 103 on page 1304 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.
Application Name of a preconfigured or custom application whose type the packet matches, as
specified at configuration time.
• IP protocol: The IP protocol used by the application—for example, TCP, UDP, ICMP.
• ALG: If an ALG is associated with the session, the name of the ALG. Otherwise, 0.
• Inactivity timeout: Elapse time without activity after which the application is terminated.
• Source port range: The low-high source port range for the session application.
• Destination port range: The low-high destination port range for the session application.
Sample Output
Sample Output
Sample Output
Sample Output
Sample Output
Sample Output
Description Display all relevant user information. This feature is supported on SRX300, SRX320,
SRX340, SRX345, and SRX550HM devices.
Output Fields Table 104 on page 1309 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
Description Display all relevant user information. This feature is supported on SRX300, SRX320,
SRX340, SRX345, and SRX550HM devices.
Output Fields Table 105 on page 1311 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.
Sample Output
Established
Name
alice group-one 192.168.2.10 alicegw2.CONNECTED 72000 3600 group Wed
example. Aug 8
10:
net 26:39
2012
Syntax show security group-vpn member ike security-associations [brief | detail] [index sa-index]
[peer-ipaddress]
Description Display IKE security associations (SAs) for group members. Group VPNv2 is supported
on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200
devices and vSRX instances.
Options • none—Display summary information about all IKE SAs for the group members.
List of Sample Output show security group-vpn member ike security-associations on page 1315
show security group-vpn member ike security-associations detail on page 1315
Output Fields Table 106 on page 1313 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.
Table 106: 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.
Table 106: show security group-vpn member ike security-associations Output Fields (continued)
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.
A cookie is aimed at protecting the computing resources from attack without spending
excessive CPU resources to determine the cookie's authenticity.
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.
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:
Table 106: show security group-vpn member ike security-associations Output Fields (continued)
Algorithms Internet Key Exchange (IKE) algorithms used to encrypt and secure exchanges between
the peers during the IPsec Phase 2 process:
Sample Output
Sample Output
Output packets: 7
Flags: IKE SA is created
Syntax show security group-vpn member ipsec inactive-tunnels <brief> <detail> <group-id group-id>
Description Show inactive Group VPNs. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
List of Sample Output show security group-vpn member ipsec inactive-tunnels on page 1318
show security group-vpn member ipsec inactive-tunnels detail on page 1319
Output Fields Table 107 on page 1317 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 107: show security group-vpn member ipsec inactive-tunnels Output Fields
Table 107: show security group-vpn member ipsec inactive-tunnels Output Fields (continued)
Recovery Probe Status of the recovery probe, either enabled or disabled (default).
Stats Statistics for GDOI groupkey-pull and groupkey-push exchanges, server failovers,
deletes received, number of times the maximum number of keys and policies
were exceeded, and the number of unsupported algorithms received.
Sample Output
Syntax show security group-vpn member ipsec security-associations [brief | detail] [index sa-index]
Description Display group VPN security associations (SAs) for a group member. Group VPNv2 is
supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
and SRX4200 devices and vSRX instances.
Options • none—Display information about all group VPN SAs for the group member.
List of Sample Output show security group-vpn member ipsec security-associations on page 1322
show security group-vpn member ipsec security-associations detail on page 1322
Output Fields Table 108 on page 1320 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.
ID Index number of the SA. You can use this number to get additional information about
the SA.
Port If Network Address Translation-Traversal (NAT-T) is used, this value is 4500. Otherwise
it is the standard IKE port, 500.
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.
Protocol Protocol supported. Transport mode supports Encapsulation Security Protocol (ESP).
Anti-replay service State of the service that prevents packets from being replayed. It can be Enabled or
Disabled.
Sample Output
Sample Output
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
Description Show IPsec statistics. Group VPNv2 is supported on SRX300, SRX320, SRX340, SRX345,
SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
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.
List of Sample Output show security group-vpn member ipsec statistics on page 1325
Output Fields Table 109 on page 1324 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 109: 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.
Errors Numbers of AH failures, replay errors, ESP authentication failures, ESP decryption
failures, bad headers, and bad trailers.
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.
Table 109: show security group-vpn member ipsec statistics Output Fields (continued)
Sample Output
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
ESP authentication failures: 0, ESP decryption failures: 0
Bad headers: 0, Bad trailers: 0
D3P Statistics:
Old timestamp packets: 0
New timestamp packets: 0
No timestamp packets: 0
Unexpected D3P header packets: 0
Invalid type packets: 0
Invalid length packets: 0
Invalid next header packets: 0
Exclude Statistics:
Created sessions: 0
Invalidated sessions: 0
Dynamic Policy Statistics:
Created sessions: 381
Invalidated sessions: 0
Fail-Open Statistics:
Created sessions: 0
Invalidated sessions: 0
Fail-Close Statistics:
Dropped packets: 0
Forward-policy-mismatch Statistics:
Input Packets: 0
Output packets: 0
Syntax show security group-vpn member kek security-associations [brief | detail | display xml] [index
sa-index] [peer-ipaddress]
Description Display Group VPNv2 security associations (SAs) for a group member. Group VPNv2 is
supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
and SRX4200 devices and vSRX instances.
NOTE: 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 745.
Options • none—Display information about all Group VPNv2 SAs for the group member.
List of Sample Output show security group-vpn member kek security-associations on page 1328
show security group-vpn member kek security-associations detail on page 1328
show security group-vpn member kek security-associations detail | display
xml on page 1329
Output Fields Table 110 on page 1327 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.
Group Key Push sequence number Sequence number of the KEK SA groupkey-push message. This number is incremented
with every groupkey-push message.
Sample Output
Sample Output
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
<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>
Syntax show security group-vpn member policy <vpn vpn-name> <group-id group-id>
Description Show Group VPN policies. Group VPNv2 is supported on SRX300, SRX320, SRX340,
SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX instances.
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.
List of Sample Output show security group-vpn member policy on page 1331
Output Fields Table 111 on page 1330 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.
Sample Output
Syntax show security group-vpn server ike security-associations [brief | detail] [group group-name
| group-id group-id] [index sa-index]
Description Display IKE security associations (SAs). Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
List of Sample Output show security group-vpn server ike security-associations on page 1334
show security group-vpn server ike security-associations detail on page 1335
Output Fields Table 112 on page 1333 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 112: 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.
A cookie is aimed at protecting the computing resources from attack without spending
excessive CPU resources to determine the cookie's authenticity.
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.
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:
Table 112: show security group-vpn server ike security-associations Output Fields (continued)
Algorithms Internet Key Exchange (IKE) algorithms used to encrypt and secure exchanges between
the peers during the IPsec Phase 2 process:
Phase 2 negotiations in progress Number of Phase 2 IKE negotiations in progress and status information:
Sample Output
Sample Output
Syntax show security group-vpn server ipsec security-associations [brief | detail] [group group-name
| group-id group-id]
Description Display IPsec security associations (SAs). Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
List of Sample Output show security group-vpn server ipsec security-associations on page 1337
show security group-vpn server ipsec security-associations detail on page 1337
Output Fields Table 113 on page 1336 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.
Total IPsec SAs The total number of IPsec SAs for each group is shown.
Protocol Protocol supported. Transport mode supports Encapsulation Security Protocol (ESP).
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
Sample Output
Source: 192.168.1.0/24
Destination: 192.168.1.0/24
Source Port: 0
Destination Port: 0
Protocol: 0
Syntax show security group-vpn server kek security-associations [brief | detail] [group group-name
| group-id group-id | index sa-index]
List of Sample Output show security group-vpn server kek security-associations on page 1341
show security group-vpn server kek security-associations detail on page 1341
Output Fields Table 114 on page 1339 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 114: 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.
Table 114: show security group-vpn server kek security-associations Output Fields (continued)
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.
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.
Table 114: show security group-vpn server kek security-associations Output Fields (continued)
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 number Sequence number of the KEK SA groupkey-push message. This number is incremented
with every groupkey-push message.
Sample Output
Sample Output
Syntax show security group-vpn server registered-members <group group-name> <group-id group-id>
<detail>
Description Display currently registered group members. Group VPNv2 is supported on SRX300,
SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and
vSRX instances.
List of Sample Output show security group-vpn server registered-members on page 1343
show security group-vpn server registered-members detail on page 1343
Output Fields Table 115 on page 1342 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.
Last Update The last time that members registered or sent acknowledgements to the server.
Table 115: show security group—vpn server registered-members Output Fields (continued)
Sample Output
Sample Output
Syntax show security group-vpn server server-cluster <brief> <detail> <group group-name>
<group-id group-id> <peer-gateway gateway-name>
Description Show information about servers in the Group VPNv2 server cluster. Group VPNv2 is
supported on SRX300, SRX320, SRX340, SRX345, SRX550HM, SRX1500, SRX4100,
and SRX4200 devices and vSRX instances.
Options none—Display Group VPNv2 server cluster information for all groups.
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.
List of Sample Output show security group-vpn server server-cluster on page 1345
show security group-vpn server server-cluster detail on page 1345
Output Fields Table 116 on page 1344 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.
Table 116: show security group-vpn server server-cluster Output Fields (continued)
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
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: 5
DPD send fail: 0
DPD ACK recv: 5
DPD ACK invalid seqno: 0
IPsec SA policy mismatch: 0
IPsec SA proposal mismatch: 0
KEK SA proposal mismatch: 0
Syntax show security group-vpn server statistics <group group-name> <group-id group-id>
Description Show Group VPNv2 server statistics. Group VPNv2 is supported on SRX300, SRX320,
SRX340, SRX345, SRX550HM, SRX1500, SRX4100, and SRX4200 devices and vSRX
instances.
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.
List of Sample Output show security group-vpn server statistics on page 1347
Output Fields Table 117 on page 1347 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.
Sample Output
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.
peer-address—(Optional) Display details about the user with the specified peer address.
ike-id IKE-ID—(Optional) Display information about the user with the specified IKE ID.
Output Fields Table 118 on page 1350 lists the output fields for the show security ike active-peer command.
Output fields are listed in the approximate order in which they appear.
Assigned network attributes Network attributes assigned to the peer can include the IP detail
address and netmask, and DNS and WINS server addresses.
Active IKE SA indexes Index number of the SA associated with the peer. This number detail
is an internally generated number.
Sample Output
Description Display debug status for currently enabled Internet Key Exchange (IKE) tracing.
Output Fields Table 119 on page 1352 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
Enabled
flag: all
level: 7
Local IP: 192.0.2.1, Remote IP: 203.0.113.2
Description Display the Internet Key Exchange (IKE) preshared key used by the Virtual Private network
(VPN) gateway to authenticate the remote access user.
Sample Output
Preshared Key:3b33ec3631a561ec5a710f5d02f208033b108bb4
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.
• 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.
NOTE: 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.
• 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.
List of Sample Output show security ike security-associations (IPv4) on page 1358
show security ike security-associations (IPv6) on page 1358
show security ike security-associations detail (SRX300, SRX320, SRX340, SRX345,
and SRX550HM Devices) on page 1358
show security ike security-associations detail (SRX5400, SRX5600, and SRX5800
Devices) on page 1359
show security ike security-associations family inet6 on page 1359
show security ike security-associations index 222075191 detail on page 1360
show security ike security-associations index 788674 detail on page 1361
show security ike security-associations 192.168.1.2 on page 1361
show security ike security-associations fpc 6 pic 1 kmd-instance all (SRX Series
Devices) on page 1361
show security ike security-associations detail (ADVPN Suggester, Static
Tunnel) on page 1362
show security ike security-associations detail (ADVPN Partner, Static
Tunnel) on page 1362
show security ike security-associations detail (ADVPN Partner, Shortcut) on page 1362
show security ike security-associations sa-type shortcut (ADVPN) on page 1362
show security ike security-associations sa-type shortcut detail (ADVPN) on page 1363
show security ike security-associations detail (IKEv2 Reauthentication) on page 1363
show security ike security-associations detail (IKEv2 Fragmentation) on page 1363
Output Fields Table 120 on page 1355 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.
A cookie is aimed at protecting the computing resources from attack without spending
excessive CPU resources to determine the cookie's authenticity.
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.
NOTE: 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:
• caller notification sent—Caller program notified about the completion of the IKE
negotiation.
• waiting for done—Negotiation is done. The library is waiting for the remote end
retransmission timers to expire.
• waiting for remove—Negotiation has failed. The library is waiting for the remote end
retransmission timers to expire before removing this negotiation.
• waiting for policy manager—Negotiation is waiting for a response from the policy
manager.
Phase 2 negotiations in progress Number of Phase 2 IKE negotiations in progress and status information:
Sample Output
show security ike security-associations detail (SRX300, SRX320, SRX340, SRX345, and SRX550HM Devices)
user@host> show security ike security-associations detail
Authentication : hmac-sha1-96
Encryption : aes128-cbc
Pseudo random function: hmac-sha1
Diffie-Hellman group : DH-group-5
Traffic statistics:
Input bytes : 1012
Output bytes : 1196
Input packets: 4
Output packets: 5
Flags: IKE SA is created
IPSec security associations: 1 created, 0 deleted
Phase 2 negotiations in progress: 0
show security ike security-associations detail (SRX5400, SRX5600, and SRX5800 Devices)
user@host> show security ike security-associations detail
Algorithms:
Authentication : sha1
Encryption : 3des-cbc
Pseudo random function: hmac-sha1
Diffie-Hellman group : DH-group-5
Traffic statistics:
Input bytes : 1568
Output bytes : 2748
Input packets: 6
Output packets: 23
Flags: Caller notification sent
IPSec security associations: 5 created, 0 deleted
Phase 2 negotiations in progress: 1
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
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
Syntax show security ike tunnel-map (<brief | summary>) <fpc slot-number> <kmd-instance (all |
kmd-instance-name)> <pic slot-number>
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.
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 • Understanding VPN Support for Inserting Services Processing Cards on page 52
Documentation
Output Fields Table 121 on page 1366 lists the output fields for the show security ike tunnel-map command.
Output fields are listed in the approximate order in which they appear.
Gateway ID Gateway identifier. This is a nondeterministic number that is constant as long as the
configuration is present. This number does not appear in any other outputs.
SPU Load Number of times an SPU has been chosen as an anchor SPU.
Sample Output
Description Display information about manual IPsec security associations (SAs) applied to OSPF or
OSPFv3 interfaces or virtual links.
Related • Understanding OSPF and OSPFv3 Authentication on SRX Series Devices on page 62
Documentation
Output Fields Table 122 on page 1368 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
Release Information Command introduced in Junos OS Release 11.4R3. Support for Auto Discovery VPN added
in Junos OS Release 12.3X48-D10.
• family—(Optional) Display the inactive tunnel by family. This option is used to filter
the output.
• sa-type—(Optional for ADVPN) Type of SA. shortcut is the only option for this release.
Output Fields Table 123 on page 1371 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 establish Total number of inactive IPsec tunnels that can establish a session immediately.
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
List of Sample Output show security ipsec next-hop-tunnels family inet on page 1375
show security ipsec next-hop-tunnels family inet6 on page 1375
Output Fields Table 124 on page 1374 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
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).
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.
NOTE: 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.
sa-type—(Optional for ADVPN) Display information for the specified type of SA. shortcut
is the only option for this release.
List of Sample Output show security ipsec security-associations (IPv4) on page 1381
show security ipsec security-associations (IPv6) on page 1383
show security ipsec security-associations index 511672 on page 1383
show security ipsec security-associations index 131073 detail on page 1384
show security ipsec security-associations brief on page 1385
show security ipsec security-associations detail on page 1385
show security ipsec security-associations family inet6 on page 1387
show security ipsec security-associations fpc 6 pic 1 kmd-instance all (SRX Series
Devices) on page 1387
show security ipsec security-associations detail (ADVPN Suggester, Static
Tunnel) on page 1388
show security ipsec security-associations detail (ADVPN Partner, Static
Tunnel) on page 1389
show security ipsec security-associations sa-type shortcut (ADVPN) on page 1389
show security ipsec security-associations sa-type shortcut detail (ADVPN) on page 1389
show security ipsec security-associations family inet detail on page 1390
show security ipsec security-associations detail (SRX4600) on page 1391
Output Fields Table 125 on page 1378 lists the output fields for the show security ipsec security-associations
command. Output fields are listed in the approximate order in which they appear.
ID Index number of the SA. You can use this number All levels
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.
State State has two options, Installed and Not Installed. detail
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 event detail
has occurred. See Tunnel Events for descriptions
of tunnel events and the action you can take.
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 SA. detail
Lifesize Remaining The lifesize remaining specifies the usage limits in detail
kilobytes. If there is no lifesize specified, it shows
unlimited.
Anti-replay service State of the service that prevents packets from detail
being replayed. It can be Enabled or Disabled.
Replay window size Size of the antireplay service window, which is 64 detail
bits.
Copy-Outer-DSCP Indicates if the system copies the outer DSCP value detail
from the IP header to the inner IP header.
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 (...).
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.
...
Tue Apr 24 2018 02:17:55 -0700: IPSec SA rekey successfully completed (58
times)
Mon Apr 23 2018 23:12:27 -0700: IPSec SA negotiation successfully completed
(1 times)
Mon Apr 23 2018 23:12:27 -0700: IKE SA negotiation successfully completed (1
times)
Mon Apr 23 2018 23:12:21 -0700: IPSec SAs cleared as corresponding IKE SA
deleted (1 times)
Mon Apr 23 2018 23:12:21 -0700: No response from peer. Negotiation failed (1
times)
Mon Apr 23 2018 22:47:34 -0700: IPSec SA rekey successfully completed (8
times)
Mon Apr 23 2018 22:44:28 -0700: IKE SA rekey successfully completed (1 times)
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:
--------------------------------------------------------------------------
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.
• 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.
Output Fields Table 126 on page 1393 lists the output fields for the show security ipsec statistics command.
Output fields are listed in the approximate order in which they appear.
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
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
Sample Output
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
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
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
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
Description Display information about the traffic selectors that have been negotiated between the
initiator and responder.
brief | detail—(Optional) Display the specified level of output. The default is brief.
List of Sample Output show security ipsec traffic-selector interface-name st0.1 detail on page 1397
Output Fields Table 127 on page 1397 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
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.
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.
Output Fields Table 128 on page 1398 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
344 0 1 13
343 0 1 15
342 0 1 16
340 0 1 17
341 0 1 18
343 0 1 19
343 0 1 20
341 0 1 21
342 0 1 22
342 0 1 23
341 0 1 24
340 0 1 25
340 0 1 26
341 0 1 27
342 2 0 0
342 2 3 0
NOTE: 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.
List of Sample Output show security ipsec tunnel-events statistics on page 1402
Sample Output
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.
NOTE: 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.
List of Sample Output show security pki ca-certificate ca-profile RootCA brief on page 1405
show security pki ca-certificate ca-profile RootCA detail on page 1405
show security pki ca-certificate ca-profile ca-tmp detail on page 1405
Output Fields Table 129 on page 1403 lists the output fields for the show security pki ca-certificate
command. Output fields are listed in the approximate order in which they appear.
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.
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
Sample Output
Sample Output
Organization: Example,
Organizational unit: DoD, Organizational unit: Testing, Country: US,
Common name: Trust Anchor
Subject:
Organization: Example,
Organizational unit: Dod, Organizational unit: Testing, Country: US,
Common name: CA1-PP.01.03
Subject string:
C=US, O=Example, OU=Example, OU=Testing, CN=CA1-PP.01.03
Validity:
Not before: 01- 1-1998 12:01 UTC
Not after: 01- 1-2048 12:01 UTC
Public key algorithm: rsaEncryption(1024 bits)
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)
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.
List of Sample Output show security pki certificate-request certificate-id user brief on page 1408
show security pki certificate-request certificate-id user detail on page 1408
Output Fields Table 130 on page 1407 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
Sample Output
Description Display information about the certificate revocation lists (CRLs) configured on the device.
List of Sample Output show security pki crl ca-profile ca2 on page 1410
show security pki crl ca-profile ca2 brief on page 1410
show security pki crl ca-profile ca2 detail on page 1410
Output Fields Table 131 on page 1409 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
CA profile: ca2
CRL version: V00000001
CRL issuer: emailAddress = user@example.net, 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
Sample Output
CA profile: ca2
CRL version: V00000001
CRL issuer: emailAddress = user@example.net, 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
CA profile: ca2
CRL version: V00000001
CRL issuer: emailAddress = user@example.net, 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
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.
List of Sample Output show security pki local-certificate certificate-id hello on page 1414
show security pki local-certificate certificate-id hello detail on page 1414
show security pki local-certificate system-generated on page 1415
show security pki local-certificate system-generated detail on page 1415
show security pki local-certificate certificate-id mycert - (local certificate enrolled
online using SCEP) on page 1416
show security pki local-certificate certificate-id mycert detail - (local certificate enrolled
online using SCEP) on page 1416
Output Fields Table 132 on page 1412 lists the output fields for the show security pki local-certificate
command. Output fields are listed in the approximate order in which they appear.
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.
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
Sample Output
objectClass=cRLDistributionPoint
http://example.example.net/CertEnroll/Example-CA.crl
Use for key: Key encipherment, Digital signature, 1.3.6.1.5.5.8.2.2,
1.3.6.1.5.5.8.2.2
Fingerprint:
76:a8:5f:65:b4:bf:bd:10:d8:56:82:65:ff:0d:04:3a:a5:e9:41:dd (sha1)
8f:99:a4:15:98:10:4b:b6:1a:3d:81:13:93:2a:ac:e7 (md5)
Auto-re-enrollment:
Status: Disabled
Next trigger time: Timer not started
Sample Output
Sample Output
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
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
Status: Disabled
Next trigger time: Timer not started
Output Fields Table 133 on page 1418 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
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
Output Fields Table 134 on page 1420 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