route-map 可以应用在两种不同的地方:redistribute policy routing,但是区别必须搞清楚:

一、deny语句

1route-map 中的deny语句如果匹配,redistribute时匹配的条目将不被重分发。

2route-map 中的deny语句如果匹配,policy routing时,不再做策略路由,而交由正常路由表去转发。

二、默认的deny all

route-map access-list 一样,最后都有隐含的deny all

三、route-map语句顺利号

1、在编辑 route-map 时,如不注明 permit xx ,第一句默认为 permit 10

例:

route-map cracker

  match ip address 101

  set ip next-hop 211.81.157.1

route-map cracker

  match interface f0/0

  set metric 100

相当于:

route-map cracker permit 10

  match ip ad 101

  set ip next-hop 211.81.157.1

route-map cracker permit 20

  match int f0/0

  set metric 100

       

2、删除某条目时,如不注明语句号,则直接删除整个route-map 

例:

no route-map cracker

上面这条命令会删除整个route-map,而不是我们想删除的20语句,正确的用法是:

no route-map cracker 20

 

3match 语句如果放在同一语句下,则为匹配所有:

3-1:

route-map cracker permit 10

  match ip address 101

  match ip length 1500

  set ip next-hop 211.81.157.1

  set metric 100

上例表示,同时满足这两种条件时,设置metric并转发至211.81.157.1

 

3-2:

route-map cracker permit 10

  match ip address 101

  set ip next-hop 211.81.157.1

route-map cracker permit 20

  match ip address 102

  set ip next-hop 211.81.157.2

route-map cracker permit 30

上例表示,顺序匹配各条语句,但是一旦有一条语句被匹配,则跳出route-map

 

四、policy routing

策略路由要注意,只能用在路由器的入接口上!

例:4-1

 

 

R1上的s0/0为入接口,s0/1为出接口,向外接入两个网段,分别为172.16.1.1172.16.1.2

 route-map cracker

  match ip address 10

  set ip next-hop 172.16.1.1

route-map cracker

  match ip address 20

  set ip next-hop 172.16.1.2

 access-list 10 permit 172.16.6.0 0.0.0.255

access-list 20 permit 172.16.7.0 0.0.0.255

 int s0/0

  ip ad 172.16.8.254 255.255.255.0

  ip policy route-map cracker

 

上例中,

如果源地址是172.16.6.0/24网段的包会被转发至172.16.1.1

172.16.7.0/24网段的包会被转发至172.16.1.2

8网段的包由于没有语句匹配,则转交正常路由表转发,结果一般会是负载分担,两个目的各承担一半流量。

 

策略路由的应用其实很广,包括匹配包大小,小包走一条链路,大包走另一条,这样不至于造成语音数据的拥塞。


 还可以匹配协议类型,HTTP,FTP,TELNET,BT等协议可以区别对待,甚至可以匹配七层协议中的网址,如去往Http://blog.sina.com.cn/cisco网站的流量我们选条高带宽链路:)

 

六、route-mapredistribute中的应用

这样的应用同样很多,也非常重要,这是现有的市场环境导致的,许多公司一年到头都在并购,收购中运营,新加入的公司网络如何与现有网络集成,这就不得不提到重分发,redistribute。重分发可以使两个不同路由协议下的网络互相交流路由信息,但如果我们需要精确地管理,哪些条目可以被分发进来,哪些不可以,这个时候,一般可以采用两种方法, route-filter route-map

 

例:

route-map cracker deny 10

  match ip address 10

route-map cracker permit 20

 

route-map cuijian permit 20

  match ip address 20

 

access-list 10 permit 10.1.0.0 0.0.255.255

access-list 20 permit 172.16.0.0 0.0.255.255

 

router ospf 1

  redis rip metric 100 subnets route-map cracker

 

上例中,10网段的路由条目不会被重分发进ospf,注意语句是deny的,而cracker语句中的第20条,由于无match语句,将会匹配所有条目。整条语句作用是将除10.1.0.0网段的路由条目作重分发。

 

route-map cuijian则由于最后隐含的deny all,会将除了172.16.0.0网段的路由全都不做重分发。

 

其实route-map crackerroute-map cuijian在这里的作用是一样的。都不对10网段条目做重分发。

 

我们通过类似这样的设计可以从路由方面隔离两个域,作到基本的安全策略。