◆passive-interface
- 可以用在rip eigrp ospf中。
其中在rip中是只收不发报文
在eigrp不收不发报文
在ospf不收不发报文
路由协议进程中 network命令作用有两个:
1,把network的地址网段的路由宣告进去,掩码长度由接口配置决定,不是network决定
例如: network 10.0.0.1 0.0.0.255 就是把10.0.0.1-254的路由宣告,掩码由接口配置决定
2,把network宣告的网段所在的接口宣告你路由协议
例如:network 10.0.0.1 0.0.0.254 把配置了10.0.0.1-254的接口通告出去
passive作用就是把第2作用取消了。就是会把10.0.0.1/24的路由通告出去,但是配置了10.0.0.1/24的接口不会再发送路由了
实验:测试passive作用
1,配置IP,和loopback0
2,全网开启eigrp
3, R1 :router ei 10
passive-interfa loopback 0
R3:仍然可以收到11.1.1.0的路由
R1 :debug eigrp packets 可看到不再从loopback0口发包。
passive-interface default 作用passive本地所有接口
##########################################################################################
################分发列表distribut-list控制路由更新流量
############################################################
- 使用access-list 或者 route-map 去允许或拒绝路由
- 应用与传输,接收,重分布路由更新
- rip(in 。out方向) eigrp(in.out方向) ospf(in方向)
rip eigrp 在in方向,同时影响本地和下游
ospf在in方向,只影响本地,不影响下游,因为SPF算法
出方向更新
router(config-router)#
distribute-list {acce-list-number | name } out [interface-name| routing-process [routing-process parameter]]
入方向更新
router(config-router)#
distribut-list [access-list-number| name] | [route-map map-tag] in [interface-type interface-number]
实验:测试不同路由协议 方向和影响范围
一 距离矢量协议
1,启用IP和eigrp或rip协议
2. R2再启用loopback 1:11.1.2.1/24,但是不让R3学习到
3,可以在R2 f1/0后R3 f0/0
R2: router ei 1
distribute-list 10 out fastethernet 1/0
access-list 10 deny 11.1.2.0
access-list 10 permit any
R3:sho ip ro 检测
二 链路状态协议
1,启用ospf,都在区域 0
2,让R2不能学到11.1.1.1
R2:
access-list 11 deny 11.1.1.1
access-list 11 permit any
router os 1
distribut-list 11 in
这样就禁止了11.1.1.1写入路由表,但是11.1.1.1的LSA不会受影响。
R2:sho ip os da 可看到11.1.1.1的lsa
############################################################################################################ OSPF 中过滤 3类LSA 前缀列表 ###################################
##################################################################
OSPF中是无法过滤LSA的 ,但是除了3类
控制3类LSA的数量两种方法
1,汇总,ospf中有介绍
2,前缀列表
实验:使用前缀列表,单独控制一条3类lsa
1,R1 R2area0 R2 R3 area1
2,启用IP和loopback
3,R1 lo0 11.1.0.1
lo1 11.1.1.1
lo2 11.1.2.1
控制R3不能学习到11.1.2.1
4, ABR路由器上:R2
ip prefix-list 名字 deny 11.1.2.1/32
ip prefis-list 名字 permit 0.0.0.0/0 le 32
router os 1
area 0 filter-list prefix 名字 out 或者
area 1 filter-list prefix 名字 in
sho ip os da 可看到11.1.2.1的age被置为3600 LSA没有 路由也肯定没有
########################################################################################################################## 偏移列表 #############################
#########################################################################
RIP中 in out方向都可以,改变开销跳数
eigrp 中 out方向修改了AD值
ospf中不存在offset-list命令
######################################################################################################################## 路由重分布 ##############################################
- 一种临时的协议转换过程
- 不应该长期存在网络中
重分布进链路状态路由协议中 使用subnet关键词 防止只重分布主类路由
重分布ospf中,默认是OE1,默认cost=20
router ospf 1
redistribute eigrp 10 subnets
从分布进距离矢量协议中,需要使用metric关键词控制metric值。rip跳数 eigrp5个K值(带宽,延时,可靠性,负载,MTU 。前两个根据实际情况设置 1000 100 255 1 1500)。不控制metric默认是无穷大,将不生效
router eigrp 10
redistribute ospf 1 metric 1000 100 255 1 1500
或 种子度量值,针对所有重分布
redistribute ospf 1
default-metric 1000 100 255 1 1500
将直连或静态重分布进距离矢量时不用加metric
直连的cost值就是接口的cost
静态的cost值是静态去往下一跳的cost
互相重分布进的路由条目,就是R2本地中的 O 和 D 路由表条目
以及参与ospf和eigrp进程的接口的路由
重分布前后,R2的路由条目不会变化
◆双点双向重分布带来的问题(eigrp不会有问题因为eigrp内部90,外部170)
1:次优路径----通过修改AD解决--distance
2:环路---通过过滤解决--distribute-list
R1: F0/0 1.1.12.1
F1/0 1.1.14.1
lo0 1.1.11.1
R2: F0/0 1.1.23.2
F1/0 1.1.12.2
lo0 1.1.22.1
R3: F0/0 1.1.23.3
F1/0 2.1.35.3
R4: F0/0 1.1.14.4
S1/0 2.1.45.4
R5: S1/0 2.1.45.5
F0/0 2.1.35.5
一 ,,次优路由
R3 :tracetoure 1.1.11.1 发现走的路径是 R5->R4->R1->R2
因为R3从RIP学到1.1.11.1 AD=120
从ospf学到1.1.11.1 AD=110
解决:减小RIP的AD,增加ospf的AD (distance 管理距离 邻居的接口IP)
R3: router rip
distance 109 1.1.23.2 0.0.0.0 1 (1:acl匹配路由),如果直接默认全部会导致R1学R5的次优路由
access-list 1 per 1.1.0.0 0.0.255.255
sho ip ro
R4也要配置针对1.1.0.0 网段的distance
◆ospf进程中,修改distance 后面接邻居的router-ID
R3: int lo0
ip add 33.1.1.1 255.255.255.0
router ospf 1
distance 100 55.1.1.1 0.0.0.0 2
access-list 2 permit 2.1.0.0 0.0.255.255
sho ip ro 从R5的学的路由AD就变了100,从R3学到的不变。
要修改R3的,需要增加 distance 100 33.1.1.1 0.0.0.0 2
总结:要修改从rip或eigrp学到路由的distance,要指向邻居接口IP
要修改从ospf学到的路由的distance,要指向邻居router-ID
LSA 和路由条目的区别
###############################################
############# distance:#############################################
● ospf可以修改默认AD(110)
router ospf 1
distance ospf external XXX inter-area XXX
sho ip ro 查看
● eigrp可以修改默认AD(90,170)
router eigrp 1
distance eigrp XX(内部) XX(外部)
sho ip protocal查看
● rip 不能修改
二,,双点双向从分布 环路问题
R3 int l0
ip add 33.1.1.1 255.255.255.0
ip ospf 1 area 0
R4 traceroute R3 33.1.1.1看到环路现象
原因:R4从R5学到O的路由,当O的路由消失,还会从R1学到OE2的路由。然后R5 R1也学到OE2的,又重分布给R2,这样就环路了。。
通过distribute-list 过滤解决
R3:router ospf 1
distribute-list 10 out rip(所有重分布进ospf的rip出方向路由都匹配ACL 10)
access-list 10 deny 33.1.1.0 0.0.0.255
access-list 10 deny 1.1.0.0 0.0.255.255
access-list 10 permit any
router rip
distribut-list 20 out ospf 1
access-list 20 deny 2.1.0.0 0.0.255.255
access-list 20 permit any
双点在一个节点做就可以了。。
注意:使用distribute-list在协议之间做过滤时,只能是out方向
使用distribute-list方法解决环路的缺陷是:每增加一条路由就要写一条ACL匹配!!
用route-map可以不因为路由变更而更新配置。
R3:
rip 重分布进ospf时,打tag 100
R4:deny tag=100
同理,把ospf 重分布进 rip 的流量 打tag=200
步骤:
R3:
route-map rip2ospf deny 10
match tag 200
route-map ospf2rip permit 20
set tag 200
route-map rip2ospf permti 20
set tag 100
route-map ospf2rip deny 10
match tag 100
router ospf 1
redistribut rip subnets route-map rip2ospf
router rip
redistribute ospf 1 metric 5 route-map ospf2rip
R4:
route-map rip2ospf deny 10
match tag 200
route-map ospf2rip permit 20
set tag 200
route-map ospf2rip deny 10
match tag 100
route-map rip2ospf permit 20
set tag 100
router ospf 1
redis rip sub route-map rip2ospf
router rip
redis ospf 1 metric 5 route-map ospf2rip
#########################################################################################
################# route map ###########################################
#######################################################################
◆
- route map 类似于脚本语言
- 他们的工作就像一个更先进的访问控制列表
自上而下的处理
一旦有一个匹配,立刻停止继续匹配其他条件
- 有序号功能,方便编辑
插入操作
删除操作
- route-map 使用命名的方式识别,而不是编号
- 匹配一个条件可以设置一个选项,类似于脚本语言中的 if then
◆路由图的运行方式
- match语句可以匹配多个条件
- match语句匹配并排条件时 使用逻辑 或
- 至少要有一个被允许的路由进行重分布
route-map my_bgp permit 10
match ip address X Y Z 逻辑或
route-map my_bgp deny 20
match aaa
match bbb
match ccc 逻辑与
- 定义多个match语句使用逻辑与
- 在重分布里所有匹配条件 必须要在路由表里有一条实际的路由
- 使用路由图进行重分布过滤时,允许或者拒绝的只是是否要被重分布。
◆route-map 的应用
route-map的主要功能
- 重分布时的过滤:使用更先进的方式来确定重分布的内容
- 基于策略的路由(PBR):依据需求使用其他的标准来确定去往目的路由的转发方式
- BGP 策略执行:是BGP 路由策略的主要界定工具
PBR:首先理解路由表的作用(3个)
路由转发基于路由表,有则转发,无则丢弃
直连自动生成路由
路由匹配遵循最长匹配
PBR就是可以根据策略路由数据表,不用看路由表内容。
◆route-map 命令
- 定义route-map名字和类型
router(config)#
route-map map-tag [permit | deny] [sequence-number]
- 定义匹配条件
router(config-route-map)#
match {conditions}-----ACL或前缀列表或接口or tag
- 定义匹配了条件而执行的动作
router(config-route-map#
set {actions}
- 可以详细控制路由被重分布到路由协议
router(config-router)#
redistribute protocol [process id] route-map-tag
match 命令
router(config-route-map)#
match定义匹配的条件
这里的是否匹配直接影响了重分布的操作
match {options}:
ip address ACL
ip route-source ACL
ip next-hop ACL
interface type number
metric metric-value
route-type [external | internal | level-1 | level-2 | local]
route-map 重分布
router(config)#router ospf 10
router(config-router)# redistribute rip router-map-redis-rip subnets
- 匹配ACL 23 或29 的路由条目被重分布到ospf中的 度量为500 外部类型为1
- 匹配ACL 37的路由条目不能被重分布
- 所有其他的路由被重分布到ospf的度量值我5000外部类型
router(config)#
route-map redis-rip permit 10
match ip address 23 29
set metric 500
set metric-type type-1
route-map redis-rip deny 20
match ip address 37
route-map redis-rip permit 30
set metric 5000
set metric-type type-2
没有match语句,就是match所有的意思
router(config)#
access-list 23 permit 10.1.0.0 0.0.255.255
access-list 29 permit 172.16.1.0 0.0.0.255
access-list 37 permit 10.0.0.0 0.0.0.255
实验部分:
步骤:
1,简化拓扑,down掉R4 R5
2,配置匹配数据流
access-list 11 permit 1.1.11.0
access-list 12 permit 1.1.12.0
access-list 14 permit 1.1.14.0
access-list 22 permit 1.1.22.0
access-list 23 permit 1.1.23.0
2, R2:
route-map test per 10
match ip address 11
set metric-type type-2
route-map test permit 20
match ip add 12
set metric 70
route-map test permit 30
match ip add 14
set metric 80
route-map test permit 40
match ip add 22
set metric-type type-1
route-map test deny 50
match ip add 23
route-map test permit 9999-->设置较大数值,以便日后插入新的route-map语句
router ospf 1
redistribute rip subnets route-map test
3, R5:
sho ip ro 查看
总结
- passive-interface命令用来控制路由更新
- 分布列表使用ACL 去控制路由更新
- 分布列表可以用于接口中 也可以用于路由重分布
- route-map是一个比较复杂的工具,用于各种操纵和过滤,如果符合条件,则使用动作
- 使用route-map可以简化在重分布张总控制路由条目的难度
- 管理距离是一种在一个路由器上运行多个路由协议,从而评估该路由协议选择的路径的可信度
- COSCO iOS 为每个路由协议都分配一个值,这个值可以修改
- 在重分布中,管理距离的修改可以使路由的操作更准确
##################################################################################################################### PBR #################################
#################################################################
- 通过route-map 实现
- 在路由表之上
步骤:
1,启用IP
2,R3启用loopback
3,全网ospf
正常R1-->R3 路径是 R1 R2 R3
实验需求:
R1-->R3 路径是 R1 R2 R4 R3
步骤:
1,R2 使用ACL抓流量
access-list 10 permint 12.1.1.0 0.0.0.255
2, 设置路径
route-map PBR permit 10
match ip add 10
set ip next-hop 24.1.1.4
3, 接口调用
int f0/0
ip policy route-map PBR
4,验证
R1 traceroute 33.1.1.1
注意:PBR有自动检测下一跳出接口是否连通功能,当下一跳不可达时,PBR自动失效,数据重 新根据路由表查询路径
###### PBR track 功能 #############
####################################
当R4 出问题时,PBR就不能检测到了。(R4 shut f0/0)
利用tack验证 下一跳的可达性
1,启用track
route-map PBR permit 10
set ip next-hop verify-availability 24.1.1.4 1(1表示定义首选下一跳) track 1
2,定义track
track 1 rtr 1 reachability
3,使用SLA 验证可达性
ip sla monitor 1(1 与rtr的1对应)
type echo protocol ipicmpecho 24.1.1.4
frequency 5 (定义刷新频率,默认60秒)
4,SLA 开始时间 存活时间
ip sla monitor schedule 1 life forever start-time now
5,查看
show ip sla monitor statistics
show track
show route-map
6, 验证
R4 :int f0/0
shut
R1 ping 33.1.1.1
###########################################################################################
理解 forward-address
1,R1 F0/0 123.1.1.1
F1/0 12.1.1.1
R2 f0/0 123.1.1.2
f1/0 12.1.1.2
R3 f0/0 123.1.1.3
2, 起ospf eigrp
3,R2 eigrp重分布进ospf
当存在forward-address时,必须是ospf路由表中可达的地址,才能通信
4,R3 ip route 0.0.0.0 0.0.0.0 123.1.1.1
5, R1 trace R3 要绕路到R2
6,sho ip os da ex 33.1.1.0
没有forward-add
6, R1:
router os 1
net 123.1.1.0 0.0.0.255 a 0
7, R2:
sho ip os ex 33.1.1.0 出现了forward-add 123.1.1.3
但是R2 不能通过ospf可达123.1.1.3(虽然可以通过直连可达),所以 33.1.1.0网段也就消失了
8,R2:把与R3的直连口也宣告进ospf,让33.1.1.0的forward-add通过ospf学到,
router ospf 1
net 123.1.1.0 0.0.0.255 a 0
此时再trace 33.1.1.1 路径就是R2---R3
###################################################################################