编者按:路由器要企业网络连接甚至全国网络互连,需要得到EIGRP、OSPF等这样的路由协议支持,因为EIGRP属于Cisco专属协议,OSPF路由协议因其开放性而得到广泛应用,本例就是介绍在基于OSPF路由协议基础上,如何进行全国网络的互连组建问题。
基于OSPF路由协议,组建全国互连项目(上)
http://net.it168.com/a2008/1030/209/000000209874.shtml
基于OSPF路由协议,组建全国互连项目(下)
使用邻居验证提供OSPF网络的安全性
OSPF路由协议面临的安全隐患主要来自于其自身的工作方式。路由器之间只要可以建立邻居关系,在一台路由器上就可以胡乱任意的发布虚假网段,使邻居路由器学习这些虚假的路由信息,造成网络的混乱。
1. OSPF的工作方式
OSPF路由协议使用周期性的发送Hello包来建立和维持邻居关系。由于OSPF路由协议的拓扑学习和路由计算都根源于邻居关系的建立,所以这一步骤在OSPF路由协议的操作上是比较重要的。
在OSI参考模型的网络层上,Hello包是向多点广播组224.0.0.5发送。这个多点广播组是所有运行OSPF路由协议的路由器都识别的。默认的影响OSPF路由协议的路由器每10秒发出一次Hello包,但是在NBMA类型的网络里,路由器每30秒钟发出一次Hello包。
在Hello包的包头里,包含路由器的标识(Router ID)及区域标识(Area ID),这是必不可少的信息。路由器的标识作用在于其他的路由器能够识别自己,两台路由器只有区域标识相同才能成为邻居。
一台路由器发出的Hello包里还包括了其所有邻居路由器的标识。如果路由器在它收到的Hello包里看到了自己的标识,则该路由器认为发送Hello包的路由器和自己是邻居关系。
2.邻居验证功能
OSPF采用邻居验证功能来屏蔽这一漏洞。通过在同一区域内的路由器上配置密码,可以使运行OSPF路由协议的路由器之间进行身份验证,只有密码相同的路由器之间才可以建立邻居关系,而密码不同的路由器之间不能建立邻居关系。
在Hello包头里面有两个参数,Authentication Type和Authentication Date。
1)Authentication Type
Authentication Type是验证的类型。OSPF路由协议支持两种邻居验证的类型:明文的邻居验证和密文的邻居验证。
2)Authentication Date
Authentication Date是验证的具体数据。当使用文明的邻居验证时,这个位置携带的是明文密码;当使用密文的邻居验证时,这个位置携带的是验证所使用的Key值。
同一区域内的路由器,通过互相交换Hello包,可以识别到相邻路由器所配置的密码,如果密码不同,OSPF路由协议的邻居关系就不能建立。通过邻居验证的方式,可以避免虚假的路由信息来欺骗其他的路由器。
3.配置明文验证
使用下面的命令在路由器连接相邻路由设备的接口上配置明文密码命令,在该命令中,Password处应该填写明文密码。
Router(config-fi)#ip ospf authentication-key password
使用下面的命令可以在OSPF路由协议里声明该区域使用明文密码验证,Area-ID为邻区验证的区域标识。
Router(config-router)#area area-id authentication
4.配置密文验证
在路由器连接相邻路由设备的接口上配置密文密码命令,在该命令中,Password处应该填写密文密码,KeyID是Key的值,MD5是一种加密的算法。
Router(config-if)#ip ospf message-digest-key keyid md5 passwd
在OSPF路由协议里声明该区域使用密文密码验证,Area-ID为邻区验证的区域标识。
Router(config-router)#area area-id message-digest
OSPF网络中的虚链路应用
在前面介绍到OSPF网络中关于区域的划分部分,所有的非骨干区域必须要与骨干区域相连。但在实际工程中,如果有些区域在物理连接上确实不能与骨干域相连,情况又是什么样呢?如图10-35所示,在此拓扑结构中区域2与区域0(骨干域)无法物理相连,这样的情况下Area2的路由信息是无法在OSPF网络正常汇总的。
对于这种情况,可以使用OSPF路由协议中虚链路的概念将Area2与Area0逻辑连接。在Area1中连接着两边区域的路由器上启用一条虚链路用于逻辑的将Area2与Area0连接。这样Area2在OSPF网络中的路由信息就可以正常汇总了,如图所示。
图 物理连接
图 虚链路连接
虚链路还有另外一种应用情况,当在OSPF网络中出现两个Area0时需要启用虚链路,如图所示。
图使用虚链路将两个骨干域互连
在OSPF网络中出现两个骨干域多数是在两个公司合并的情况。两个公司都使用OSPF路由器协议,这样就出现了两个骨干域。在此,需要记住的就是OSPF网络中只能有一个Are0也就是骨干域,否则路由器会报错,如果出现了两个Area0骨干域的情况一定要使用虚链路将两个骨干域互连。
配置虚链路命令如下:
Router(config-router)#area area-id virtual-link router-id
Area-ID表示区域标识,而Router-ID参数是OSPF路由协议的路由器标识。
OSPF网络互连实施方案
建议在阅读本节内容前,首先返回本章的“10.2 项目需求与路由协议选择”一节,重新回顾一下对于荣新外企IT培训中心全国互连的案例分析。在配置OSPF之前,也需要阅读表10-10和表10-11中关于各个命令的解释。
步 骤 | 命 令 | 解 释 |
1 | configure terminal | 进入全局配置模式 |
2 | router ospf process-id | 声明使用OSPF路由协议。Process-ID是进程号,范围是1~65 535。在同一个使用OSPF路由协议的网络中的不同路由器可以使用不同的进程号。一台路由器可以启用多个OSPF进程 |
3 | network address wildcard-mask area area-id | 在该命令中,Address可以是网段地址也可以是一个子网或者一个接口的IP地址。Wildcard-mask称为通配符掩码,它与子网掩码正好相反,但是作用是一样的。Area-ID是区域标识,它的值范围是0~65 535,区域0是骨干网络,OSPF路由协议在发布其需要加入OSPF中的接口地址或接口地址网段地址时必须声明它所处的区域 |
4 | Area area-id stub [no-summary] | 可以看到本案例在西安的西北大学接入点是一个完全的末节区域,应用这条命令声明该路由器是一台所处末节区域的路由器。(按照具体情况选用配置命令) |
5 | area area-id virtual-link router-id | 本案例中Area4与骨干域Area0无法物理连接,通过启用虚链路来使Area4与Area0相连(按照具体情况选用配置命令) |
6 | Exit | 退出 |
7 | copy running-config startup config | 保存配置 |
命 令 | 解 释 |
Show ip ospf interface | 该命令用来检查接口是否被配置在相应的区域里,另外也可以看到该接口所连接的邻居 |
Show ip ospf | 使用该命令可以看到链路状态更新的时间间隔及网络收敛的次数等信息 |
Show ip ospf neighbor detail | 该命令用来显示邻居的详细信息列表,包括它们的优先级和当前状态 |
Show ip ospf database | 该命令显示路由器管理的拓扑表的内容,路由器标识和OSPF路由协议的进程号 |
在配置任何OSPF网络之前的第一件要做的事就是先对网络拓扑结构进行区域的划分。根据各省份的特点,划分方式如图10-38所示。
图荣新外企IT培训中心部分拓扑结构
以3个地方的区域划分为例,进行OSPF路由协议的区域划分。同时,由于拓扑结构中的路由器过多,只选取图中比较有代表性的Router1、Router2、Rourter3、Rourter4路由器进行配置演示。
1.路由器(Router1)的配置
interface serial s 0/1
ip address 10.0.0.1 255.255.255.0
encapsulation ppp
!
interface serial s 0/2
ip address 10.0.1.1 255.255.255.0
encapsulation ppp
!
interface serial s 0/3
ip address 10.0.2.1 255.255.255.0
encapsulation ppp
!
interface loopback 0
ip address 1.1.1.1 255.255.255.0
!
router ospf 100
network 10.0.0.0 0.0.0.255 area 0
network 10.0.1.0 0.0.0.255 area 0
network 10.0.2.0 0.0.0.255 area 0
2.路由器(Router2)的配置
interface serial 0/1
ip address 10.0.0.2 255.255.255.0
encapsulation ppp
!
interface serial 0/2
ip address 10.1.0.2 255.255.255.0
encapsulation ppp
!
interface serial 1/0
ip address 10.10.1.1 255.255.255.0
encapsulation ppp
!
interface serial 1/1
ip address 10.10.2.1 255.255.255.0
encapsulation ppp
!
interface serial 1/2
ip address 10.10.3.1 255.255.255.0
encapsulation ppp
!
interface loopback 0
ip address 2.2.2.2 255.255.255.0
!
router ospf 200
network 10.0.0.0 0.0.0.255 area 0
network 10.0.0.0 0.0.0.255 area 0
network 10.10.1.0 0.0.0.255 area 3
network 10.10.2.0 0.0.0.255 area 3
network 10.10.3.0 0.0.0.255 area 3
area 1 virtual-link 3.3.3.3
配置虚链路时区域标识是1,表示虚链路是在区域1中建立的;路由器标识指定的是路由器B的标识,表示路由器C与路由器B建立虚链路。
3.路由器(Router3)的配置
interface serial 0
ip address 10.10.1.1 255.255.255.0
encapsulation ppp
!
interface serial 1
ip address 10.20.0.1 255.255.255.0
encapsulation ppp
!
interface loopback 0
ip address 3.3.3.3 255.255.255.0
area 1 virtual-link 2.2.2.2
!
router ospf 300
network 10.10.1.0 255.255.255.0 area 3
network 10.20.0.0 255.255.255.0 area 4
area 1 virtual-link 2.2.2.2
4.路由器(Router4)的配置
interface serial 0
ip address 10.20.0.2 255.255.255.0
encapsulation ppp
!
router ospf 400
network 10.20.0.0 0.0.0.255 area 4
area 4 stub // 标志为末节区域路由设备
注:文章选摘自:
精品图书推荐:案例精解企业级网络构建
http://focus.it168.com/200810/net_example/index.htm
本书最大的特点就是将网络应用技术应用到实际企业案例中,并且其提供的案例具有典型性,可以方便地应用到实际网络环境中。本书文笔流畅、内容翔实、覆盖面很广,是广大网络从业人员和网络管理人员的案头推荐用书。