After not having time to write an article for a while, here is the article I promised in the last post. We will take our basic network from our other article on source based routing, and expand it. This solution involves a dual-homed network with redundant gateways. Each carrier has assigned us a /25, however we have received a direct /24 from our local RIR and wish to use that space instead. Our current setup involves having two seperate networks, one for each carrier. We want to move to a converged network that uses our new ranges. Because the carriers are using uRPF, each carrier is only allowing the RIR allocation and their respective /25 to route through them. We want to migrate all internal routing to the new RIR allocation, however we will need to continue routing the legacy space while we migrate. This post will only cover the Policy Based Routing aspects of this scenario, and will not cover the BGP configurations. Assume the following
- Carrier A has 192.0.2.0/30 assigned to the wan point-to-point link and has allocated 192.0.2.192/26 for your internal use
- Carrier B has 198.51.100.0/30 assigned to the wan point-to-point link and has allocated 198.51.100.192/26 for your internal use
- You have been assigned 203.0.113.0/24 by your RIR
- You need to minimize the differences between to two router configs
- Router A is connected to Carrier A and Router B is connected to Carrier B
ip access-list extended RIR-Block permit ip 203.0.113.0 0.0.0.255 any ip access-list extended CarrierA-Block permit ip 192.0.2.192 0.0.0.63 any ip access-list extended CarrierB-Block permit ip 198.51.100.192 0.0.0.63 any ip access-list extended Internal-Traffic permit ip any 203.0.113.0 0.0.0.255 permit ip any 192.0.2.192 0.0.0.63 permit ip any 198.51.100.192 0.0.0.63
Now all we need to do is create a multipart route map. If we have stanzas to drop the RIR block and internal traffic then that traffic will not be Policy Routed and will use the standard routing table.
route-map Carrier-Map deny 10 match ip address RIR-block ! route-map Carrier-Map deny 20 match ip address INTERNAL-Traffic ! route-map Carrier-Map permit 30 match ip address CarrierA-Block set ip next-hop 192.0.2.1 ! route-map Carrier-Map permit 30 match ip address CarrierB-Block set ip next-hop 198.51.100.1
Now you only need to apply the Carrier-Map to the ip policy of the internal interfaces.