3.2 Site-to-Site VPN Design¶
Blueprint 3.2: Site-to-site VPN
- 3.2.a DMVPN
- 3.2.b Layer 2 VPN
- 3.2.c MPLS Layer 3 VPN
- 3.2.d IPsec
- 3.2.e Generic Routing Encapsulation (GRE)
- 3.2.f Group Encrypted Transport VPN (GET VPN)
This page is about picking the right VPN technology for a set of sites. The mechanics of GRE, IPsec, DMVPN and L3VPN are covered in ENCOR and ENARSI, so use these pages for the how and spend this page on the why:
The building blocks and what each one gives you¶
| Technology | Encapsulates | Encrypts | Carries multicast and routing protocols | Scales to many sites |
|---|---|---|---|---|
| GRE | Yes (IP in IP, protocol 47) | No | Yes | Poor alone: one tunnel per pair |
| IPsec (VTI or crypto map) | Yes | Yes | Crypto map: unicast IP only. VTI: yes | Poor alone: one SA set per pair |
| GRE over IPsec | Yes | Yes | Yes | Same as GRE |
| DMVPN (mGRE + NHRP + IPsec) | Yes | Optional but standard | Yes | Good: spokes need no per-peer config |
| GET VPN | No (keeps the original IP header) | Yes | Yes, because the header is the original | Good on private WANs |
| MPLS L3VPN | Label stack | No (provider isolation only) | Via PE-CE routing | Provider scale |
| Layer 2 VPN | Ethernet over pseudowire or EVPN | No | Transparent | Limited by Layer 2 domain size |
Remember the division of labour. GRE gives you a pipe that carries anything. IPsec gives you confidentiality and integrity. Neither one gives you automatic any-to-any connectivity. DMVPN adds the dynamic part. GET VPN removes the tunnels completely.
IPsec design points¶
- IKEv2 over IKEv1 for new designs. IKEv2 has fewer messages, built-in NAT traversal, dead peer detection, and is the base of FlexVPN.
- Tunnel mode hides the original IP header. When you add GRE under IPsec, you can use transport mode to save the extra outer header, which is the usual choice on DMVPN.
- Overhead: GRE adds 24 bytes (outer IP 20 plus GRE 4). ESP adds more, depending on cipher and mode. Plan the tunnel MTU and TCP MSS. A tunnel MTU of 1400 with MSS 1360 is a common starting point. The mechanics are in ENCOR GRE and IPsec.
- Throughput: encryption is the bottleneck on routers. Size the headend to the encrypted throughput, and check the number of tunnels the platform supports, not just the interface speed.
- Crypto map vs tunnel protection: crypto maps need an ACL per peer and do not carry routing protocols natively. Use virtual tunnel interfaces (VTI) for new designs because they behave like normal interfaces.
DMVPN design¶
DMVPN is the standard answer for "many sites, mostly hub-and-spoke, some spoke-to-spoke, over the Internet or any IP transport, with dynamic addressing at the spokes".
| Phase | Spoke-to-spoke path | Routing at spokes | Design implication |
|---|---|---|---|
| 1 | Never. All traffic via hub. | Hub can send a default or summary. | Simple, hub carries everything. |
| 2 | Direct, learned through NHRP resolution. | Spokes need specific routes with the next hop preserved. | No hub summarisation. Scale limited by routing table. |
| 3 | Direct, triggered by NHRP redirect and shortcut. | Hub can summarise or send default. | Best scaling. Preferred for new designs. |
Scaling and resilience choices:
- Dual hub, single cloud: two hubs on the same DMVPN network. Simple, but one misconfigured tunnel or one transport failure affects both.
- Dual hub, dual cloud: one DMVPN per transport (for example MPLS and Internet), each with its own hubs. This is the classic hybrid WAN pattern.
- Routing protocol: EIGRP and BGP are the common choices. OSPF is harder to scale on DMVPN because of its network type requirements (point-to-multipoint or broadcast with DR placement at the hub). For a large DMVPN, iBGP with route reflectors at the hubs or dynamic neighbours scales best.
- Spoke-to-spoke traffic: the first packet goes via the hub. Latency-sensitive applications can see a short delay or a first-packet drop while the direct tunnel forms.
graph TB
H1["Hub 1<br/>MPLS cloud"]
H2["Hub 2<br/>Internet cloud"]
S1["Spoke 1"]
S2["Spoke 2"]
S3["Spoke 3"]
S1 --- H1
S1 --- H2
S2 --- H1
S2 --- H2
S3 --- H1
S3 --- H2
S1 -. "phase 3 shortcut" .- S2
GET VPN¶
Group Encrypted Transport VPN solves a different problem: encrypting a private WAN that is already any-to-any, such as an MPLS L3VPN, without turning it into a tunnel mesh.
| Element | Role |
|---|---|
| Key server (KS) | Authenticates group members, creates and distributes the group keys and the policy (which traffic to encrypt) |
| Group member (GM) | The CE or router that encrypts and decrypts using the keys from the KS |
| GDOI | The group key management protocol (RFC 6407), UDP 848 |
| KEK / TEK | Key encryption key protects rekey messages. Traffic encryption key protects data |
| COOP | Cooperative key servers: a primary and secondary for redundancy |
Key properties:
- No tunnels and no peer-to-peer IKE. All members share a group SA, so any-to-any is native and there are no per-pair negotiations.
- IP header preservation. The packet keeps its original source and destination in the outer header. The provider's routing and QoS see the real addresses and DSCP, so the L3VPN network still routes and prioritises as normal. This is also why GET VPN does not work across the public Internet: the original (usually private) addresses must be routable in the underlay.
- Multicast works natively because the original multicast group is in the header.
- Time-based anti-replay is used, so members need accurate time (NTP).
- The key server is a control-plane dependency. If members cannot reach a KS when keys expire, they stop encrypting and can fail to forward. Deploy at least two KS (COOP) in different locations.
! Group member sketch
crypto gdoi group GETVPN-GRP
identity number 1234
server address ipv4 10.0.0.1
server address ipv4 10.0.0.2
!
crypto map GETVPN-MAP 10 gdoi
set group GETVPN-GRP
!
interface GigabitEthernet0/0/0
crypto map GETVPN-MAP
R1# show crypto gdoi
GROUP INFORMATION
Group Name : GETVPN-GRP
Group Identity : 1234
Registered with : 10.0.0.1
Rekeys received : 3
Choosing between them¶
graph TD
Q1{"Is the WAN private<br/>and any-to-any already?"}
Q1 -- "Yes, need encryption" --> G["GET VPN"]
Q1 -- "No, Internet or mixed" --> Q2{"Many sites<br/>with spoke-to-spoke?"}
Q2 -- "Yes" --> D["DMVPN phase 3"]
Q2 -- "No, few sites" --> I["GRE over IPsec or IPsec VTI"]
Q1 -- "Need Layer 2 adjacency" --> L["Layer 2 VPN<br/>or EVPN"]
Q1 -- "Provider-managed routing" --> M["MPLS L3VPN"]
| Requirement | Best fit |
|---|---|
| Encrypt an existing MPLS L3VPN with minimum change and keep provider QoS | GET VPN |
| 200 branches over the Internet, dynamic spoke IPs, occasional spoke-to-spoke voice | DMVPN phase 3 with IPsec |
| Two data centres and one DR site, routing protocols needed, simple | GRE over IPsec or IPsec VTI |
| Layer 2 adjacency between two data centres | Layer 2 VPN or EVPN |
| Provider manages routing, any-to-any, QoS classes | MPLS L3VPN |
| Application-aware path selection across mixed transports | SD-WAN (see 3.4) |
Failure modes to design for¶
- Recursive routing: the tunnel destination learned through the tunnel brings the tunnel down. Keep the underlay in a separate VRF (front-door VRF) or filter the routes. See ENCOR GRE and IPsec.
- MTU black holes: large packets with DF set vanish when ICMP is filtered. Set tunnel MTU and TCP MSS.
- Headend overload: a single hub with thousands of IPsec sessions can fail at rekey time. Use multiple hubs and spread the load with server load balancing or a hub-per-region design.
- Key server unreachable (GET VPN): see above. Use COOP and keep a KS reachable from every member.
Exam trap
GET VPN preserves the original IP header and uses no tunnels. It is the wrong answer for "encrypt traffic over the Internet" because the private source and destination addresses must be routable in the underlay. It is the right answer for "encrypt an MPLS WAN without breaking provider QoS or multicast".
Exam trap
DMVPN phase 1, 2 and 3 differ in where the spoke-to-spoke decision is made. Phase 3 is the only phase where the hub can send a summary or default route and spokes still build direct tunnels, because NHRP redirect and shortcut install the specific route. A scenario asking for good scale with spoke-to-spoke traffic points to phase 3.
Exam trap
IPsec by itself with a crypto map cannot carry a routing protocol that uses multicast, such as OSPF or EIGRP hellos. Add GRE, or use a VTI. That is the usual reason a design uses GRE over IPsec.
Design exercise¶
Scenario. A manufacturer has 150 plants connected to an MPLS L3VPN from one provider. Audit now requires encryption of all inter-plant traffic. The plants run voice between each other, and the provider's QoS classes map to DSCP markings today. Multicast is used for a plant-floor application. The team wants minimal change to routing and does not want a tunnel mesh. Ten plants also have a backup Internet circuit.
Requirements and constraints.
- Encrypt MPLS traffic.
- Keep provider QoS and multicast working.
- No per-site peer configuration.
- Internet backup sites must keep working if MPLS fails.
Model answer
- Over MPLS: deploy GET VPN with two key servers in COOP at different data centres. GET VPN encrypts any-to-any with one group policy, keeps the original header so the provider still sees the DSCP markings, and supports multicast natively. No tunnels are needed.
- Over the Internet backup at ten plants: GET VPN is not suitable on the Internet because it needs the original addresses to be routable. Use a DMVPN (or IPsec VTI to the data centre) on the Internet circuits only. Routing prefers the MPLS path and falls back to the tunnel.
- Rejected: a full DMVPN over the MPLS network would replace a working any-to-any network with a hub-controlled overlay and require tunnel configuration and MTU work at all 150 sites. Per-pair IPsec would not scale. An L2 VPN does not address encryption.
- Operational note: keep NTP accurate for GET VPN anti-replay and monitor KS reachability.
Quick check¶
Why does GET VPN work well over MPLS L3VPN but not over the Internet?
GET VPN keeps the original source and destination IP addresses in the outer header. A private MPLS network can route those addresses. The Internet cannot route a customer's private addresses, so the traffic would be dropped. Over the Internet you need a tunnelling technology that adds a new outer header, such as DMVPN or IPsec VTI.
A DMVPN uses OSPF and has 400 spokes. What is the design concern?
OSPF needs a network type that suits the multipoint cloud. Broadcast type requires the hub to be the DR and spokes to have priority 0. Point-to-multipoint scales less well and limits per-spoke policy. EIGRP or BGP are better at this scale because they handle many neighbours and summarisation more simply.
What must you add to plain IPsec so that EIGRP can run between two sites?
A crypto map carries only unicast IP traffic that matches the ACL. EIGRP hellos use multicast, so either run it over GRE protected by IPsec or use an IPsec virtual tunnel interface.
References¶
- Cisco Live On-Demand Library: search "DMVPN", "GET VPN design", "FlexVPN"
- Cisco Group Encrypted Transport VPN: search "GETVPN Design and Implementation Guide" on cisco.com
- RFC 6407 (GDOI), RFC 7296 (IKEv2), RFC 4301 (IPsec architecture), RFC 2784 (GRE)
Unlock the full question banks and cram sheets
A free account opens every question bank, the timed practice exams, the printable cram sheets, all the simulations and the lab files. Without one you see a 5-question sample of each.
No card needed. Study tips by email are optional and off unless you tick the box. Your address is never sold or shared. Privacy policy ยท Terms
Signed in as . Your account
You're on the free account, so lessons after the first module, question banks, exams and cram sheets show a sample. See Track Pass and All-Access
Also from NetManager Systems: NetManager, network monitoring for multi-vendor networks. Try the NetManager, NetDiag, PCAP Analyzer and OpsDash demos: every new account gets a free 7-day read-only login to each.