Large Scale DMVPN
Large Scale DMVPN
Large Scale DMVPN
NOVEMBER 2004
INTRODUCTION
2004, Cisco Systems, Inc. All rights reserved. 2004 Cisco Systems, Inc. All rights reserved.
Dynamic Multipoint VPN (DMVPN) can work with static routes but shows its power with routing protocols
IPsec facts
Cisco recommends that users keep a DMVPN hub within reasonable limits
Mbps
64 bytes
1400 bytes
Packet size
4
If a second mGRE interface is set up on the Cisco 7200 Series Router, it can accept a maximum of 350 tunnels per interface (700 total)
Is This Low?
Yes and no
The theoretical maximum number of tunnels (Cisco 7200 Series / VAM2) is 5,000 so DMVPN looks bad
Remarks
Check with your account team to evaluate the best DMVPN platform for your needs
If many spokes with very low IPsec throughput, DMVPN may not be a good fit
DMVPN starts to become useful at the edge between remoteaccess and lan-to-lan
DMVPN works best for spokes that need statistically constant equal access to central resources
Many existing remote-access or LAN to LAN solutions should actually be DMVPN like networks
2004, Cisco Systems, Inc. All rights reserved. 2004 Cisco Systems, Inc. All rights reserved.
10
Problem description
11
Requirements
Constraints
LAN to LAN
Dynamic IP addresses
Solution must:
Recover by itself
Allow Cisco rich features (ie: Cisco IOS Intrusion Prevention System (IPS), Cisco IOS Firewall)
12
Overall Solution
HQ
Edge of HQ Cluster of DMVPN hubs Aggregates user tunnels Cluster can be heterogeneous GRE/IPsec tunnels IGP + NHRP
When IKE or ESP packets are targeted at the VIP, the LB chooses a hub
Weighted round-robin
Least-connections
Once a decision is made for a tunnel, all subsequent packets go to the same hub (stickyness)
Once a decision is made for IKE, the same is made for ESP (buddying)
14
They have an NHRP map pointing to the Load Balancers Virtual IP Address
15
.2 10.1.1.0/24 10.1.0.0/24 .3 .1
.1 .3
.2
192.168.1.1/24
Spoke B
192.168.2.1/24
16
Spoke Configuration
17
Load Balancer
Runs on most Cisco IOS Software platforms, including the Cisco Catalyst 6500 Series Switch
CSM 3.1 or above should work too but we do not need most of its features (useless)
18
Cisco IOS Software SLB on a Cisco Catalyst 6500 Series Switch (MSFC-2)
Switches packets at the Cisco Express Forwarding rate (depending on other features)
19
20
Same farm
21
vserver prot client real state nat ------------------------------------------------------------------------------IKESLB UDP 64.103.8.8:500 10.1.0.2 ESTAB none ESPSLB ESP 217.136.116.189:0 10.1.0.2 ESTAB none IKESLB UDP 213.224.65.3:500 10.1.0.2 ESTAB none ESPSLB ESP 80.200.49.217:0 10.1.0.2 ESTAB none ESPSLB ESP 217.136.132.202:0 10.1.0.3 ESTAB none connections connections connections connections ? for a firewallfarm for a specific serverfarm for a specific virtual server
real farm name weight state conns ------------------------------------------------------------------10.1.0.2 HUBS 4 OPERATIONAL 4 10.1.0.3 HUBS 4 OPERATIONAL 1
22
interface Tunnel0 interface Loopback0 bandwidth 10000 ip address 172.17.0.1 255.255.255.255 ip address 10.0.0.1 255.255.0.0 end no ip redirects Must be same on all ip mtu 1350 Mask is /32 ip nhrp map multicast dynamic Must be same on all ip nhrp network-id 1 Mask allows 2^16-2 nodes ip nhrp holdtime 3600 no ip split-horizon interface FastEthernet0/0 no ip mroute-cache ip address 10.1.0.{2,3} 255.255.255.0 tunnel source Loopback0 interface FastEthernet0/1 tunnel mode gre multipoint ip address 10.2.0.{2,3} 255.255.255.0 tunnel key 1 tunnel protection ipsec profile tp end
23
Routing protocols
HQ Speaks EIGRP 2 Redistribute EIGRP 1 into BGP (with filtering) Redistribute BGP(summarized) into EIGRP 1
Redistribute EIGRP 2 into BGP (summary) Redistribute floating static (Null0) into EIGRP2
Spokes are EIGRP 1 stubs They speak to hubs thru GRE/IPsec tunnel
24
router eigrp 1 redistribute bgp 1 metric 1 0 255 20 1400 network 10.0.0.0 0.0.255.255 default-metric 64 2000 255 1 1400 no auto-summary router bgp 1 bgp router-id 10.2.0.{2,3} bgp log-neighbor-changes neighbor 10.0.0.1 remote-as 1
address-family ipv4 redistribute eigrp 1 route-map <IGPREDIST> neighbor 10.2.0.1 activate neighbor 10.2.0.1 next-hop-self no auto-summary no synchronization bgp redistribute-internal exit-address-family
25
router bgp 1 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.0.0.0 summary-only aggregate-address 192.168.0.0 255.255.0.0 summary-only redistribute eigrp 2 neighbor HUB peer-group neighbor HUB remote-as 1 neighbor HUB next-hop-self neighbor 10.0.0.2 peer-group HUB neighbor 10.0.0.3 peer-group HUB no auto-summary
26
router eigrp 2 redistribute static network 192.168.1.0 0.0.0.128 no auto-summary no eigrp log-neighbor-changes
27
Packet Flow
Corporate
4
2 1 PC1
6 7 PC2
28
Result
Simple to deploy
29
Support
30
IGP choices
BGP between Hubs and Edge is good due to number of prefixes and flexibility
Scaling the IGP between hubs and spokes is the hardest part
EIGRP shows best results so far but ODR is under test (lightweight)
31
Positioning
Resilience in N+1
32
Improvements
It is possible to collapse the Load balancer and the edge router (hubs in lollipop)
If the load balancer is a Cisco Catalyst 6500 Series Switch, this is even recommended as Layer 3 switching will accelerate spoke to spoke traffic
33
Routing Protocols
HQ Speaks EIGRP 2 Redistribute EIGRP 1 into BGP (with filtering) Redistribute BGP(summarized) into EIGRP 1
Redistribute EIGRP 2 into BGP (summary) Redistribute floating static (Null0) into EIGRP2
Spokes are EIGRP 1 stubs They speak to hubs thru GRE/IPsec tunnel
34
35