拓扑:
需求:
- 所有路由器全部启环回接口 0.,地址为 X.X.X.X/32 X = 路由器编号。
- R1 和 R2 起 RIPV2 协议, R1 建立 3 个环回接口,地址为 172.16.X.1/24 X=1-3. 只允许 R1 和 R2 之间存在更新,并且 R2 要只看到一条 172.16 网段的路由, 并且这条路由不允许通告到其它网络
- R2 、R3 和 R4 的 FA0/0 接口启 EIGRP 100 R2、R3 和 R4 的环回接口通告到 EIGRP 中。
- R3、 R4 和 R5 启用 OSPF
- 在 R6 只要看到直连路由和关于 OSPF 的一条默认路由
- R6 上重分布直连环回接口,只重分布一个环回接口,需过滤其它端口。
- R2 上双向的重分发 R3 和 R4 都做 OSPF 和 EIGRP 的双向重分发,并使 OSPF 路由器优先选择 R3 为主路由,当 R3’down 掉,使角路由器 R4 为可用下一跳
- 实验完成后需要全网通信,使用 traceroute 验证路由下一跳是否正确,重点观察 R2R3R4 的路由下一跳。
老规矩。环回接口配置和 ip 地址配置不再话下、按下不表。
R1 配置:
R1 需要模拟外网路由并重分发进入 rip。考虑 rip 的自动汇总功能,直接重分发进入 rip。
router rip
version 2
passive-interface Ethernet0/0
network 1.0.0.0
network 172.16.0.0
network 192.168.12.0
没有 no autosummary,当然这样的做法其实只是满足了该题的要求。并不是一种好的办法。
最好的做法是关掉自动汇总,再 R1 上手动汇总 172.16.0.0 发给 R2。
interface Ethernet0/0
ip address 192.168.12.1 255.255.255.0
ip summary-address rip 172.16.0.0 255.255.0.0
#接口下汇总,我承认我忘了。。
router rip
version 2
passive-interface Ethernet0/0
network 1.0.0.0
network 172.16.0.0
network 192.168.12.0
neighbor 192.168.12.2
no auto-summary
需求 2 还要求只在 R1、R2 之间发生更新。意图明显。配置被动接口
router rip
passive-interface Ethernet0/0
neighbor 192.168.12.2 #指定邻居
R2:
首先根据需求 2,R2 需要配置 RIP 中的被动接口,其次,R2 需要做重分发,同时,在重分发时需要使用 route-map 拒绝掉 172.16.0.0 进入其他网络。
router eigrp 100
network 2.0.0.0
network 192.168.234.0
redistribute rip metric 10000 100 255 1 1500 route-map r-e
router rip
version 2
redistribute eigrp 100 metric 5
passive-interface Ethernet0/1
network 192.168.12.0
neighbor 192.168.12.1
no auto-summary
route-map r-e deny 10
match ip address 1
route-map r-e permit 20
access-list 1 permit 172.16.0.0
R3、R4
R3、R4 处于对称位置。按照需求其不仅需要完成 eigrp 到 ospf 的重发布,而且需要调整度量值来做路由策略。在重发布时调整两者的 metric 值即可做到这一点。
R3:
router eigrp 100
redistribute ospf 1 metric 10000 100 255 1 1500
router ospf 1
redistribute eigrp 100 metric 5 subnets #度量值为5
R4:
router eigrp 100
redistribute ospf 1 metric 10000 100 255 1 1500
router ospf 1
redistribute eigrp 100 metric 10 subnets #度量值为10
R5:
R5 上的配置很少,作为 ABR,为了满足 R6 中只要看到直连路由和关于 OSPF 的一条默认路由的需求。很自然地想到 ospf 的特殊区域,而因为后续 R6 还要引入外部路由,所以选择 nssa no-summary
router ospf 1
area 1 nssa no-summary
R6:
R6 除了需要改变 ospf 区域特征外,还需要引入外部路由,虽然我们只开了一个环回接口,但是。一定要坚决认为 R6 上连接了很多外部网络。。因此需要做过滤!
router ospf 1
area 1 nssa
redistribute connected subnets route-map c-o
route-map c-o permit 10
match ip address 1
access-list 1 permit 6.6.6.0 0.0.0.255 #这里要千万注意通配符掩码!!
至此,看得到的需求全部配置完成。
但是却无法完成全网互通。
毛病处在 R3、R4 身上。
再来看图:
在 eigrp 协议中,R2 将 1.1.1.1 等其他 rip 中的路由重发布进入 eigrp,
此时,在 R3、4 上,1.1.1.1 的管理距离是 170。
当 R3 将 eigrp 中的路由重发布进入 ospf,在 R5 上,其管理距离是 110。
当 R5 以 ospf 内部 LSA 将 1.1.1.1 发给 R4 时,因为其管理距离较小,所以 R4 将选择从 R5 去往 R1,造成次优路径甚至环路。
因此 R3、R4 及更远端的设备访问 R1、R2 将极为不稳定。
解决办法很多。这里选择使用 distribute-list 解决。
我们希望 R3\4 能够拒绝掉 R5 给自己的所有本是从 eigrp 中学习到的路由。
而这些路由信息均是从 R3\4 上进入 R5 的,这可以作为其特性。
于是乎。思路便来。
当我们在 3、4 上进行重分发时,对所有因此进入 ospf 的路由设置 tag。
重分发的命令支持这一操作。
R3\4 上的 tag 值统一。
而后,在 ospf 的 in 方向套用 route-map,以 tag 做为 match 条件。拒绝掉从 R5 那里来的带有 tag 的信息:
R3:
router eigrp 100
redistribute ospf 1 metric 10000 100 255 1 1500
router ospf 1
redistribute eigrp 100 metric 5 subnets tag 233 #重分发时打标签。
distribute-list route-map again in #基于route-map做分发列表。
R4:
router eigrp 100
network 4.0.0.0
network 192.168.234.0
redistribute ospf 1 metric 10000 100 255 1 1500
router ospf 1
redistribute eigrp 100 metric 10 subnets tag 233
distribute-list route-map again in
关于 route-map 等的详细知识及区分,改日再聊。。
参考:
路由重发布