Pbroute
Pbroute
This chapter describes the tasks for configuring policy-based routing (PBR) on a router and includes
these major sections:
• Overview of Policy-Based Routing, page 23-1
• Policy-Based Routing Configuration Task List, page 23-3
• Policy-Based Routing Configuration Examples, page 23-5
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Note To identify the hardware platform or software image information associated with a feature, use the
Feature Navigator on Cisco.com to search for information about the feature or refer to the software
release notes for a specific release.
You can set up PBR as a way to route packets based on configured policies. For example, you can
implement routing policies to allow or deny paths based on the identity of a particular end system, an
application protocol, or the size of packets.
PBR allows you to perform the following tasks:
• Classify traffic based on extended access list criteria. Access lists, then establish the match criteria.
• Route packets to specific traffic-engineered paths.
Policies can be based on IP address, port numbers, or protocols. For a simple policy, you can use any
one of these descriptors; for a complicated policy, you can use all of them.
Understanding PBR
All packets received on an interface with PBR enabled are passed through enhanced packet filters known
as route maps. The route maps used by PBR dictate the policy, determining to where the packets are
forwarded.
Route maps are composed of statements. The route map statements can be marked as permit or deny, and
they are interpreted in the following ways:
• If a statement is marked as deny, the packets meeting the match criteria are sent back through the
normal forwarding channels and destination-based routing is performed.
• If the statement is marked as permit and a packet matches the access-lists, then the first valid set
clause is applied to that packet.
You specify PBR on the incoming interface (the interface on which packets are received), not outgoing
interface.
Some applications or traffic can benefit from source-specific routing; for example, you can transfer stock
records to a corporate office on a higher-bandwidth, higher-cost link for a short time while sending
routine application data, such as e-mail, over a lower-bandwidth, lower-cost link.
Enabling PBR
To enable PBR, you must create a route map that specifies the match criteria and the resulting action if
all of the match clauses are met. Then you must enable PBR for that route map on a particular interface.
All packets arriving on the specified interface matching the match clauses will be subject to PBR.
To enable PBR on an interface, perform this task:
Command Purpose
Step 1 Switch(config)# route-map map-tag [permit | Defines a route map to control where packets are output. This
deny] [sequence-number] command puts the router into route-map configuration mode.
Step 2 Switch(config-route-map)# match ip address Specifies the match criteria. Matches the source and
{access-list-number | name} destination IP address that is permitted by one or more
[...access-list-number | name]
standard or extended access lists.
Command Purpose
Step 3 Specifies the action or actions to take on the packets that
match the criteria. You can specify any or all of the following:
Switch(config-route-map)# set ip next-hop • Specifies the next hop for which to route the packet (the
ip-address [... ip-address] next hop must be adjacent). This behavior is identical to
a next hop specified in the normal routing table.
Switch(config-route-map)# set interface • Sets output interface for the packet. This action specifies
interface-type interface-number that the packet is forwarded out of the local interface. The
[... type number]
interface must be a Layer 3 interface (no switchports),
and the destination address in the packet must lie within
the IP network assigned to that interface. If the
destination address for the packet does not lie within that
network, the packet is dropped.
Switch(config-route-map)# set ip default • Sets next hop to which to route the packet if there is no
next-hop ip-address [... ip-address] explicit route for this destination. Before forwarding the
packet to the next hop, the switch looks up the packet’s
destination address in the unicast routing table. If a match
is found, the packet is forwarded by way of the routing
table. If no match is found, the packet is forwarded to the
specified next hop.
Switch(config-route-map)# set default • Sets output interface for the packet if there is no explicit
interface interface-type interface-number [... route for this destination. Before forwarding the packet to
type ...number] the next hop, the switch looks up the packet’s destination
address in the unicast routing table. If a match is found,
the packet is forwarded via the routing table. If no match
is found, the packet is forwarded to the specified output
interface. If the destination address for the packet does
not lie within that network, the packet is dropped.
Step 4 Switch(config-route-map)# interface Specifies the interface. This command puts the router into
interface-type interface-number interface configuration mode.
Step 5 Switch(config-if)# ip policy route-map map-tag Identifies the route map to use for PBR. One interface can
only have one route map tag, but you can have multiple route
map entries with different sequence numbers. These entries
are evaluated in sequence number order until the first match.
If there is no match, packets will be routed as usual.
The set commands can be used in conjunction with each other. These commands are evaluated in the
order shown in Step 3 in the previous task table. A usable next hop implies an interface. Once the local
router finds a next hop and a usable interface, it routes the packet.
Command Purpose
Switch(config)# ip local policy route-map map-tag Identifies the route map to use for local PBR.
All packets originating on the router will then be subject to local PBR.
Use the show ip local policy command to display the route map used for local PBR, if one exists.
Unsupported Commands
The following PBR commands in config-route-map mode are in the CLI but not supported in Cisco IOS
for the Catalyst 4500 series switches. If you attempt to use these commands, an error message displays.
• match-length
• set ip qos
• set ip tos
• set ip precedence
Note If the packets you want to drop do not match either of the first two route-map clauses, then change set
default interface null0 to set interface null0.