一、拓扑图:

 

二、配置说明:
1、根据拓扑图的配置,R4上面跑OSPF,下面走静态路由,R5R6走默认路由上去。但是要注意的一点是R4上要加一条命令:default-information originate always (OSPF区域通知一条默认路由,并且要加always,因为在R4上我们没有默认路由,之前我说在R4上只做了一条静态路由到R5R6)
2、在保证所有的链路都能通全网之后。我现在在R4上做策略路由:让192.168.45.0能在设置的策略路由上走:
A:192.168.45.0/24上的所有路由器--------àR2----àR1-------1.1.1.1/24
B:192.168.46.0/24上的所有路由器--------àR3----àR1-------1.1.1.1/24
3、下面来配置一下route-map

R4(config)#access-list 1 permit 192.168.45.0 0.0.0.255 ( 建立左边的 access-list)

R4(config)#access-list 1 permit 5.5.5.0. 0.0.0.255

R4(config)#access-list 2 permit 192.168.46.0 0. 0.0.0.255 ( 建立右边的 access-list)

R4(config)#access-list 2 permit 6.6.6.0. 0.0.0.255

 
R4(config)#route-map pbr1 permit 1 ( 建立一个 route-map 名为 pbr1)

R4(config-route-map)#match policy-list pbr1 (匹配策略列表 pbr1 )或者用 match ip add 1

R4(config-route-map)#set ip next-hop 192.168.24.2 (设置下一跳走 192.168.24.2

R4(config)#int s0/2( 进入 R4 S0/2)

R4(config-if)#ip policy route-map pbr1( 把之前建立的 pbr1 挂上去 )

 
R4(config)#route-map pbr2 permit 2( 再建立个 route-map  名为 pbr2)

R4(config-route-map)#match policy-list pbr2 ( 匹配策略列表 pbr2)

R4(config-route-map)#set ip next-hop 192.168.34.3(pbr2 我设置为走 192.168.34.3)

R4(config)#int s0/3( 进入 R4 S0/3)

R4(config-if)#ip policy route-map pbr2( 把之前建立的 pbr2 挂上去 )

 
4、下面在R5traceroute 1.1.1.1 看一下是不是走我们设定的策略:
R5#traceroute 1.1.1.1

 

Type escape sequence to abort.

Tracing the route to 1.1.1.1

 

  1 192.168.45.4 56 msec 36 msec 8 msec

  2 192.168.24.2 84 msec 40 msec 56 msec

  3 192.168.12.1 112 msec *  132 msec      (对,没错!)

 
再看一下R6
R6#traceroute 1.1.1.1

 

Type escape sequence to abort.

Tracing the route to 1.1.1.1

 

  1 192.168.46.4 56 msec 56 msec 24 msec

  2 192.168.34.3 52 msec 64 msec 52 msec

  3 192.168.13.1 116 msec *  148 msec    (也没错!)

 
5、在R4show route-map 看一下包的情况,都增加了成6 ,ping 的话默认为5
R4#show route-map

route-map pbr1, permit, sequence 1

  Match clauses:

    IP Policy lists:

        pbr1

  Set clauses:

    ip next-hop 192.168.24.2

  Policy routing matches: 6 packets, 576 bytes

route-map pbr2, permit, sequence 2

  Match clauses:

    IP Policy lists:

        pbr2

  Set clauses:

    ip next-hop 192.168.34.3

  Policy routing matches: 6 packets, 1652 bytes

R4#

 
6、但是我们现在在R4上去traceroute 看一下:
R4#traceroute 1.1.1.1

 

Type escape sequence to abort.

Tracing the route to 1.1.1.1

 

  1 192.168.34.3 64 msec

    192.168.24.2 76 msec

    192.168.34.3 8 msec

  2 192.168.12.1 88 msec

    192.168.13.1 88 msec *

R4#

发现是两边走,那么是什么原因呢?因为我们没有在R4上去做,这就涉及到本地的概念。没有对本地接口生效,之前分明是定义了45.0网段,但45.4这个接口却不能生效。
7、我们的解决办法是,在R4上加两条命令去应用pbr1pbr2
R4(config)#ip local policy route-map  pbr1

R4(config)#ip local policy route-map  pbr2

这其中要注意,如果我只应用pbr1,那么在R4traceroute  1.1.1.1 的话,它只会走左边,不会去走右边链路到1.1.1.1 所以我们要定义把pbr2也应用上去。这也是匹配了前面定义的route-map
8、下面再来扩展traceroute 看一下效果:
R4#traceroute ip

 

Target IP address: 1.1.1.1     

Source address: 192.168.24.4

Numeric display [n]:

Timeout in seconds [3]:

Probe count [3]:

Minimum Time to Live [1]:

Maximum Time to Live [30]:

Port Number [33434]:

Loose, Strict, Record, Timestamp, Verbose[none]:

Type escape sequence to abort.

Tracing the route to 1.1.1.1

 

  1 192.168.24.2 32 msec 56 msec 20 msec

  2 192.168.12.1 88 msec *  92 msec

 

R4#traceroute ip

 

Target IP address: 1.1.1.1

Source address: 192.168.34.4

Numeric display [n]:

Timeout in seconds [3]:

Probe count [3]:

Minimum Time to Live [1]:

Maximum Time to Live [30]:

Port Number [33434]:

Loose, Strict, Record, Timestamp, Verbose[none]:

Type escape sequence to abort.

Tracing the route to 1.1.1.1

 

  1 192.168.34.3 56 msec 56 msec 24 msec

  2 192.168.13.1 92 msec *  92 msec

 
OK。 通过 route-map 来配置, 都能够按照我设置的策略路由来走。