OSPF基础配置流程
OSPF作为一种链路状态内部网关路由协议,其基础配置主要包括以下几个步骤:
首先需要指定路由器的ID,这通常使用loopback接口地址。接着在路由器上全局启用OSPF进程,并定义进程号。然后需要将本设备的网段划分到某个OSPF区域中,并定义各接口与区域的关系。根据接口所在网络类型的不同,可能需要设置为点到点、广播或NBMA等模式。同时需要设置接口的OSPF安全认证,保证形成邻居关系。最后要在相邻设备上也进行类似OSPF的参数配置,使其形成匹配关系。
当OSPF进程启动后,路由器会通过发送HELLO报文发现邻居并建立邻接关系,经过数据库同步后即可开始交换路由信息。这就是OSPF基础配置的主要流程,合理配置可以使OSPF进程正常工作。
路由器ID
OSPF要求每个参与路由的设备必须配置有唯一的路由器ID,用于标识该路由器。路由器ID通常选择一个stable的接口地址作为标识,比如Loopback接口的IP地址。因为Loopback接口永远是UP状态,不会由于物理链路故障而变化。
配置路由器ID的方式可以通过如下两个命令:
- router-id [id] 手动指定一个4字节值作为路由器ID;
- ospf router-id [ip] 指定某个接口的IP地址作为路由器ID。
如果两条命令都没有配置,OSPF进程将自动选择最大的本机接口IP地址作为路由器ID。所以推荐手动配置Loopback接口地址作为路由器ID,保证其稳定唯一。
OSPF进程号
在启用OSPF协议时,需要通过router ospf 指定对应的OSPF进程号。该进程号是识别不同OSPF进程的标识符,用于实现多进程并行。
OSPF进程隔离
OSPF支持同时运行多个OSPF进程,各进程之间可以通过进程ID进行隔离。
OSPF进程隔离实现以下目的:
- 逻辑上划分不同的OSPF网络
多个OSPF进程可以对不同的地区或业务进行逻辑隔离,实现路由聚合和控制。 - 隔离运营商核心网络
不同OSPF进程可以隔离运营商BGP核心网和接入网,进行独立路由优化。 - 提供路由策略控制的灵活性
通过多进程可以实施不同的路由策略,实现精细化的路由控制。 - 优化路由资源分配
可以通过划分区域和进程来降低单进程的路由开销。 - 提高网络扩展性
多进程可以有效抑制路由表规模的增长,使大规模网络部署时更加可控。
OSPF进程隔离可以提高网络设计的灵活性,进行路由隔离控制,适应大规模网络部署。
OSPF的认证方式
OSPF需要在接口上进行认证配置,以保证只有合法同区域路由器才能建立邻接关系。
OSPF支持两种认证机制(基于密码)
- 简单密码认证
通过为接口配置相同的密码,实现报文加密验证,防止非法访问。配置命令为:
ip ospf message-digest-key [keyid] md5 [password]
该方式安全性较弱。
- MD5认证
使用MD5哈希算法生成密钥,并加入报文头进行更安全的验证。配置命令为:
ip ospf message-digest-key [keyid] md5 [password]
开启MD5认证后,所有接口通告的LSA都会被哈希处理。MD5机制可以防止伪造攻击。
需要注意,OSPF邻居之间必须使用一致的认证机制和密钥,才能成功建立邻接。接口认证方式直接影响OSPF的安全性,应谨慎配置。
OSPF支持两种认证机制(基于作用域)
OSPF支持对接口和区域两层次的认证配置,以保证路由安全性:
- 接口级认证
在每个接口上统一配置认证方式和密码,以下两种:
简单密码认证:配置ip ospf authentication-key
定义接口级密码
MD5认证:配置ip ospf message-digest-key
启用MD5认证
- 区域级认证
对OSPF区域设置统一的认证方式,会自动应用到该区域所有接口,命令为:
area [area-id] authentication [message-digest]
注意接口级认证配置会覆盖区域级设置的认证方式。
接口认证保证了单个接口的安全。区域认证简化了配置,但一个区域被攻破则全部接口都受影响。
OSPF的特殊区域
除了普通区域,OSPF还定义了Stub区域、NSSA区域等特殊区域类型:
-
Stub区域
Stub区域屏蔽了 Type 5 AS外部LSAs的洪泛,仅允许默认路由注入。适用于只需访问外部默认路由的小规模稳定网络。 -
Totally Stub区域
是完全Stub区域,连Type 3、4汇总LSA也不允许传播,只包含 Type 1、2 LSA。 -
NSSA区域
支持引入Type 7 ASBR外部路由,但不会再向其他普通区域泛洪该信息。提供了一定的路由控制灵活性。 -
完全NSSA区域
不允许Type 5 LSA传播,提供一定安全隔离控制。
合理规划OSPF区域类型,可以有效控制路由规模,优化网络资源占用。需要根据实际路由策略要求,设定适当的Stub或NSSA区域。
OSPF配置示例
指定router id和使用区域认证
- 指定Router ID:
Router(config)#router ospf 1
Router(config-router)#router-id 1.1.1.1
这里手动将Loopback1接口的IP 1.1.1.1设为OSPF进程1的Router ID。
- 配置接口认证:
Router(config)#int g0/0
Router(config-if)#ip ospf authentication
Router(config-if)#ip ospf authentication-key abc
在接口GigabitEthernet0/0上,启用OSPF简单密码认证,密码设为abc。
三、设置区域认证:
Router(config-router)#area 1 authentication message-digest
在OSPF区域1中启用MD5认证,该区域的所有接口将开启MD5验证。
OSPF多进程
- 配置进程1的Router ID
Router(config)#router ospf 1
Router(config-router)#router-id 1.1.1.1
- 配置进程2的Router ID
Router(config)#router ospf 2
Router(config-router)#router-id 2.2.2.2
- 分别在2个进程下启用接口
Router(config)#int g0/0
Router(config-if)#ip ospf 1 area 0
Router(config)#int g0/1
Router(config-if)#ip ospf 2 area 0
- 查看2个OSPF进程的状态
Router#show ip ospf process
OSPF PROCESS 1
OSPF PROCESS 2
OSPF网络类型
- 广播网络
interface Ethernet0/0
ip ospf network broadcast
- 点到点网络
interface Serial0/0
ip ospf network point-to-point
- 非广播网络
interface Ethernet0/1
ip ospf network non-broadcast
ip ospf neighbor 10.0.0.2
- 点到多点网络
interface Serial0/1
ip ospf network point-to-multipoint
OSPF特殊区域
- 配置Stub区域
router ospf 1
network 192.168.1.0 0.0.0.255 area 0
network 192.168.2.0 0.0.0.255 area 1
area 1 stub
这里将网段192.168.2.0配置为Stub区域。
2. 配置Totally Stub区域
area 1 stub no-summary
增加no-summary实现Totally Stub区域。
3. 配置NSSA区域
area 1 nssa
将Stub区域改为NSSA区域,允许引入Type 7 LSA。
4. 配置Totally NSSA区域
area 1 nssa no-redistribution
禁止Type 5 LSA泛洪实现Totally NSSA。