有些时候,由于区域包含的路由器过多或区域的地理位置原因等,造成网络中配置的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

OSPF区域不能与area 0 相连的解决方法相关推荐

  1. 如何去掉DataTable中的重复行(新增.net 2.0中最新解决方法---简便)

    .net 1.1中的解决方法(转) 1建立一个DataSetHelper类(DataSetHelper.cs) public class DataSetHelper ...{     public D ...

  2. vscode 调试.net core 2.0 输出乱码解决方法

    vscode 调试.net core 2.0 输出乱码解决方法 参考文章: (1)vscode 调试.net core 2.0 输出乱码解决方法 (2)https://www.cnblogs.com/ ...

  3. Error, some other host already uses address 192.168.0.202错误解决方法

    Error, some other host already uses address 192.168.0.202错误解决方法 参考文章: (1)Error, some other host alre ...

  4. QPainter::begin: Paint device returned engine == 0, type: 2 解决方法,在使用第三方库Qt可视化节点编辑器时

    QT节点编辑器:https://github.com/paceholder/nodeeditor 在使用的时候,沿着对角线缩放节点会出现崩溃的情况 报出来的错误却是:Qt begin: Paint d ...

  5. EFI PXE 0 for IPv4解决方法,Boot device……解决方法,Windows无法完成安装解决方法

    使用设备 Y7000P2021 目的 系统回退 经过 因之前使用dism++回退失败,出现error  "目标路径无效" ,在PE系统中看到ghost还原,就想试试用ghost还原 ...

  6. 英雄联盟服务器乱码怎么修复,英雄联盟异常0.404.80070051解决方法

    英雄联盟的每次更新都会遇到各种各样的问题,最近是有关于lol环境异常0.404.80070051的提问比较多,如果在游戏登陆过程中出现这种0.404.80070051怎么办呢?一起跟学习啦小编来看一下 ...

  7. C++6.0(应用程序无法正常启动0xc0000142) 关于win10周年版更新后无法正常使用vc6.0问题的解决方法

    C++6.0(应用程序无法正常启动0xc0000142) 关于win10周年版更新后无法正常使用vc6.0问题的解决方法 闲话不多说开始具体的步骤. 第一步:  找到vc6.0图标 右击-->选 ...

  8. 关于MySQL错误 2005 - Unknown MySQL server host ‘localhost‘ (0) 原因及解决方法

    关于MySQL错误 2005 - Unknown MySQL server host 'localhost' (0) 原因及解决方法 参考文章: (1)关于MySQL错误 2005 - Unknown ...

  9. Microsoft Visual C++ 14.0 is required解决方法

    在用python调用别的语言(我用的是cache数据库)的方法时,在执行"python setup3.py install"方法时出现"error: Microsoft ...

最新文章

  1. php将图片链接转换为base64编码文件流
  2. 获取SQLServer数据库中所有表
  3. 冒泡排序汇总(整数,实数,字符,字符串)
  4. Xamarin XAML语言教程使用使用Progress属性设置当前进度
  5. python实现分布式_Python如何快速实现分布式任务
  6. 分布式数据库技术基础:分布透明性相关知识
  7. iOS6.0以上版本,关于NSDateFormatter的问题
  8. 数据科学家令人惊叹的排序技巧
  9. oracle 临时文件 大文件,Oracle中临时文件File#和Db_files关系
  10. python 购物车程序_Python 购物车程序(文件版)
  11. 欧盟的贷款部门计划用区块链技术进行数字债券的交易、结算和销售
  12. Bootloader - main system - Recovery的三角关系【转】
  13. 【毕业设计】基于stm32的万能红外遥控器 - 单片机 嵌入式 物联网
  14. 服务器过载保护(下篇)——过载处理新方案
  15. requirejs+jquery表单验证
  16. CKEditor/CKFinder升级心得
  17. 简单总结里的结构化,成长型思维
  18. 吴恩达深度学习课后编程题讲解(python)
  19. KAMA-库夫曼自适应移动均线
  20. dockers 拷贝

热门文章

  1. 191. 位1的个数 golang
  2. 【Java学习笔记七】常用数据对象之数组
  3. CF Gym102059 H. Fractions
  4. 浅谈iptables防SYN Flood攻击和CC攻击
  5. 入职阿里啦!docker-e命令参数
  6. 2019 Multi-University Training Contest 1 - 1001 - Blank - dp
  7. Python小数据池,代码块
  8. docker下用keepalived+Haproxy实现高可用负载均衡集群
  9. SpringBoot中各配置文件的优先级及加载顺序
  10. R语言的自定义函数—字符组合