cancel
Showing results for 
Search instead for 
Did you mean: 

EXOS Lose Internal Access After Applying Policy Based Routing

EXOS Lose Internal Access After Applying Policy Based Routing

Ty_Kolff
New Contributor II
We are trying to route traffic from a particular server out an ASA firewall. We are moving from a Cisco core where we had the following in place:

ip access-list extended PBR-ASA
permit ip host 10.10.34.54 any
!
route-map ASA-MAP permit 10
match ip address PBR-ASA
set ip default next-hop 10.10.0.3

The behavior on the Cisco was basically to set the 0.0.0.0 route for that particular server to point to the ASA (10.10.0.3), but it still seemed to use all other routes internally so internal connectivity was just fine.

We have tried the following, but when we apply this we lose internal access to the Server (10.10.34.54):

entry PBR-ASA {
if match all {
source-address 10.10.34.54/32;
}
then {
redirect 10.10.0.3;
count pbr-asa;
}
}

I was applying this Access-List to the vlan that this server belonged to:

configure access-list PBR-ASA vlan VLAN305 ingress

We only want this server to redirect to 10.10.0.3 for it's external access. Any ideas on how to achieve this?

Thanks!
14 REPLIES 14

Hi Henrique,

the set ip default next-hop feature of Cisco IOS policy based routing is quite special. It results in normal, non-policy routing for every matching packet whose destination follows a specific (i.e. non-default) route. Only if no specific route to the destination exists and the default route would be used, the specified next-hop is used instead.

The policy based routing available on EXOS always redirects matching packets (if fast-path forwarded).

Thus the different results.

Erik

Erik_Auerswald
Contributor II
Hi Ty,

that looks good to me, I would try that. 🙂

Erik

Ty_Kolff
New Contributor II
So something like this should do the trick? This would allow access to the local subnet(s) 10.0.0.0/8 and then redirect to 10.10.0.3 for all non internal traffic?

entry PBR-LOCAL { if match all { source-address 10.10.34.54/32; destination-address 10.0.0.0/8; } then { permit; count pbr-local; } } entry PBR-ASA { if match all { source-address 10.10.34.54/32; } then { redirect 10.10.0.3; count pbr-asa; } }

Thanks for letting us know! 

Ty_Kolff
New Contributor II
I tested this in a lab and production environment and I can confirm that this does indeed do what we expected. It allows the server access to the local 10.0.0.0/8 subnet, but redirects all other traffic to 10.10.0.3.
GTM-P2G8KFN