有些时候,由于区域包含的路由器过多或区域的地理位置原因等,造成网络中配置的OSPF区域(非area 0)不能够与area 0相连。大家都知道,在OSPF的所有区域内,area 0 是骨干区域,非0区域都要与area0相连,才能够得知其他网络的路由信息。如下图所示情况:
拓扑中的网络为192.168.X.0 /24,area 2 不能与area 0直接相连,这样R4就不能够学习到area 0区域的路由。
基本配置:
R1:
En
Confi t
Host R1
Inter f0/0
Ip add 192.168.1.1 255.255.255.0
No sh
Router ospf 1
Net 192.168.1.1 0.0.0.0 area 0 ——将启用OSPF的接口通告出去。
R2:
En
Confi t
Host R2
Inter f0/0
Ip add 192.168.1.2 255.255.255.0
No sh
Inter f0/1
Ip add 192.168.2.1 255.255.255.0
No sh
Router ospf 1
Net 192.168.1.2 0.0.0.0 area 0 ——接口具体属于哪个区域,根据上图来配置。
Net 192.168.2.1 0.0.0.0 area 1
R3:
En
Conf t
Host R3
Inter f0/0
Ip add 192.168.2.2 255.255.255.0
No sh
Inter f0/1
Ip add 192.168.3.1 255.255.255.0
No sh
Router ospf 1
Net 192.168.2.2 0.0.0.0 area 1
Net 192.168.3.1 0.0.0.0 area 2
R4:
En
Conf t
Host R4
Inter f0/0
Ip add 192.168.3.2 255.255.255.0
No sh
Inter loo 0 ——这里我启用回环接口,目的是不用再增加设备。因为回环接口默认链路自动up,只需配好IP就OK了。
Ip add 3.3.3.3 255.255.255.255
配置完以后可以看到:
R1:
R3:
R4:
一般情况下,我们有以下三种方式来解决。
方法一:多进程ospf,路由重发布。
可以看出:R3上有到达所有网络的路由,但是area 0 的R1、边界路由R2却学习不到。由此,我们可以使用路由重发布来将R3学习到的area2内的路由重发布到area 1中。同样的,将R3中的关于area 0、area 1的路由重发布到area2中。
我们要R3 运行两个OSPF进程,接下来我们就要在不同的ospf进程之间进行路由重发布。
进程1:通告area 1的接口;
进程2:通告 area 2 的接口。
我们来配置一下:首先将R3现有的OSPF进程1内通告的192.168.3.1 no 掉。
R3(config)#router ospf 1
R3(config-router)#no net 192.168.3.1 0.0.0.0 area 2
建立一个新的ospf进程 2:
R3(config)#router ospf 2
R3(config-router)#net 192.168.3.1 0.0.0.0 area 2
这样,R3又重新学习到了area 2中的网络 3.3.3.3
接下来我们来做重发布:
1) 将进程2发布到进程1:
R3(config)#router ospf 1
R3(config-router)#redis ospf 2 subnets
这样R1、R2上就可以看到3.3.3.3 网络的路由了。
R2 同样可以学习到3.3.3.3。
2) 将进程1发布到进程2:
R3(config)#router ospf 2
R3(config-router)#redistribute ospf 1 sub
这样,R4就可以学习到area 0 、area1 中的路由信息了。
方法二:隧道技术
还原实验环境。
我们可以在R2、R3之间建立一条双向的隧道,让area 2 在逻辑上与area 0相连。
R2:建隧道并配置IP:
R2(config)#interface tunnel 1
R2(config-if)#tun source 192.168.2.1
R2(config-if)#tun des 192.168.2.2
R2(config-if)#ip add 192.168.4.1 255.255.255.0
R2(config-router)#net 192.168.4.1 0.0.0.0 area 0 ---通告隧道的网络到area 0
R3:建隧道并配置IP:
R3(config)#interface tunnel 1
R3(config-if)#tun source 192.168.2.2
R3(config-if)#tun des 192.168.2.1
R3(config-if)#ip add 192.168.4.2 255.255.255.0
R3(config-router)#net 192.168.4.2 0.0.0.0 area 0 ---通告隧道的网络到area 0
这样,R1、R4就学习到了彼此的路由信息。
方法三:virtual-link
还原环境。
在R2和R3上进行配置:
R2:
Router ospf 1
Area 1 virtual-link 192.168.3.1 --这里的IP是路由器的routerID,实验中我没有配置router ID,默认是最高的接口IP
R3:
Router ospf 1
Area 1 virtual-link 192.168.2.1
结果:
成功!
转载于:https://blog.51cto.com/haitianldy/730589