编者按:路由器要企业网络连接甚至全国网络互连,需要得到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