路由过滤命令详解route-map

 

(一) Route Maps

  特性:

  Route Maps类似于access lists,不同之处在于Route Maps可以改变Packets/Routes的部分属性。

  用途:

  Route Maps主要用于Redistribution和Policy Routing及BGP的实现。

  实现:

  Policy Routing发送Packets到Route Maps实现策略路由转发。

  Redistribution发送Routes到Route Maps实现路由条目的过滤。

  配置说明:

  Route Maps如果没有指定Action及Sequence Number属性,默认:

  Action:   permit

  Sequence Number:   10

  且Sequence Number不会自动增加。

  即如果在使用Route Maps语句时不指定Sequence Number,则覆盖Sequence Number为10的默认条目。

  Route Maps Deny Action:

  Redistribution: 特定路由条目不会被重分布。

  Policy Routing: 特定的Packets不会按策略路由转发,但会梗概正常的路由表条目转发。

  Case Study:Policy Routing

  注:(1)Policy Routing只影响入流量。

  (2)可以使用Standard及Extended ACL.

  (3)全局配置ip local policy route-map sense可将策略路由应用于Router本身发送的Packets.

 

 

 

Standard ACL

interface Serial 0ip address 172.16.5.1 255.255.255.0ip policy route-map sense
!
access-list 1 permit 172.16.6.0 0.0.0.255
access-list 2 permit 172.16.7.0 0.0.0.255
!
route-map sense permit 10match ip address 1set ip next-hop 172.16.4.2
!
route-map sense permit 20match ip address 2set ip next-hop 172.16.4.3

  

Extended ACL

interface Ethernet 0ip address 172.16.1.4 255.255.255.0ip policy route-map sense
!
access-list 105 permit tcp 172.16.1.0 0.0.0.255 eq ftp any
access-list 105 permit tcp 172.16.1.0 0.0.0.255 eq ftp-data any
access-list 106 permit tcp 172.16.1.0 0.0.0.255 eq telnet any
!
route-map sense permit 10match ip address 105set ip next-hop 172.16.2.1
!
route-map sense permit 20match ip address 106set ip next-hop 172.16.3.1

  

Length of the Packets

interface Ethernet0ip address 172.16.1.4 255.255.255.0ip policy route-map sense
!
route-map sense permit 10match length 1000 1600set ip next-hop 172.16.2.1
!
route-map sense permit 20match length 0 400set ip next-hop 172.16.3.1

   Router's Packets

interface Ethernet0ip address 172.16.1.4 255.255.255.0ip policy route-map sense
!
ip local policy route-map sense
!
access-list 120 permit ip any 172.16.1.0 0.0.0.255
access-list 120 permit ospf any any
!
route-map sense permit 10match ip address 120
!
route-map sense permit 20match length 1000 1600set ip next-hop 172.16.2.1
!
route-map sense permit 30match length 0 400set ip next-hop 172.16.3.1

  注:如果没有第一个route-map条目,router本身的Packets及OSPF的Packets都会由于后两个route-map语句被转发到错误的地址。

 

 

 

 Case Study: Policy Routing and Quality of Service Routing

  Policy Routing结合ip包头的Precedence和Type of Service(TOS)可以实现基于QOS的策略路由。

  注:Precedence和TOS的配置既可使用Number字段,也可以使用Keyword.

set ip precedence
-------------------------------------
Bits     Number     Keyword
000        0        routine
001        1        priority
010        2        immediate
011        3        flash
100        4        flash-override
101        5        critical
110        6        internet
111        7        network
-------------------------------------
set ip tos
-------------------------------------
Bits     Number     Keyword
0000       0        normal
0001       1        min-monetary-cost
0010       2        max-reliability
0100       4        max-throughput
1000       8        min-delay
-------------------------------------
interface Serial0ip address 10.1.18.67 255.255.255.252ip policy route-map sense
!
interface Serial1ip address 10.34.16.83.255.255.255.252ip policy route-map sense
!
access-list 1 permit 172.16.0.0 0.0.255.255
access-list 110 permit tcp any eq www any
!
route-map sense permit 10match ip address 1 110set ip precedence critical
!
route-map sense permit 20set ip tos 10set ip precedence priority
Case Study: Route Tagging

  用途:

  用于双向重分布时标识特定Domain的路由,以防路由被重分布回起源Domain.

  使用方案:

  通告路由条目的边缘Router在重分布时给路由条目加上Tag标识,做为Transit Network的Domain,不需要使用和识别Tag,仅仅需要将它传递到它的外部网络即可。

 

 

 

路由协议相关:

  Support: RIPv2,EIGRP,IS-IS,OSPF,BGP

  Not Support: RIPV1,IGRP

  Packets Format:

  RIPv2: 支持16-bit tags    表示为十进制:0 ~ 65535

  EIGRP external route TLVs: 支持32-bit tags    表示为十进制:0 ~ 4294967295

  OSPF type 5 LSAs: 支持32-bit tags    表示为十进制:0 ~ 4294967295

  配置实例:

router ospf 1redistribute igrp 1 metric 10 subnets tag 1redistribute rip metric 10 subnets route-map sensenetwork 10.100.200.1 0.0.0.0 area 0
!
router ripnetwork 10.0.0.0
!
router igrp 1network 10.0.0.0
!
access-list 1 permit 10.1.2.3
access-list 2 permit 10.1.2.4
!
route-map sense permit 10match ip route-source 1set tag 2
!
route-map sense permit 20match ip route-source 2set tag 3

  (二) Distribute-list

  作用:

  

控制路由条目的分发,及路由的重分布。

  

