GETVPN with Unicast PSK
GETVPN (Group Encrypted Transport VPN) offers secure IP communications between multiple sites without the need for tunnels, making it ideal for scalable enterprise networks. This guide outlines how to configure GETVPN using Unicast mode with pre-shared keys (PSK) for IKEv1 authentication. We’ll break down the setup process across the key server (KS) and group members (GMs).
Step 1: IKEv1 Configuration on the Key Server (KS)
Begin by defining the ISAKMP policy on the key server. This policy sets the phase 1 parameters for IKEv1:
crypto isakmp policy 1 authentication pre-share encryption aes hash sha group 5 lifetime 1800 exit
Next, define the pre-shared key and associate it with the IP address of the GM(s):
crypto isakmp key key address address-of-GM
Create the IPsec transform set to define how data will be encrypted and authenticated:
crypto ipsec transform-set tset-name esp-aes esp-sha-hmac mode tunnel
Then, bind the transform set into a crypto profile:
crypto ipsec profile profile-name set transform-set tset-name
Step 2: IKEv1 Configuration on Group Members (GMs)
Each GM must also be configured with a matching ISAKMP policy:
crypto isakmp policy 1 encryption aes authentication pre-share group 5 lifetime 1800 exit
Then configure the shared key on the GM, pointing back to the key server:
crypto isakmp key key address ip-of-KS
Step 3: Access Control List (ACL) on the Key Server
On the KS, define an ACL that identifies the traffic to be encrypted:
access-list extended acl-name1 deny eigrp any any deny udp any any eq 848 permit ip any any
This denies GDOI and EIGRP control traffic while permitting all other IP traffic for encryption.
Step 4: Exportable RSA Key Generation
The KS must generate exportable RSA keys for GDOI operations:
crypto key generate rsa general-keys exportable label label-name modulus 1024
Step 5: GDOI Group Configuration on the KS
Now configure the GDOI group, which handles key distribution and IPsec SA policies:
crypto gdoi group group-name identity number id-num server local rekey transport unicast rekey retransmit 10 number 2 rekey lifetime seconds sec rekey authentication mypubkey rsa label-name sa ipsec 1 profile profile-name replay time match address ipv4 acl-name1 exit address ipv4 x.x.x.x ! This is the KS IP to be advertised
Step 6: GDOI Configuration on the Group Members
Each GM must be configured to join the GDOI group and locate the KS:
crypto gdoi group group-name identity number id-num server address ipv4 ks-ip-address exit
Step 7: Apply the Crypto Map on the GM
Create and apply the crypto map to bind the GDOI group configuration to the outbound interface:
crypto map map-name num gdoi set group group-name exit interface g2 crypto map map-name
GETVPN Multicast Dense Mode PSK
Group Encrypted Transport VPN (GETVPN) can operate over multicast to efficiently distribute rekey messages to all Group Members (GMs). When using dense mode multicast and pre-shared keys (PSKs) for authentication, the configuration must ensure multicast routing is fully enabled across all routers.
1. Enabling Multicast Routing
Before diving into crypto configurations, make sure multicast routing is enabled globally on all participating routers:
ip multicast-routing
Then, enable PIM dense mode on each participating interface—this allows the multicast control traffic (like GDOI rekey messages) to be properly distributed:
interface g2 ip pim dense-mode
2. Configuring the Key Server (KS)
Start by configuring the ISAKMP policy for IKEv1 on the Key Server. This sets the encryption and authentication parameters:
crypto isakmp policy 1 authentication pre-share encryption aes hash sha group 5 lifetime 1800 exit
Then define the pre-shared key for communication with GMs:
crypto isakmp key key address address-of-GM
Create the IPsec transform set for phase 2 encryption:
crypto ipsec transform-set tset-name esp-aes esp-sha-hmac mode tunnel
Bind it to a profile:
crypto ipsec profile profile-name set transform-set tset-name
3. Configuring Group Members (GMs)
Each GM should have a matching ISAKMP policy:
crypto isakmp policy 1 encryption aes authentication pre-share group 5 lifetime 1800 exit
Then configure the shared key for the Key Server:
crypto isakmp key key address ip-of-KS
4. Access Control Lists (ACLs) on the Key Server
Two ACLs are used. The first identifies which traffic should be encrypted by GETVPN:
ip access-list extended acl-name1 deny eigrp any any deny udp any any eq 848 deny pim any any deny igmp any any permit ip any any
The second ACL is used to define which GMs are allowed to join the multicast group for rekey messages:
ip access-list extended acl-name2 permit ip any host 239.1.1.1
5. Generate Exportable RSA Keys
On the Key Server, generate the RSA key pair used to authenticate GDOI key pushes:
crypto key generate rsa general-keys exportable label label-name modulus 1024
6. GDOI Group Configuration on KS
Now, configure the GDOI group settings. Note that we are not using unicast for rekeying, so no rekey transport unicast is specified:
crypto gdoi group group-name identity number id-num server local no rekey transport unicast rekey retransmit 10 number 2 rekey lifetime seconds sec rekey authentication mypubkey rsa label-name rekey address ipv4 acl-name2 sa ipsec 1 profile profile-name replay time match address ipv4 acl-name1 exit address ipv4 x.x.x.x ! KS GDOI multicast address exit
7. GDOI Configuration on Group Members
GMs must be configured to join the same GDOI group and point to the KS:
crypto gdoi group group-name identity number id-num server address ipv4 ks-ip-address exit
Apply the GDOI group to a crypto map and bind it to the interface:
crypto map map-name num gdoi set group group-name exit interface g2 ip igmp join-group 239.1.1.1 source 192.168.101.100 crypto map map-name
The ip igmp join-group command ensures the GM actively joins the multicast group (239.1.1.1), receiving multicast rekey traffic from the KS.
GETVPN Multicast Sparse Mode PSK
GETVPN offers a powerful method for encrypting traffic across enterprise WANs, and its multicast rekey capability allows centralized management of security associations (SAs). In sparse mode, multicast rekey traffic is distributed using Source-Specific Multicast (SSM), making it scalable and efficient. Here’s how to configure GETVPN in multicast sparse mode using IKEv1 with PSK authentication.
Step 1: Enable Multicast Routing and Sparse Mode
To begin, ensure multicast routing is globally enabled on all routers:
ip multicast-routing
Next, enable PIM sparse mode on the relevant interfaces. This is critical for supporting Source-Specific Multicast (SSM):
interface g2 ip pim sparse-mode
Step 2: Configure ISAKMP and IPsec on the Key Server (KS)
Start with an IKEv1 policy that defines how the KS will negotiate secure tunnels with Group Members:
crypto isakmp policy 1 authentication pre-share encryption aes hash sha group 5 lifetime 1800 exit
Define the shared key used to authenticate GMs:
crypto isakmp key key address address-of-GM
Now, define the IPsec transform set and bind it to a profile:
crypto ipsec transform-set tset-name esp-aes esp-sha-hmac mode tunnel crypto ipsec profile profile-name set transform-set tset-name
Step 3: Configure GMs with Matching Crypto Parameters
On each Group Member, configure an identical ISAKMP policy:
crypto isakmp policy 1 encryption aes authentication pre-share group 5 lifetime 1800 exit
And specify the shared key pointing back to the KS:
crypto isakmp key key address ip-of-KS
Step 4: ACLs for GETVPN Traffic and Multicast
On the KS, create an extended ACL to match the traffic you want encrypted by GETVPN:
ip access-list extended acl-name1 deny eigrp any any deny ospf any any deny udp any any eq 848 deny pim any any deny igmp any any permit ip any any
Also create a second ACL for rekey multicast traffic:
ip access-list extended acl-name2 permit ip any host 239.1.1.1
On all routers, configure a standard ACL for PIM SSM and map the multicast group to the rekey source:
ip access-list standard 55 permit host 239.1.1.1 ip pim ssm range 55
Step 5: Generate Exportable RSA Keys on the KS
Exportable RSA keys are required for GETVPN’s secure GDOI rekey process:
crypto key generate rsa general-keys exportable label label-name modulus 1024
Step 6: Configure the GDOI Group on the KS
Now define the GDOI group and associate the crypto profile and ACLs:
crypto gdoi group group-name identity number id-num server local no rekey transport unicast rekey retransmit 10 number 2 rekey lifetime seconds sec rekey authentication mypubkey rsa label-name rekey address ipv4 acl-name2 sa ipsec 1 profile profile-name replay time match address ipv4 acl-name1 exit address ipv4 x.x.x.x exit
Step 7: Configure the GDOI Client Settings on GMs
On the Group Member, configure the GDOI group to match the KS:
crypto gdoi group group-name identity number id-num server address ipv4 ks-ip-address exit
Attach this configuration to a crypto map and apply it to the appropriate interface:
crypto map map-name num gdoi set group group-name exit interface g2 ip igmp join-group 239.1.1.1 source ks-server-ip crypto map map-name
The ip igmp join-group ensures the GM explicitly joins the SSM group for receiving multicast rekey traffic from the KS.
GETVPN Sparse-Dense Mode PSK & Multicast Rekey at Scale
GETVPN (Group Encrypted Transport VPN) supports secure, scalable key distribution across IP networks using multicast. The Sparse-Dense Mode allows networks to combine dense flooding in some areas and source-specific multicast (SSM) in others, offering flexibility for complex topologies. Below is a step-by-step configuration guide using IKEv1 with pre-shared key authentication.
Step 1: Enable Multicast and Sparse-Dense Mode
Begin by enabling multicast routing on all participating routers:
ip multicast-routing
Then, on each interface involved in the GETVPN deployment, enable sparse-dense PIM mode:
interface g2 ip pim sparse-dense-mode
This hybrid mode enables the network to use dense flooding where PIM neighbors are unavailable and source-based routing where they are.
Step 2: Configure IKEv1 and IPsec on the Key Server (KS)
Start by configuring the ISAKMP policy on the key server:
crypto isakmp policy 1 authentication pre-share encryption aes hash sha group 5 lifetime 1800 exit
Define the pre-shared key and associate it with the GM IP addresses:
crypto isakmp key key address address-of-GM
Next, define your IPsec transform set and apply it to a crypto profile:
crypto ipsec transform-set tset-name esp-aes esp-sha-hmac mode tunnel crypto ipsec profile profile-name set transform-set tset-name
Step 3: Configure the Group Members (GMs)
Each GM should be configured with a matching ISAKMP policy:
crypto isakmp policy 1 encryption aes authentication pre-share group 5 lifetime 1800 exit
And specify the shared key pointing back to the KS:
crypto isakmp key key address ip-of-KS
Step 4: Create Access Control Lists on the Key Server
Start by defining which traffic will be encrypted with GETVPN:
ip access-list extended acl-name1 deny eigrp any any deny ospf any any deny udp any any eq 848 deny pim any any deny igmp any any permit ip any any
Then define the multicast group used for rekeying:
ip access-list extended acl-name2 permit ip any host 239.1.1.1
On all routers, define a standard ACL and apply it to a PIM SSM range:
ip access-list standard 55 permit host 239.1.1.1 ip pim ssm range 55
Step 5: Generate RSA Keys on the KS
GETVPN requires RSA key pairs for GDOI secure distribution:
crypto key generate rsa general-keys exportable label label-name modulus 1024
Step 6: Configure the GDOI Group on the Key Server
Now create and configure the GDOI group:
crypto gdoi group group-name identity number id-num server local no rekey transport unicas rekey retransmit 10 number 2 rekey lifetime seconds sec rekey authentication mypubkey rsa label-name rekey address ipv4 acl-name2 sa ipsec 1 profile profile-name replay time match address ipv4 acl-name1 exit address ipv4 x.x.x.x exit
Step 7: Configure GDOI on the GMs
Each GM must be enrolled in the same GDOI group:
crypto gdoi group group-name identity number id-num server address ipv4 ks-ip-address exit
Apply the group to a crypto map and bind it to the interface:
crypto map map-name num gdoi set group group-name exit interface g2 ip igmp join-group 239.1.1.1 source ks-server-ip crypto map map-name
This ensures that GMs will receive the rekey multicast traffic from the Key Server via Source-Specific Multicast.
GETVPN Redundancy with COOPs and GM Authorization with PSK
High availability is critical for enterprise VPNs, and GETVPN delivers on this through its Cooperative Key Server (COOP) feature. This enables two or more key servers (KS1 and KS2) to operate redundantly, ensuring Group Members (GMs) can continue receiving Security Association (SA) rekeys even if a key server goes offline.
We walk through the configuration of GETVPN COOPs with GM authorization using pre-shared keys (PSK) and TFTP-based RSA key export.
Step 1: Export and Import RSA Keys Between Key Servers
Start by generating exportable RSA keys on the first key server:
crypto key generate rsa general-keys exportable label label-name modulus 1024
Next, export the RSA keys to be shared with the second KS via TFTP:
crypto key export rsa label-name pem url nvram: 3des password tftp-server nvram:label-name.pub tftp-server nvram:label-name.priv ip tftp source-interface g2
Then, on the second key server, import the keys:
crypto key import rsa label-name-from-other-key-server url tftp: password ip-of-first-ks
Step 2: Configure IKEv1 and IPsec on Both Key Servers
On both KS1 and KS2, configure matching ISAKMP policies:
crypto isakmp policy 1 authentication pre-share encryption aes hash sha group 5 lifetime 1800 exit
Define PSKs for communication with the GMs:
crypto isakmp key key address address-of-GM
Define transform sets and apply to crypto profiles:
crypto ipsec transform-set tset-name esp-aes esp-sha-hmac mode tunnel crypto ipsec profile profile-name set transform-set tset-name
Enable ISAKMP keepalives for faster failure detection:
crypto isakmp keepalive 10 10
Step 3: Configure the GMs
On each GM, configure an identical ISAKMP policy:
crypto isakmp policy 1 encryption aes authentication pre-share group 5 lifetime 1800 exit
Point the GM to both key servers:
crypto isakmp key key address ip-of-KS1 crypto isakmp key key address ip-of-KS2
Step 4: Access Control List (ACL) for SA Policy
On both key servers, define an ACL for encrypted traffic:
ip access-list extended acl-name1 deny eigrp any any deny ospf any any deny udp any any eq 848 deny pim any any deny igmp any any permit ip any any
Step 5: GDOI Group Configuration on KS1
Create the GDOI group on the first key server and set it as primary with higher priority:
crypto gdoi group group-name identity number id-num server local rekey transport unicast rekey retransmit 10 number 2 rekey lifetime seconds sec rekey authentication mypubkey rsa label-name sa ipsec 1 profile profile-name replay time match address ipv4 acl-name1 exit address ipv4 KS1-ip-address redundancy local priority 255 peer address ipv4 key-server-2-ip exit
Step 6: GDOI Group Configuration on KS2
Repeat the same configuration on key server 2, but set it with a lower priority so that it acts as the backup:
crypto gdoi group group-name identity number id-num server local rekey transport unicast rekey retransmit 10 number 2 rekey lifetime seconds sec rekey authentication mypubkey rsa label-name sa ipsec 1 profile profile-name replay time match address ipv4 acl-name1 exit address ipv4 KS2-ip-address redundancy local priority 155 peer address ipv4 key-server-1-ip exit
Step 7: Final Configuration on the Group Members
Now configure the GMs to join the GDOI group and recognize both KS IPs:
crypto gdoi group group-name identity number id-num server address ipv4 ks-ip-address server address ipv4 ks2-ip-address exit crypto map map-name num gdoi set group group-name exit interface g2 crypto map map-name
GETVPN with Unicast RSA and IOS CA
When deploying GETVPN with RSA-based authentication, integrating an IOS-based Certificate Authority (CA) provides scalable identity verification without relying on pre-shared keys. This guide walks through setting up an IOS router as the local CA and configuring GETVPN with RSA-signed IKEv1 authentication.
Step 1: Prepare the IOS CA Router
Before configuring the IOS router as a CA, ensure that the clock is correctly set or NTP is synchronized. Then generate the exportable RSA key pair that will be used by the CA:
crypto key generate rsa general-keys exportable label label modulus 1024
Export the RSA key so it can be referenced by the CA configuration:
crypto key export rsa label pem url nvram: 3des password
Now configure the IOS CA itself:
ip http server crypto pki server name database level minimum database url nvram: issuer-name cn=name l=location c=country grant auto no shutdown
This sets up a lightweight CA that will automatically grant certificates to clients upon request.
Step 2: Enroll and Authenticate GMs and KSs
On each device (GMs and KSs), configure the trustpoint and enroll with the CA:
crypto pki trustpoint trustpoint-name enrollment url http://x.x.x.x exit crypto pki authenticate name crypto pki enroll name
Step 3: Configure IKEv1 with RSA Authentication
On the key server, configure ISAKMP to use RSA signature authentication:
crypto isakmp policy 1 authentication rsa-sig encryption aes hash sha group 5 lifetime 1800 exit
Create the IPsec transform set and bind it to a profile:
crypto ipsec transform-set tset-name esp-aes esp-sha-hmac mode tunnel crypto ipsec profile profile-name set transform-set tset-name
Step 4: Configure ISAKMP on Group Members (GMs)
Match the ISAKMP policy on all GMs to align with the key server:
crypto isakmp policy 1 encryption aes authentication rsa-sig group 5 lifetime 1800 exit
Step 5: Define Traffic to Encrypt on the KS
Back on the key server, create an extended ACL to define which traffic should be encrypted:
access-list extended acl-name1 deny eigrp any any deny udp any any eq 848 deny tcp any eq 80 any deny tcp any any eq 80 permit ip any any
Step 6: Generate Exportable Keys for GDOI
RSA keys are also required for secure GDOI communications. Generate them with:
crypto key generate rsa general-keys exportable label label-name modulus 1024
Step 7: Configure the GDOI Group on the Key Server
Now configure the GETVPN GDOI group on the key server:
crypto gdoi group group-name identity number id-num server local rekey transport unicast rekey retransmit 10 number 2 rekey lifetime seconds sec rekey authentication mypubkey rsa label-name sa ipsec 1 profile profile-name replay time match address ipv4 acl-name1 exit address ipv4 x.x.x.x exit
Step 8: Configure the GM to Join the GDOI Group
Each GM must be configured to join the GDOI group and point to the KS:
crypto gdoi group group-name identity number id-num server address ipv4 ks-ip-address exit crypto map map-name num gdoi set group group-name exit interface g2 crypto map map-name