[c-nsp] VPN Reverse Route Injection gateway in VRF
Ronan Mullally
ronan at iol.ie
Mon Sep 14 12:54:52 EDT 2009
(First post on the list, so please be gentle!)
I'm working on a VPN solution which creates multiple VRFs and assigns VPN
traffic into a particular VRF based on it's ISAKMP profile and a dynamic
crypto-map. The application in hand is a CPE management network - each
CPE device builds a VPN tunnel back to a cisco router which constructs a
CPE VRF.
It all works works fine, up to a point. I use Reverse Route Injection to
add routes into each VRF. I've static routes configured in the VRF
directing outbound traffic via the correct front-door VRF:
router> show crypto route
Routes created in table CPE
172.31.0.65/255.255.255.255 [1/0] via 1.2.3.4 tag 100
on Port-channel1.99 RRI
router> sh ip route vrf CPE
S 172.31.0.65/32 [1/0] via 1.2.3.4
1.0.0.0/23 is subnetted, 1 subnets
S 1.2.2.0 [1/0] via 1.2.2.1, Port-channel1.99
1.2.3.4 represents public IP addresses. I foresee a problem when I try
to terminate VPN tunnels from CPE devices that are not on public IP
addresses, but instead are part of another VRF using private IP ranges:
router show crypto route
Routes created in table CPE
172.31.1.0/255.255.255.255 [1/0] via 10.0.0.102 tag 100
on Port-channel1.1100 RRI
router> sh ip route vrf CPE
S 172.31.1.0/32 [1/0] via 10.0.0.102
I can use "reverse-route remote-peer A.B.C.D gateway" I get the route to
the remote host sent via the correct interface:
router> sh ip route vrf CPE
S 172.31.1.0/32 [1/0] via 10.0.0.102
10.0.0.0/32 is subnetted, 1 subnets
S 10.0.0.102 [1/0] via 10.0.0.4, Port-channel1.1100
My problem arises when we end up with overlapping address ranges in two
different (front door) VRFs, so I would expect to see something like:
router> sh ip route vrf CPE
S 172.31.1.0/32 [1/0] via 10.0.0.102
S 172.31.1.1/32 [1/0] via 10.0.0.102
10.0.0.0/32 is subnetted, 1 subnets
S 10.0.0.102 [1/0] via 10.0.0.4, Port-channel1.1100
S 10.0.0.102 [1/0] via 10.0.0.5, Port-channel1.1101
The first being in VRF A, the second in VRF B.
My questions are:
- I expect this will be a problem, am I right? (ie there's no magic
that will ensure packets for go via the right VRF and not get load
balanced across two different VRFs, is there?)
- Is there a way around the problem? Careful address assignment to
avoid collisions is all I can think of.
What I really need is to be able to specify an interface/VRF in the first
route, for example:
router> sh ip route vrf CPE
S 172.31.1.0/32 [1/0] via 10.0.0.102, Port-channel1.1100 (or vrf A)
S 172.31.1.1/32 [1/0] via 10.0.0.102, Port-channel1.1101 (or vrf B)
Any advice would be very welcome.
-Ronan
More information about the cisco-nsp
mailing list