路由重发布

任何的大型网络都不是一步到位的,基本上都会经历后期的扩展和改造,甚至还有合并。
所以网络各种协议之间必须要有某种互相融合的方法。
路由重发布的意思是处于两个协议边界的路由器将不同协议的路由条目互相转发。
需要考虑的问题:

  1. 度量值
  2. 路由倒灌

度量值的问题

在重发布的时候,每个协议都会有个默认度量值(也被称为种子度量值),当重发布进来的路由条目没有手动指定度量值的时候,就会使用种子度量值。
image.png

路由倒灌

image.png
上图中R2和R3都做了双向路由重发布,当R2将路由导入到ospf之后,R3会发现OSPF和RIP都提供了同一个路由条目,根据管理距离越小越优,R3会优选OSPF,导致R3会把原本起源于RIP的路由又重发布回RIP。而R4不具备判断能力,就会学习使用。导致出现:环路与次优路径
总结一下,是管理距离导致的问题,次优路径总是发生在管理距离较小的协议中。所以直接修改协议的管理距离无法解决问题。
上图我们可以在R2和R3上修改特定路由的管理距离来解决问题。  distance 121 2.2.2.2 0.0.0.0   # 修改邻居2.2.2.2发送路由条目的管理距离为121 
image.png

Passive-interface

RIP/IGRP——在指定接口不向外发送路由更新,但是接收路由更新。可以指定邻居以单播方式更新 nei x.x.x.x 
EIGRP——在指定接口不向外发送Hello消息,而且通过这个接口不与其他路由器建立邻接关系,不发送其他EIGRP的数据流
OSPF——在指定接口不向外发送Hello消息,而且通过这个接口不与其他路由器建立邻接关系,不发送和接收路由信息。

OSPF的外部路由类型

OE1或ON1:意思是累计内部开销,在OSPF内部会累加每次入口的度量值
OE2或ON2:意思是不累计内部开销,在OSPF内部不管怎么传度量值都是不变
可以在重发布进OSPF的命令后面加上 metric-type 1or2 来修改默认的类型。

Router-map

image.png

参考答案

R1
interface Loopback0
 ip address 1.1.1.1 255.255.255.0
!
interface Loopback1
 ip address 172.16.1.1 255.255.255.0
!
interface Loopback2
 ip address 172.16.2.1 255.255.255.0
!
interface Loopback3
 ip address 172.16.3.1 255.255.255.0
!
interface Loopback4
 ip address 172.16.4.1 255.255.255.0
!
interface Ethernet0/0
 ip address 192.168.12.1 255.255.255.0
!
router rip
 version 2
 redistribute connected metric 5 route-map c-r
 network 1.0.0.0
 network 192.168.12.0
 no auto-summary
!
no ip http server
no ip http secure-server
!
!
route-map c-r deny 10
 match ip address 1
!
route-map c-r permit 20
 set tag 200
!      
access-list 1 permit 172.16.4.0
==============================================
R2
interface Loopback0
 ip address 2.2.2.2 255.255.255.0
!
interface Ethernet0/0
 ip address 192.168.12.2 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.23.2 255.255.255.0
!
router eigrp 100
 network 192.168.23.0
 redistribute rip metric 10000 100 255 1 1500 route-map r-e
!
router rip
 version 2
 redistribute eigrp 100 metric 5
 network 2.0.0.0
 network 192.168.12.0
 no auto-summary
!
route-map r-e deny 10
 match ip address 1
!
route-map r-e permit 20
 match tag 200
!
route-map r-e permit 30
 set tag 300
!
access-list 1 permit 172.16.3.0
============================================
R3
interface Loopback0
 ip address 3.3.3.3 255.255.255.0
!
interface Ethernet0/0
 ip address 192.168.23.3 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.34.3 255.255.255.0
 ip ospf 1 area 0
!
router eigrp 100
 network 3.0.0.0
 network 192.168.23.0
 redistribute ospf 1 metric 10000 100 255 1 1500
!
router ospf 1
 redistribute eigrp 100 subnets route-map e-o
!
route-map e-o permit 10
 match ip address 1
 set metric 30
!
route-map e-o permit 20
 match ip address 2
 set metric 40
 set metric-type type-1
!
route-map e-o permit 30
 match tag 300
 set metric 40
 set metric-type type-1
!
route-map e-o permit 40   
!
access-list 1 permit 172.16.1.0
access-list 2 permit 172.16.2.0
=========================================
R4
interface Loopback0
 ip address 4.4.4.4 255.255.255.0
 ip ospf 1 area 0
!
interface Ethernet0/0
 ip address 192.168.34.4 255.255.255.0
 ip ospf 1 area 0
!
interface Ethernet0/1
 ip address 192.168.45.4 255.255.255.0
 ip ospf 1 area 1
!
router ospf 1
 area 1 nssa no-summary
============================================
R5
interface Loopback0
 ip address 5.5.5.5 255.255.255.0
 ip ospf 1 area 1
!
interface Ethernet0/0
 ip address 192.168.45.5 255.255.255.0
 ip ospf 1 area 1
!
router ospf 1
 area 1 nssa

之前学习重发布只能全部发布,不可以对路由进行设置或者修改。
我们可以使用route-map在路由重发布的时候进行设置或修改。

route-map <名字> permit/deny(放行或拒绝) <顺序号1>
 match <条件1> <条件2>    # 条件1或者条件2有一个匹配,那么这行match就匹配上了
 match <条件3> <条件4>    # 这行和第2行都必须要匹配上,这条route-map才生效
 set <动作1>    # 如果是放行的,这边可以修改度量值之类的路由属性
 set <动作2>
route-map <名字> permit/deny(放行或拒绝) <顺序号2>
 match <条件1> <条件2>    # 条件1或者条件2有一个匹配,那么这行match就匹配上了
 match <条件3> <条件4>    # 这行和第2行都必须要匹配上,这条route-map才生效
 set <动作1>    # 如果是放行的,这边可以修改度量值之类的路由属性
 set <动作2>
# 注意,如果序号1和序号2都没有被匹配上,那么最后会默认拒绝所有
# 注意,如果某个序号的route-map中,没有match,说明就是match any

Distribute-list

分发列表可以在距离矢量协议中过滤更新的路由条目,针对别人有效的需要套在out方向上,针对自己有效的需要用在in方向上。
针对链路状态协议一般只能用在in方向上,阻止SPF算法结果进入自己的路由表。但是针对LSA5始发的路由器,可以用在out方向上过滤LSA5类的条目。

Prefix-list

用于抓取路由条目,和ACL比较像。不过不如ACL还可以抓取流量,Pre-list只能抓取路由条目。
pre-list优势在于可以抓取特定的子网掩码,这点ACL难做到。
ge是大于
le是小于

Offset-list

偏移列表是为距离矢量协议定制,用来增加(不能减少)度量值的。

PBR

策略路由,根据流量的协议,源IP,目的IP地址去改变流量的发送路线。