一、被动接口
passive interfaces (不发hello包和update包,rip除外)
二、路由过滤
常用方法:
a.ACL
b.prefix list前缀列表,可匹配掩码
c.distribute list 分布列表
d.route-map,调用acl,prefix list
1.distribute list
概念:分布列表通过调用ACL来对路由进行过滤,可以在一个单独的路由区域内过滤,也可在路由协议之间做重分发的时候进行过滤。
a.接口上过滤
R1(config)#access-list 2 permit 2.2.2.0
R1(config-router)#distribute-list 2 in serial 0 #只允许2.2.2.0路由从S0进
b.在路由协议内做过滤
EIGRP
R1:access-list 1 permit 1.1.1.0 0.0.0.255
R1:router eigrp 100
R1:distribute-list 1 out s1/1 #R1接口out方向做过滤
R2:只有1.1.1.0的路由
R2:access-list 1 permit 1.1.1.0 0.0.0.255
R2:router eigrp 100
R2:distribute-list 1 in s1/0 #R2接口in方向做过滤
OSPF(不能在接口out方向做协议内过滤)
R2:access-list 1 permit 1.1.1.0 0.0.0.255
R2:router ospf 1
R2:distribute-list 1 in s1/0 #R2接口in方向做过滤可以
c.重分发时过滤(协议间过滤)
注意:当在重分布时进行过滤,仅允许使用关键字out,后面可以跟上协议名,但不能跟接口,因为无意义(即:in后面不能跟协议,只有out后能跟)
R2:router eigrp 100
R2:redistribute ospf 1 metric 1 1 1 1 1
R2:router ospf 1
R2:redistribute eigrp 100 subnets
R2:access-list 1 deny 1.1.1.0 0.0.0.255
R2:access-list 1 permit any
R2:access-list 2 deny 3.1.1.0 0.0.0.255
R2:access-list 2 permit any
R2:router eigrp 100
R2:distribute-list 1 out ospf 1
R2:rotuer ospf 1
R2:distribute-list 2 out eigrp 100
2.Prefix-List 前缀列表
概念:和ACL类似的东东,设计用于专抓路由的工具,不仅可以匹配网络号,还可以匹配掩码
写法一:
ip prefix-list mymatchlist permit 192.168.0.0/16
含义:掩码要16位,前16位也要匹配
写法二:
ip prefix-list List1 permit 192.168.0.0/16 le 20
含义:掩码16~20位,前16位也要匹配
特殊写法举例:
0.0.0.0/0 : 只匹配默认路由
0.0.0.0/0 le 32 :匹配any
0.0.0.0/0 ge 32 :所以主机(host)路由
0.0.0.0/0 ge 1 le 32:除默认路由
A类路由:ip prefix-list 1 permit 0.0.0.0/1 le 32
B类路由:ip prefix-list 1 permit 128.0.0.0/2 le 32
C类路由:ip prefix-list 1 permit 192.0.0.0/3 le 32
协议内调用
R4(config)#ip prefix-list 2(用名字也行) permit 2.2.2.0/24
R4(config-router)#distribute-list prefix 2 in serial 1
利用前缀列表过滤OSPF
要求:在如上图所示的拓朴中,在R1上利用前缀列表做过滤,不要向AREA0区域传递172.16.1.1的路由。
R1:
ip prefix-list 1 seq 5 deny 172.16.1.1/32
ip prefix-list 1 seq 10 permit 0.0.0.0/0 le 32 #匹配any
router ospf 110
area 1 filter-list prefix 1 out
3.Route-Map
(1)也叫路由图或者路由映射表,是对路由进行加工处理的工具。
(2)注意:
1、route-map可以调用ACL或prefix抓出一部分路由进行加工处理
2、每一个route-map可以有多条语句,每条语句都有一个序号
3、每条语句都有两种动作:match 和 set
4、每条语句对抓出来的路由都有两种处理方式:permit 或 deny
5、使用范围:重分发、PBR、BGP
6、route-map 重分发时默认拒绝所有;PBR时默认允许所有
(3)route-map的使用分三步操作:
1、定义ACL或prefix抓出路由
2、定义route-map说明对匹配的路由所采取的处理方式
3、调用route-map
(4)route-map的匹配逻辑:
route-map NAME permit 10
match ip address x y z
-------> OR
match ip address a ¦
match ip address b ¦ AND
match ip address c ↓
如不写match/set,默认: match any,set nothing
(5)例:
要求在R1上将EIGRP重分布进OSPF,其中172.16.1.0路由要以OE1重分布,172.16.2.0路由重分布时metric值要改为100,172.16.3.0的路由不允许重分布,其它路由不改动,默认重分布。
R1(config)#access-list 1 permit 172.16.1.0 0.0.0.0
R1(config)#access-list 2 permit 172.16.2.0 0.0.0.0
R1(config)#access-list 3 permit 172.16.3.0 0.0.0.0
R1(config)#route-map WOLF permit 10
R1(config-route-map)#match ip address 1
R1(config-route-map)#set metric-type type-1
R1(config)#route-map WOLF permit 20
R1(config-route-map)#match ip address 2
R1(config-route-map)#set metric 100
R1(config)#route-map WOLF deny 30
R1(config-route-map)#match ip address 3
R1(config)#route-map WOLF permit 40
R1(config-route-map)#exit
R1(config)#router ospf 110
R1(config-router)#redistribute eigrp 90 subnets route-map WOLF #调用route-map
(6)使用route-map打tag
作用:可以对一些路由打上tag,好让后面的路由器根据tag找出这些路由并进行相应的策略
要求:
1、在R3上将RIP重分布进OSPF
2、在R1上将OSPF重分布进EIGRP,但不能将从RIP学到的路由带过去
可以用tag解决:
1、在R3上将RIP重分布进OSPF时,利用route-map打上tag标记
2、在R1上将OSPF重分布进EIGRP时,找出打了tag标记的路由再deny掉就行了
R3(config)#route-map WOLF permit 10
R3(config-route-map)#set tag 20
R3(config)#router ospf 110
R3(config-router)#redistribute rip subnets route-map WOLF
到了R1之后,对打tag的路由丢弃
R1(config)#route-map CCNP deny 10
R1(config-route-map)#match tag 20
R1(config)#route-map CCNP permit 20 #一定要写一条空语句放行其它的路由
R1(config-route-map)#exit
R1(config)#router eigrp 90
R1(config-router)#redistribute ospf 110 metric 1500 100 255 1 1500 route-map CCNP
4.PBR策略路由
(1)概念:PBR就是使用route-map这一工具对某个接口进来的数据流做一些策略,符合条件的按相应的策略进行路由,不符合条件的按正常情况进行转发。
(2)规则:
a.PBR优于路由表-----如果路由器上设置了PBR,当数据包到达路由器时,是先匹配PBR,如果匹配上了,直接按PBR进行转发,如果没匹配上,再去找路由表进行转发,所以说PBR覆盖了正常的路由选择进程。
b.PBR中不匹配的数据包不会DENY(丢弃),而是normal forwarding(正常转发)
c.PBR只针对于入项接口
(3)应用举例:多ISP选路
第一步:
R1(config)#access-list 1 permit 1.1.1.0 0.0.0.255
R1(config)#access-list 2 permit 2.2.2.0 0.0.0.255
第二步:
R1(config)#route-map WOLF permit 10
R1(config-route-map)#match ip address 1
R1(config-route-map)#set ip next-hop 12.1.1.2 发给与本机直连的下一跳路由器
R1(config)#route-map WOLF permit 20
R1(config-route-map)#match ip address 2
R1(config-route-map)#set ip next-hop 13.1.1.3
第三步:
R1(config)#int e0/0 (入口调用策略)
R1(config-if)#ip policy route-map WOLF
(4)本地策略路由:
·PBR默认对本地产生的数据流量不起效。也就是对自已产生的包不执行策略。
R3(config)#ip local policy route-map PBR名称 (使PBR对本地数据流量有效)加上这一条命令才会对自已产生的包也做策略
(5)查看
debug ip policy