建立一个"route firewall"

  关于路由协议:

  Distance Vector Routing Protocol: Route Filtering可以控制其通告/接收的路由条目,及重分布的路由条目。

  Link-State Routing Protocol: Route Filtering只可以控制其在重分布时的路由条目。

  注: LS Routing Protocol的一个基本的要求就是在一个area内所有Routers的Link State Database必须一致,所以如果Route Filtering能过滤掉LS Routing Protocol的LSA通告,就违背了LS Routing Protocol的规范。

Case Study: Filtering Specific Routes
router ripversion 2network 192.168.75.0distribute-list 1 in Serial1
!
ip classless
access 1 permit 0.0.0.0
Case Study: Route Filtering and Redistribution

  注:

  distribute-list 命令用于Link-State Routing Protocol时:

  与接口联用:   只能使用in参数

  与路由进程联用: 只能使用out参数

 

 

 

两种方案效果相同。与接口联用的方案在抑制route feedback上效果比较好;与路由进程联用的方案在抑制route feedback时,由于在过滤时,相应的路由条目已经进行了路由表,所以失效。

  

与接口联用

router ospf 25redistribute rip metric 100network 172.16.1.254 0.0.0.0 area 25network 172.16.8.254 0.0.0.0 area 25network 172.16.50.254 0.0.0.0 area 25distribute-list 3 in Ethernet0/0distribute-list 3 in Ethernet0/1distribute-list 3 in Ethernet0/2
!
router ripredistribute ospf 25 metric 5passive-interface Ethernet0/0passive-interface Ethernet0/1passive-interface Ethernet0/2network 192.16.0.0distribute-list 1 in Ethernet0/3distribute-list 1 in Ethernet2/0distribute-ilst 1 in Ethernet2.1
!
ip classless
access-list 1 permit 172.16.128.0 0.0.127.255
access-iist 3 permit 172.16.0.0 0.0.127.255

  

与路由进程联用:

router ospf 25redistribute rip metric 100network 172.16.1.254 0.0.0.0 area 25network 172.16.8.254 0.0.0.0 area 25network 172.16.50.254 0.0.0.0 area 25distribute-list 10 out rip
!
router ripredistribute ospf 25 metric 5passive-interface Ethernet0/3passive-interface Ethernet2/0passive-interface Ethernet2/1network 172.16.0.0distribute-list 20 out ospf 25
!
ip classless
access-list 10 permit 172.16.130.0
access-list 10 permit 172.16.145.0
access-list 10 permit 172.16.240.0
access-list 20 permit 172.16.23.0
access-list 20 permit 172.16.9.0
access-list 20 permit 172.16.75.0
 
 

(三) Prefix-list

  功能:

  过滤特定路由协议分发的Routes,主要用与BGP.

  特性:

  与ACL相比,具有相对较强的灵活性。在掩码匹配上,也比较容易理解。

  Case Study: Standard Syntax

  ip prefix-list {list-name | list-number} [seq number] {deny network/length | permit network/length} [ge ge-length] [le le-length]

  no ip prefix-list {list-name | list-number} [seq number] {deny network/length | permit network/length} [ge ge-length] [le le-length]

  注:

  

ip prefix-list使用最长匹配规则。

  

如果不指定seq number,则默认为5,且每增加一个条目自动增加5.

  即如果你指定第一条目seq number为2,则下一个不指定seq number的条目的seq number自动变为7.

  

自动增加seq number功能可以用命令:no ip prefix-list sequence-number取消。

   length < ge-length < le-length <= 32

   ip prefix-list不能与Route Maps的match ip next-hop语句联用;只以与match ip address语句联用。

  Case Study: ip prefix-list description

  Syntax:

ip prefix-list list-name description text
Case Study: Configuration Example
router bgp 3no synchronizationneighbor 172.16.1.2 remote-as 3neighbor 172.16.20.1 remote-as 1neighbor 172.16.29.1 prefix-list 1 outno auto-summary
!
ip prefix-list 1 seq 5 deny 192.68.10.0/24
ip prefix-list 1 seq 10 permit 0.0.0.0/32

 

 

 (四) ip as-path access-list

  功能:

  根据BGP的AS-PATH属性过滤BGP的分发路由条目。

  Case Study: Syntax

  ip as-path access-list acl-number permit | deny regexp

  no ip as-path access-list acl-number

  注:acl-number有效值为0 ~ 500.

  Case Study: Configuration Guide

  

过滤所有的私有AS的Routes更新

  ip as-path access-list 1 deny (_64[6-9][0-9][0-9]_|_65[0-9][0-9][0-9]_)

  ip as-path access-list 1 permit .*

  

应用实例

router bgp 3no synchronizationneighbor 172.16.1.2 remote-as 3neighbor 172.16.20.1 remote-as 1neighbro 172.16.20.1 filter-list 1 outno auto-summary
!
ip as-path access-lsit 1 permit ^$

  (五) 以上过滤命令的执行顺序:

  

inbound

  route-map->filter-list->prefix-list,distribute-list

  

outbound

  prefix-list,distribute-list->filter-list-> route-map

  prefix-list,distribute-list用于邻居在一个方向上每次只能用其中的一个

  ————————————————————————————————————————

  总结:

  其实这些过滤命令都不是太难,关键是一个过滤的理念。

  它们都是很灵活的东西,运用的好,它会有很大的作用;运用得不好,也有可能会有反作用的。

  所以说,在配置这些过滤命令的时候,要仔细的斟酌。每一个过滤都要思考一下,当安放到现有的网络会有什么样的效用,这样才不至于等到安放到路由器上以后才认识到过滤的漏洞,才不至于引发安全隐患。

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部