
拓扑如上所示, area 0
被分开了,还有两个非骨干区域是直接相连的。要求以尽量小的动作修复这个网络,重新配置的方案可以不用考虑,否则本实验的意义何在。
方法一:建立 GRE
通道
现先让骨干区域连起来。可以同过 R4
和 R2
建立,也可以通过 R5
与 R1
建立。但是查看下路由表发现后面的一种方法是不可以行的,因为 AREA2
和 AREA3
之间相连了,所有 R5
没有到 R1
的路由。只能用 R4
和 R2
建立了。
基本配置如下:
R2:
interface Loopback0
ip address 2.2.2.2 255.255.255.0
!
interface Tunnel0
ip address 42.1.1.2 255.255.255.0
tunnel source 24.1.1.2
tunnel destination 24.1.1.4
!
interface Serial1/0
ip address 12.1.1.2 255.255.255.0
serial restart-delay 0
!
router ospf 10
router-id 2.2.2.2
log-adjacency-changes
network 2.2.2.0 0.0.0.255 area 0
network 12.1.1.0 0.0.0.255 area 0
network 24.1.1.0 0.0.0.255 area 2
network 42.1.1.0 0.0.0.255 area 0
R4
上的配置原理一致,关键的地方要把 tunnel
发布到 OSPF
里,而且必须发布到骨干区域,否则还是建立不起来的。我试过把隧道都发布到 area 2
,结果是建立不起来。其实你自己想想也是,隧道窑通道 area 0
区域里,你不把隧道口放在 area 0
怎么能行!
这里还有一个需要注意的地方是我给隧道配置了 ip
地址,也可以尝试用 ip unn
骨干区域的直连借口 IP
。
下面看看 R5
的路由表
R5#sh ip rou os
1.0.0.0/24 is subnetted, 1 subnets
O 1.1.1.0 [110/11240] via 45.1.1.4, 00:14:01, Serial1/0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/11176] via 45.1.1.4, 00:14:01, Serial1/0
3.0.0.0/32 is subnetted, 1 subnets
O IA
3.3.3.3 [110/11304] via 45.1.1.4, 00:14:01, Serial1/0
4.0.0.0/32 is subnetted, 1 subnets
O IA
4.4.4.4 [110/65] via 45.1.1.4, 00:14:01, Serial1/0
42.0.0.0/24 is subnetted, 1 subnets
O
42.1.1.0 [110/11175] via 45.1.1.4, 00:14:01, Serial1/0
24.0.0.0/24 is subnetted, 1 subnets
O IA
24.1.1.0 [110/128] via 45.1.1.4, 00:14:01, Serial1/0
12.0.0.0/24 is subnetted, 1 subnets
O
12.1.1.0 [110/11239] via 45.1.1.4, 00:14:01, Serial1/0
13.0.0.0/24 is subnetted, 1 subnets
O IA
13.1.1.0 [110/11303] via 45.1.1.4, 00:14:01, Serial1/0
R1R2
的路由都学习到了。
这里有一个一举两得的效果,本来 area 5
被 area 3
隔开,对于 R1R2
组建的骨干区域来说是学不到的 area 5
的路由的,但是 area 5
是直接挂在 R4
与 R5
组建的骨干区域后面的,所以现在 R1R2
也可以学到 area 5
的路由。但是,这里有一个次优路由, R1
到达区域 5
是通过 R2
的,这个不难理解, GRE
通道是建在 R2
与 R4
间的,所以, R1
去往 R5
就绕了一大圈。
我个人觉得是将 area 3
或者 area 5
视为隔离区域要看具体情况,如果 R1
和 R2
组建的网络比较大的话,那么应该将 area 5
视为被隔离的,否则就是 area 3
。
方法二:虚链路
建立虚链路跟 GRE
差不多,都是在非骨干区域上建立一条隧道。但是,虚链路于只可以应用在 OSPF
下,因为只有 OSPF
才有分层设计,虽然 isis
也是分层的,但是 isis
没有骨干不骨干的概念。为什么他不分骨干区域呢?
目前为止,我个人是这么理解的,因为 OSPFv2
还是基于子网的, isis
却是基于链路的,是不是基于链路的就好一些呢?你看 OSPFv3
就知道了,他就是基于链路的。呵呵
建立虚链路需要注意的有两点:
1.
区域号写谁的?这里是要写成被跨越的区域的 ID
的
2.
注意了,虚链路是用 RID
来建立的,不是 IP
地址,这一点和 GRE
不一样!
R2
的基本配置如下:
interface Loopback0
ip address 2.2.2.2 255.255.255.0
!
interface Serial1/0
ip address 12.1.1.2 255.255.255.0
serial restart-delay 0
!
interface Serial1/1
ip address 24.1.1.2 255.255.255.0
serial restart-delay 0
!
!
router ospf 10
router-id 2.2.2.2
log-adjacency-changes
area 2 virtual-link 4.4.4.4
network 2.2.2.0 0.0.0.255 area 0
network 12.1.1.0 0.0.0.255 area 0
network 24.1.1.0 0.0.0.255 area 2
看看邻居表,与 R4
建立了虚链路上的邻居,没有死亡时间
R2#sh ip os neighbor
Neighbor ID
Pri State Dead Time Address Interface
4.4.4.4
0 FULL/ - - 24.1.1.4 OSPF_VL1
1.1.1.1
0 FULL/ - 00:00:33 12.1.1.1 Serial1/0
4.4.4.4
0 FULL/ - 00:00:33 24.1.1.4 Serial1/1
路由表,都学到了
R2#sh ip rou os
1.0.0.0/24 is subnetted, 1 subnets
O
1.1.1.0 [110/65] via 12.1.1.1, 00:15:56, Serial1/0
35.0.0.0/24 is subnetted, 1 subnets
O IA
35.1.1.0 [110/192] via 24.1.1.4, 00:15:56, Serial1/1
3.0.0.0/32 is subnetted, 1 subnets
O IA
3.3.3.3 [110/129] via 12.1.1.1, 00:15:56, Serial1/0
4.0.0.0/32 is subnetted, 1 subnets
O
4.4.4.4 [110/65] via 24.1.1.4, 00:43:38, Serial1/1
5.0.0.0/32 is subnetted, 1 subnets
O
5.5.5.5 [110/129] via 24.1.1.4, 00:15:56, Serial1/1
13.0.0.0/24 is subnetted, 1 subnets
O IA
13.1.1.0 [110/128] via 12.1.1.1, 00:15:56, Serial1/0
45.0.0.0/24 is subnetted, 1 subnets
O
45.1.1.0 [110/128] via 24.1.1.4, 00:15:56, Serial1/1
30.0.0.0/24 is subnetted, 1 subnets
O IA
30.1.1.0 [110/193] via 24.1.1.4, 00:15:56, Serial1/1
R2#
方法三:进程间重发布
下面给出 R4
的配置
interface Loopback0
ip address 4.4.4.4 255.255.255.0
ip ospf network point-to-point
!
interface Serial1/0
ip address 45.1.1.4 255.255.255.0
serial restart-delay 0
!
interface Serial1/1
ip address 24.1.1.4 255.255.255.0
serial restart-delay 0
!
router ospf 10
router-id 4.4.4.4
log-adjacency-changes
redistribute ospf 20 subnets
passive-interface Loopback0
network 4.4.4.0 0.0.0.255 area 2
network 24.1.1.0 0.0.0.255 area 2
!
router ospf 20
log-adjacency-changes
redistribute ospf 10 subnets
network 45.1.1.0 0.0.0.255 area 0
注意,在 R3
上另起了一个 loopback 1 30.1.1.1/24
放在 area 5
以作路由寻址测试之用。
看看 R1
的路由表
R1#sh ip rou os
35.0.0.0/24 is subnetted, 1 subnets
O E2
35.1.1.0 [110/128] via 12.1.1.2, 00:01:29, Serial1/0
2.0.0.0/24 is subnetted, 1 subnets
O
2.2.2.0 [110/65] via 12.1.1.2, 00:06:39, Serial1/0
3.0.0.0/24 is subnetted, 1 subnets
O
3.3.3.0 [110/65] via 13.1.1.3, 00:06:39, Serial1/1
4.0.0.0/24 is subnetted, 1 subnets
O IA
4.4.4.0 [110/129] via 12.1.1.2, 00:06:28, Serial1/0
5.0.0.0/24 is subnetted, 1 subnets
O E2
5.5.5.0 [110/65] via 12.1.1.2, 00:01:29, Serial1/0
24.0.0.0/24 is subnetted, 1 subnets
O IA
24.1.1.0 [110/128] via 12.1.1.2, 00:06:39, Serial1/0
45.0.0.0/24 is subnetted, 1 subnets
O E2
45.1.1.0 [110/64] via 12.1.1.2, 00:01:29, Serial1/0
30.0.0.0/24 is subnetted, 1 subnets
O E2 30.1.1.0 [110/129] via 12.1.1.2, 00:00:01, Serial1/0
看看路由表,都学到了。但是与前面的 GRE
隧道一样, R1
到达 area 5
还是绕了一个大圈子。
R1#tra 30.1.1.1
Type escape sequence to abort.
Tracing the route to 30.1.1.1
1 12.1.1.2 24 msec 32 msec 16 msec
2 24.1.1.4 64 msec 64 msec 92 msec
3 45.1.1.5 124 msec 100 msec 120 msec
4 35.1.1.3 108 msec * 116 msec
有没有解决方法呢?
实验有待跟进,待续。
本文出自 “海阔天空” 博客,转载请与作者联系!