OSPF

本章介绍如何将 ASA 配置为使用开放式最短路径优先 (OSPF) 路由协议来路由数据、执行身份验证以及重新分发路由信息。

关于 OSPF

OSPF 是一种使用链路状态而非距离矢量进行路径选择的内部网关路由协议。OSPF 传播链路状态通告而非路由表更新。由于仅交换 LSA 而不是整个路由表,因此 OSPF 网络比 RIP 网络更快收敛。

OSPF 使用链路状态算法构建和计算所有到达已知目标的最短路径。OSPF 区域中的每台路由器包含相同的链路状态数据库,该数据库是由每台路由器可使用的接口和可到达的邻居组成的列表。

相比 RIP,OSPF 具有以下优点:

  • OSPF 链路状态数据库更新的发送频率低于 RIP 更新,并且随着过时信息的超时,链路状态数据库即时而非逐步更新。

  • 路由决策基于开销,它表明通过特定接口发送数据包所需的开销。ASA 根据链路带宽而非到目标的跃点数计算接口的开销。可以配置开销来指定首选路径。

最短路径优先算法的缺点是需要大量 CPU 周期和内存。

ASA 可以在不同接口集上同时运行 OSPF 协议的两个进程。如果您具有使用相同 IP 地址的接口(NAT 允许这些接口共存,但是 OSPF 不允许重叠地址),则可能要运行两个进程。或者,可能要在内部运行一个进程,在外部运行另一个进程,并且在两个进程之间重新分发路由的子集。同样,可能需要将专用地址与公用地址分离。

您可以将路由从一个 OSPF 路由进程、RIP 路由进程或从在启用了 OSPF 的接口上配置的静态路由和已连接路由重新分发到另一个 OSPF 路由进程中。

ASA 支持以下 OSPF 功能:

  • 区域内、区域间和外部(I 类和 II 类)路由。

  • 虚拟链路。

  • LSA 泛洪。

  • OSPF 数据包身份验证(密码和 MD5 身份验证)。

  • ASA 配置为指定路由器或指定备用路由器。ASA 也可以设置为 ABR。

  • 末节区域和次末节区域。

  • 区域边界路由器 3 类 LSA 筛选。

OSPF 支持 MD5 和明文邻居身份验证。如有可能,应将身份验证与所有路由协议配合使用,因为在 OSPF 和其他协议(如 RIP)之间的路由重新分发可能会被攻击者用于破坏路由信息。

如果使用 NAT,如果 OSPF 是在公共和专用区域上运行,并且如果要求地址过滤,则需要运行两个 OSPF 进程,一个进程对应于公共区域,一个进程对应于专用区域。

在多个区域中具有接口的路由器称为区域边界路由器 (ABR)。充当网关以在使用 OSPF 的路由器与使用其他路由协议的路由器之间重新分发流量的路由器称为自治系统边界路由器 (ASBR)。

ABR 使用 LSA 将有关可用路由的信息发送到其他 OSPF 路由器。使用 ABR 3 类 LSA 筛选,您可以具有单独的以 ASA 作为 ABR 的专用和公共区域。3 类 LSA(区域间路由)可以从一个区域筛选到另一个区域,从而允许您在不通告专用网络即的情况下配合使用 NAT 和 OSPF。



只能筛选 3 类 LSA。如果在专用网络中将 ASA 配置为 ASBR,它将发送描述专用网络的 5 类 LSA,后者会泛洪至整个 AS,包括公共区域。


如果采用 NAT 但 OSPF 仅在公共区域中运行,则可以在专用网络内将到公共网络的路由作为默认或 5 类 AS 外部 LSA 重新分发。但是,需要为受 ASA 保护的专用网络配置静态路由。此外,不应在同一 ASA 接口上混用公用和专用网络。

您可以同时在 ASA 上运行两个 OSPF 路由进程、一个 RIP 路由进程和一个 EIGRP 路由进程。

快速呼叫数据包 OSPF 支持

OSPF 快速呼叫数据包支持功能提供了一种以短于一秒的间隔发送呼叫数据包的配置方式。此类配置在开放式最短路径优先 (OSPF) 网络中会导致更快的收敛。

OSPF 支持快速呼叫数据包的前提条件

OSPF 必须已在网络中进行配置或与快速呼叫数据包 OSPF 支持功能同时配置。

关于快速呼叫数据包的 OSPF 支持

与快速呼叫数据包的 OSPF 支持相关的主要概念,以及 OSPF 快速呼叫数据包的优势如下所述:

OSPF 呼叫间隔和停顿间隔

OSPF 呼叫数据包是 OSPF 进程向其 OSPF 邻居发送以保持与这些邻居的连接的数据包。呼叫数据包按照可配置间隔(以秒为单位)进行发送。对于以太网链路,默认值为 10 秒;对于非广播链路,默认值为 30 秒。呼叫数据包包含在停顿间隔内为其接收到呼叫数据包的所有邻居的列表。停顿间隔也是可配置间隔(以秒为单位),并且默认为呼叫间隔值的四倍。所有呼叫间隔的值在网络中都必须相同。同样,所有停顿间隔的值在网络中也必须都相同。

这两种间隔通过表明链路可运行来结合用于保持连接。如果路由器在停顿间隔内没有从邻居接收到呼叫数据包,则将声明该邻居关闭。

OSPF 快速呼叫数据包

OSPF 快速呼叫数据包是指按照小于 1 秒的间隔发送的呼叫数据包。要了解快速呼叫数据包,您应已了解 OSPF 呼叫数据包与停顿间隔之间的关系。请参阅 OSPF 呼叫间隔和停顿间隔

通过使用 ospf dead-interval 命令来获取 OSPF 快速呼叫数据包。停顿间隔设置为 1 秒,并且 hello-multiplier 值设置为在该 1 秒期间要发送的呼叫数据包的数量,从而提供亚秒或“快速”呼叫数据包。

当在接口上配置了快速呼叫数据包时,此接口发出的呼叫数据包中通告的呼叫间隔设置为 0。系统将忽略通过此接口接收到的呼叫数据包中的呼叫间隔。

无论停顿间隔设置为 1 秒(对于快速呼叫数据包)还是设置为任何其他值,它在分片上都必须一致。只要在停顿间隔内发送了至少一个呼叫数据包,呼叫乘数对于整个分片便无需相同。

OSPF 快速呼叫数据包的优势

OSPF 快速呼叫数据包功能的优势是 OSPF 网络将比没有快速呼叫数据包的情况更快收敛。通过此功能,您可以在 1 秒内检测丢失的邻居。它在开放式系统互连 (OSI) 物理层和数据链路层可能未检测到邻居丢失的 LAN 分片中尤其有用。

OSPFv2 与 OSPFv3 之间的实施差异

OSPFv3 不向后兼容 OSPFv2。要使用 OSPF 路由 IPv4 和 IPv6 流量,必须同时运行 OSPFv2 和 OSPFv3。它们会共存但不相互交互。

OSPFv3 提供的其他功能包括:

  • 按链路进行协议处理。

  • 删除寻址语义。

  • 添加泛洪范围。

  • 支持每条链路多个实例。

  • 使用 IPv6 链路本地地址执行网络发现和其他功能。

  • 以前缀和前缀长度表示 LSA。

  • 添加两种 LSA 类型。

  • 处理未知 LSA 类型。

  • 使用 OSPFv3 路由协议流量的 IPsec ESP 标准支持身份验证,如 RFC-4552 所指定。

OSPF 准则

情景模式准则

OSPFv2 支持单情景模式和多情景模式。

  • 由于默认情况下不支持跨共享接口的情景间组播流量交换,因此 OSPFv2 实例不能跨共享接口相互建立邻接关系。但是,您可以使用 OSPFv2 进程下 OSPFv2 进程配置中的静态邻居配置,在共享接口上建立 OSPFv2 邻居关系。

  • 支持单独的接口上的情景间 OSPFv2。

OSPFv3 仅支持单情景模式。

密钥链身份验证准则

OSPFv2 同时在物理和虚拟模式下支持单一和多模式下的密钥链身份验证。但是,在多模式下,仅可在情景模式下配置密钥链。

  • 轮换密钥仅适用于 OSPFv2 协议。不支持密钥链的 OSPF 区域身份验证。

  • 但仍支持 OSPFv2 中无时间范围的现有 MD5 身份验证以及新的轮换密钥。

  • 尽管平台支持 SHA1 和 MD5 加密算法,但只有 MD5 加密算法会用于身份验证。

防火墙模式准则

OSPF 仅支持路由防火墙模式。OSPF 不支持透明防火墙模式。

故障转移 准则

OSPFv2 和 OSPFv3 支持状态 故障转移

IPv6 准则

  • OSPFv2 不支持 IPv6。

  • OSPFv3 支持 IPv6。

  • OSPFv3 使用 IPv6 进行身份验证。

  • ASA 将 OSPFv3 路由安装到 IPv6 RIB 中,前提是它是最佳路由。

  • 可以在 capture 命令中使用 IPv6 ACL 滤除 OSPFv3 数据包。

OSPFv3 Hello 数据包和 GRE

通常,OSPF流量不会通过 GRE 隧道。当 IPv6 上的 OSPFv3 封装在 GRE 内时,安全检查(例如组播目标)的 IPv6 报头验证失败。由于隐式安全检查验证,数据包被丢弃,因为此数据包具有目标 IPv6 组播。

您可以定义预过滤器规则来绕过 GRE 流量。但是,使用预过滤器规则,检测引擎不会询问内部数据包。

集群准则

  • 不支持 OSPFv3 加密。如果尝试在集群环境中配置 OSPFv3 加密,系统将显示错误消息。

  • 在跨接口模式下,仅管理接口上不支持动态路由。

  • 在单个接口模式下,确保已作为 OSPFv2 或 OSPFv3 邻居建立控制和数据单元。

  • 在单个接口模式下,只能在控制单元共享接口上的两个情景之间建立 OSPFv2 邻接。仅在点对点链路上支持配置静态邻居;因此,在接口上仅允许一个邻居声明。

  • 当集群中的控制角色发生变化时,会发生以下行为:

    • 在跨接口模式中,路由器进程仅在控制单元上处于活动状态,在数据单元上处于暂停状态。各集群设备具有同一路由器 ID,因为已从控制单元对配置进行同步。因此,在角色更改过程中,相邻路由器不会注意到集群的路由器 ID 发生的任何更改。

    • 在单个接口模式中,路由器进程在所有单个集群设备上都处于活动状态。各集群设备从已配置的集群池中选择其自己独特的路由器 ID。集群中的控制角色更改不会以任何方式更改路由拓扑。

多协议标签交换 (MPLS) 和 OSPF 准则

如果 MPLS 配置的路由器发送的链路状态 (LS) 更新数据包包含不透明 Type-10 链路状态通告 (LSA),而且其中包括 MPLS 报头,则身份验证会失败且设备会自动丢弃更新数据包,而不是确认它们。最终,对等路由器将终止邻居关系,因为它没有收到任何确认。

禁用 ASA 上的不透明功能,以确保邻居关系保持稳定:

router ospf process_ID_number
no nsf ietf helper
no capability opaque


Firepower 4100/9300 型号在使用 MPLS 时可能具有高延迟,因为它们缺乏跨多个接收队列的负载均衡。


双向和转发检测 (BFD)及 OSPF 准则

  • 您可以在 OSPFv2 和 OSPFv3 接口(物理接口、子接口和端口通道)上启用 BFD。

  • VTI 隧道、DVTI 隧道、环回接口、交换机端口、VNI、VTEP 和 IRB 接口不支持 BFD。

路由重分布准则

  • 支持在 OSPFv2 上重新分配带有 IPv4 前缀列表的路由映射。但是,不支持在 OSPFv3 上重新分配带有 IPv6 前缀列表的路由映射。 使用 OSPF 上的路由映射中的访问列表进行重新分发。

  • 在属于 EIGRP 网络的设备上配置 OSPF 时,请确保将 OSPF 路由器配置为标记路由(EIGRP 尚不支持路由标记)。

    将 OSPF 重新分发到 EIGRP 并将 EIGRP 重新分发到 OSPF 时,如果其中一个链路、接口中断,甚至当路由发起方关闭时,就会发生路由环路。为了防止将路由从一个域重新分发回同一域,路由器可以在重新分发时标记属于某个域的路由,并且可以根据相同的标记在远程路由器上过滤这些路由。由于这些路由不会安装到路由表中,因此它们不会重新分发到同一域中。

其他准则

  • OSPFv2 和 OSPFv3 在接口上支持多个实例。

  • OSPFv3 在非集群环境中通过 ESP 报头支持加密。

  • OSPFv3 支持非负载加密。

  • OSPFv2 根据 RFC 4811、4812 和 3623 定义分别支持思科 NSF 平稳重启和 IETF NSF 平稳重启机制。

  • OSPFv3 根据 RFC 5187 定义支持平稳重启机制。

  • 可分发的区域内(类型 1)路由数具有限制。对于这些路由,单一 1 类 LSA 包含所有前缀。由于系统的数据包大小限制为 35 KB,所以 3000 个路由会导致数据包超出该限制。考虑设置 2900 个 1 类路由作为支持的最大数量。

  • 要避免在路由更新大于链路上的最小 MTU 时丢弃由于路由更新而导致的邻接摆动,请确保在链路两端的接口上配置相同的 MTU。

  • 由于 Azure 云路由的性质,ASA Virtual 无法使用 EIGRP、OSPF 等动态内部路由协议。无论虚拟客户端是否配置了任何静态/动态路由,有效路由表都会确定下一跳。

    目前,您无法查看有效路由表或系统路由表。

  • 如果数据包大小超过 8190,OSPFv3 会放弃 LS 更新。因此,邻接关系将终止。因此,使用“ospfv3 mtu-ignore”命令来配置交换机,以避免邻接关系终止。

配置 OSPFv2

此部分介绍如何在 ASA 上启用 OSPFv2 进程。

启用 OSPFv2 后,您需要定义路由映射。有关详细信息,请参阅定义路由映射。然后,生成默认路由。有关详细信息,请参阅配置静态路由

为 OSPFv2 进程定义路由映射后,您可以根据特定需要对其进行自定义。要了解任何在 ASA 上自定义 OSPFv2 进程,请参阅自定义 OSPFv2.

要启用 OSPFv2,您需要创建 OSPFv2 路由进程,指定与该路由进程关联的 IP 地址的范围,然后指定与 IP 地址范围关联的区域 ID。

您最多可以启用两个 OSPFv2 进程实例。每个 OSPFv2 进程具有其自己的关联区域和网络。

要启用 OSPFv2,请执行以下步骤:

过程


步骤 1

创建 OSPF 路由进程:

router ospf process_id

示例:


ciscoasa(config)# router ospf 2

process_id 参数是此路由进程的内部使用的标识符,可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

如果仅在 ASA 上启用了一个 OSPF 进程,则默认情况下会选择该进程。编辑现有区域时,无法更改 OSPF 进程 ID。

步骤 2

定义 OSPF 运行所在的 IP 地址和该接口的区域 ID:

network ip_address mask area area_id

示例:


ciscoasa(config)# router ospf 2
ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0

添加新区域时,输入区域 ID。您可以将区域 ID 指定为十进制数字或 IP 地址。有效十进制值范围为 0 到 4294967295。编辑现有区域时,无法更改区域 ID。

步骤 3

要在所有 OSPFv2 接口上启用 BFD,请执行以下操作:

bfd all-interfaces

示例:


ciscoasa(config)# router ospf 2
ciscoasa(config-rtr)# bfd all-interfaces

步骤 4

要在支持 OSPFv2 的特定接口上启用 BFD,请执行以下操作:

bfd interface interface

示例:


ciscoasa(config)# router ospf 2
ciscoasa(config-rtr)# bfd interface inside

配置身份验证所用的密钥链

为了增强设备的数据安全和防护,你可以启用 IGP 对等体进行身份验证的轮换密钥。轮换密钥可阻止任何恶意用户猜测用于路由协议身份验证的密钥,从而保护网络,避免通告错误的路由和重定向流量。频繁更改密钥可降低密钥最终被猜到的风险。在配置提供密钥链的路由协议的身份验证时,请为密钥链中的密钥配置重叠的生存期。这有助于防止由于缺少活动密钥而丢失受密钥保护的通信。如果密钥生存期到期且未找到活动密钥,则 OSPF 会使用最后一个有效密钥来维持对等体之间的邻接关系。

本节介绍如何为 OSPF 对等体身份验证创建密钥链。配置密钥链对象后,您可以将其用于定义接口和虚拟链路的 OSPFv2 身份验证。为对等体使用相同的身份验证类型(MD5 或密钥链)和密钥 ID,以建立成功的邻接关系。要了解如何为接口定义身份验证,请参阅 配置 OSPFv2 接口参数

要配置密钥链,请执行以下步骤:

过程


步骤 1

使用名称配置密钥链:

key chainkey-chain-name

示例:


ciscoasa(config)# key chain CHAIN1
ciscoasa(config-keychain)# 

您现在可以继续定义密钥链的关联参数。

步骤 2

配置密钥链的标识符:

keykey-id

密钥 ID 值可介于 0 到 255 之间。仅在表明无效密钥时使用值 0。

示例:


ciscoasa(config-keychain)# key 1 
ciscoasa(config-keychain-key)#  

步骤 3

配置密钥链的密钥或密码:

key-string [0 | 8 ] key-string-text

  • 如示例所示,使用 0 表示未加密的密码。

  • 使用 8 表示要遵循的加密密码。

  • 密码的最大长度可为 80 个字符。

  • 密码不能为单个数字或以数字加空格开头。例如,“0 pass”或“1”为无效密码。

示例:


ciscoasa(config-keychain-key)# key-string 0 CHAIN1KEY1STRING
ciscoasa(config-keychain-key)#  

步骤 4

配置密钥链的加密算法:

cryptographic-algorithmmd5

您需要提供加密身份验证算法。虽然平台支持 SHA1 和 MD5,但只有 MD5 支持密钥链管理。

示例:


ciscoasa(config-keychain-key)# cryptographic-algorithm md5 
ciscoasa(config-keychain-key)# 

步骤 5

(可选)配置密钥链的生命周期设置:

accept-lifetime [local | start-time] [ duration duration value | infinite | end-time ]

send-lifetime [ocal | start-time] [ duration duration value | infinite | end-time ]

您可以指定设备在与其他设备交换密钥期间接受/发送密钥的时间间隔。结束时间可为持续时间或绝对时间,即接受/发送生命周期结束时的绝对时间,也可以是永不到期。

以下为开始值和结束值的验证规则:

  • 在指定了结束生存期时,开始生存期不可为空值。

  • 接受或发送生存期的开始生存期必须早于结束生存期。

示例:


ciscoasa(config-keychain-key)# accept-lifetime 11:22:33 1 SEP 2018 infinite 
ciscoasa(config-keychain-key)# 

您可以使用 show key chain 命令查看设备上的启动密钥链配置;show run key chain 命令用于查看当前在设备上运行的密钥链配置。

ciscoasa# show key chain 
Key-chain CHAIN2:
    key 1 -- text "KEY1CHAIN2"
        accept lifetime (always valid) - (always valid) [valid now]
        send lifetime (always valid) - (always valid) [valid now]
  * key 2 -- text "(unset)"
        accept lifetime (11:00:12 UTC Sep 1 2018) - (11:12:12 UTC Sep 1 2018)
        send lifetime (always valid) - (always valid) [valid now]
Key-chain CHAIN1:
    key 1 -- text "CHAIN1KEY1STRING"
        accept lifetime (11:22:33 UTC Sep 1 2018) - (-1 seconds)
        send lifetime (always valid) - (always valid) [valid now]
ciscoasa#  

ciscoasa# sh run key chain 
key chain CHAIN2
 key 1
  key-string KEY1CHAIN2
  cryptographic-algorithm md5
 key 2
  accept-lifetime 11:00:12 Sep 1 2018 11:12:12 Sep 1 2018
  cryptographic-algorithm md5
key chain CHAIN1
 key 1
  key-string CHAIN1KEY1STRING
  accept-lifetime 11:22:33 Sep 1 2018 duration -1
  cryptographic-algorithm md5
ciscoasa# sh run key chain CHAIN1
key chain CHAIN1
 key 1
  key-string CHAIN1KEY1STRING
  accept-lifetime 11:22:33 Sep 1 2018 duration -1
  cryptographic-algorithm md5
ciscoasa#  

下一步做什么

现在,您可以应用配置的密钥链来定义接口的 OSPFv2 身份验证。

配置 OSPFv2 路由器 ID

OSPF Router-ID 用于标识 OSPF 数据库中的特定设备。在 OSPF 系统中,任何两个路由器都不能具有相同的 router-id。

如果未在 OSPF 路由进程中手动配置 router-id,路由器将自动配置从主用接口中的最高 IP 地址确定的 router-id。在配置 router-id 时,将不会自动更新邻居,直至路由器出现故障或 OSPF 进程已被清除并且已重新建立邻居关系。

手动配置 OSPF 路由器 ID

本节介绍如何在 ASA 上手动配置 OSPFv2 进程中的 router-id。

过程


步骤 1

要使用固定路由器 ID,请使用 router-id 命令。

router-id ip-address

示例:


ciscoasa(config-router)# router-id 193.168.3.3

步骤 2

要恢复到以前的 OSPF 路由器 ID 行为,请使用 no router-id 命令。

no router-id ip-address

示例:


ciscoasa(config-router)# no router-id 193.168.3.3


迁移时的路由器 ID 行为

在从一个 ASA(譬如 ASA 1)向另一个 ASA(譬如 ASA 2)迁移开放式最短路径优先配置(OSPF 配置)时,可以观察到以下路由器 id 选择行为:

  1. 当所有接口都处于关闭模式时,ASA 2 不将任何 IP 地址用于 OSPF router-id。当所有接口都处于“管理关闭”状态或关闭模式时,配置 router-id 可能出现的情况如下:

    • 如果 ASA 2 之前没有配置任何 router-id,您将看到以下消息:

      %OSPF:路由器进程 1 未在运行,请配置一个 router-id

      在第一个接口启用后,ASA 2 会将此接口的 IP 地址作为路由器 id。

    • 如果 ASA 2 之前已配置 router-id,并且所有接口在发出“no router-id”命令时都处于“管理关闭”状态,那么 ASA 2 将使用旧的路由器 id。即使启用的接口上的 IP 地址发生了更改,ASA 2 仍会使用旧的路由器 id,直至发出“clear ospf process”命令为止。

  2. 如果 ASA 2 之前已配置 router-id,并且在发出“no router-id”命令时至少有一个接口未处于“管理关闭”状态或关闭模式,则 ASA 2 将使用新的路由器 id。即使接口处于“关闭/关闭”状态,ASA 2 也会使用这些接口的 IP 地址作为新的路由器 id。

配置 OSPF 快速呼叫数据包

本节介绍如何配置 OSPF 快速呼叫数据包。

过程


步骤 1

配置接口:

interface port-channel number

示例:


ciscoasa(config)# interface port-channel 10

number 参数表示端口通道接口号。

步骤 2

设置在其期间必须接收至少一个呼叫数据包,否则会将邻居视为关闭的间隔:

ospf dead-interval minimal hello-multiplier no.of times

示例:


ciscoasa(config-if)# ospf dead-interval minimal hell0-multiplier 5
ciscoasa

no. of times 参数表示每秒要发送的呼叫数据包的数量。有效值介于 3 和 20 之间。

在本示例中,通过指定 minimal 关键字以及 hello-multiplier 关键字和值启用了 OSPF 支持快速呼叫数据包功能。由于乘数设置为 5,因此每秒将发送五个呼叫数据包。


自定义 OSPFv2

本节介绍如何自定义 OSPFv2 进程。

将路由重新分发到 OSPFv2 中

ASA 可以控制路由在 OSPFv2 路由进程之间的重新分发。



如果要通过定义允许将来自指定路由协议的哪些路由重新分发到目标路由进程中来重新分发路由,必须先生成默认路由。请参阅配置静态路由,然后根据定义路由映射定义路由映射。


要将静态路由、已连接路由、RIP 路由或 OSPFv2 路由重新分发到 OSPFv2 进程中,请执行以下步骤:

过程


步骤 1

创建 OSPF 路由进程:

router ospf process_id

示例:


ciscoasa(config)# router ospf 2

process_id 参数是此路由进程的内部使用的标识符,可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

将已连接路由重新分发到 OSPF 路由进程中:

redistribute connected [[metric metric-value] [metric-type {type-1type-2}] [tag tag_value] [subnets] [route-map map_name]

示例:


ciscoasa(config)# redistribute connected 5 type-1 route-map-practice

步骤 3

将静态路由重新分发到 OSPF 路由进程中:

redistribute static [subnets] [route-map map_name]

示例:


ciscoasa(config)# redistribute static subnets

此命令会将所有静态路由传递到 OSPF。要重新分配选择性静态路由,请确保使用静态路由创建访问列表,然后将其包含在路由映射表中:

示例:


ciscoasa(config)# ip access-list extended R1_Loopback
ciscoasa(config-ext-nacl)#permit ip host 1.1.1.1 any
ciscoasa(config-ext-nacl)#exit

ciscoasa(config)#route-map Permit_to_Distribute
ciscoasa(config-route-map)#match ip address R1_Loopback
ciscoasa(config-route-map)#exit

在创建路由映射后,将其包含在 redistribute 命令中,如下所示:

示例:


ciscoasa(config)#router ospf 2
ciscoasa(config-router)#redistribute static subnets route-map Permit_to_Distribute

步骤 4

将路由从一个 OSPF 路由进程重新分发到另一个 OSPF 路由进程中:

redistribute ospf pid [match {internal | external [1 | 2] | nssa-external [1 | 2]}] [metric metric-value] [metric-type {type-1type-2}] [tag tag_value] [subnets] [route-map map_name]

示例:


ciscoasa(config)# route-map 1-to-2 permit
ciscoasa(config-route-map)# match metric 1
ciscoasa(config-route-map)# set metric 5
ciscoasa(config-route-map)# set metric-type type-1
ciscoasa(config-route-map)# router ospf 2
ciscoasa(config-rtr)# redistribute ospf 1 route-map 1-to-2

您可以在此命令中使用 match 选项来匹配和设置路由属性,也可以使用路由映射。subnets 选项在 route-map 命令中没有等效项。如果在 redistribute 命令中同时使用路由映射和 match 选项,则其必须匹配。

示例通过将路由与等于 1 的指标相匹配来显示从 OSPF 进程 1 到 OSPF 进程 2 中的路由重新分发。ASA 将这些路由作为外部接口重新进行分发,其中指标为 5,指标类型为类型 1。

步骤 5

将路由从一个 RIP 路由进程重新分发到另一个 OSPF 路由进程中:

redistribute rip [metric metric-value] [metric-type {type-1type-2}] [tag tag_value] [subnets] [route-map map_name]

示例:


ciscoasa(config)# redistribute rip 5
ciscoasa(config-route-map)# match metric 1
ciscoasa(config-route-map)# set metric 5
ciscoasa(config-route-map)# set metric-type type-1
ciscoasa(config-rtr)# redistribute ospf 1 route-map 1-to-2

步骤 6

将路由从一个 EIGRP 路由进程重新分发到另一个 OSPF 路由进程中:

redistribute eigrp as-num [metric metric-value] [metric-type {type-1type-2}] [tag tag_value] [subnets] [route-map map_name]

示例:


ciscoasa(config)# redistribute eigrp 2
ciscoasa(config-route-map)# match metric 1
ciscoasa(config-route-map)# set metric 5
ciscoasa(config-route-map)# set metric-type type-1
ciscoasa(config-rtr)# redistribute ospf 1 route-map 1-to-2


配置将路由重新分发到 OSPFv2 时的路由汇总

将来自其他协议的路由重新分发到 OSPF 中时,将在外部 LSA 中单独通告每个路由。不过,可以将 ASA 配置为对于指定网络地址和掩码包含的所有重新分发路由通告单一路由。此配置可减小 OSPF 链路状态数据库的大小。

可以抑制与指定 IP 地址/掩码对相匹配的路由。标签值可用作用于通过路由映射控制重新分发的值。

添加路由汇总地址

要在一个汇总路由上配置适用于为网络地址和掩码包含的所有重新分发的路由的软件通告,请执行以下步骤:

过程

步骤 1

创建 OSPF 路由进程:

router ospf process_id

示例:

ciscoasa(config)# router ospf 1

process_id 参数是此路由进程的内部使用的标识符,可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

设置汇总地址:

summary-address ip_address mask [not-advertise] [tag tag]

示例:

ciscoasa(config)# router ospf 1
ciscoasa(config-rtr)# summary-address 10.1.0.0 255.255.0.0

在本示例中,汇总地址 10.1.0.0 包含地址 10.1.1.0、10.1.2.0、10.1.3.0,依此类推。在外部链路状态通告中仅通告地址 10.1.0.0。


配置 OSPFv2 区域之间的路由汇总

路由汇总是通告地址的整合。此功能导致通过区域边界路由器向其他区域通告单个汇总路由。在 OSPF 中,区域边界路由器将一个区域中的网络通告到另一个区域中。如果以某种方式分配区域中的网络号来使其连续,则可以将区域边界配置为通告汇总路由,包括该区域内属于指定范围的所有单独网络。

要定义汇总路由的地址范围,请执行以下步骤:

过程


步骤 1

创建 OSPF 路由进程并进入此 OSPF 进程的路由器配置模式:

router ospf process_id

示例:


ciscoasa(config)# router ospf 1

process_id 参数是此路由进程的内部使用的标识符。它可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

设置地址范围:

area area-id range ip-address mask [advertise | not-advertise]

示例:


ciscoasa(config-rtr)# area 17 range 12.1.0.0 255.255.0.0

在本示例中,地址范围设置在 OSPF 区域之间。


配置 OSPFv2 接口参数

如有必要,您可以更改某些特定于接口的 OSPFv2 参数。无需更改其中任何参数,但是以下接口参数在连接的网络中的所有路由器之间必须一致:ospf hello-intervalospf dead-intervalospf authentication-key。如果配置其中任何参数,请确保网络上所有路由器的配置都具有兼容值。

要配置 OSPFv2 接口参数,请执行以下步骤:

过程


步骤 1

创建 OSPF 路由进程:

router ospfprocess-id

示例:


ciscoasa(config)# router ospf 2

process_id 参数是内部针对此路由进程使用的标识符,可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

定义 OSPF 运行所在的 IP 地址和该接口的区域 ID:

networkip-address maskareaarea-id

示例:


ciscoasa(config)# router ospf 2
ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0

步骤 3

进入接口配置模式:

interfaceinterface-name

示例:


ciscoasa(config)# interface my_interface

步骤 4

要在此接口上启用 bfd,请执行以下操作:

ospf bfd

示例:


ciscoasa(config-interface)# ospf bfd

步骤 5

指定接口的身份验证类型:

ospf authentication [key-chain key-chain-name | message-digest | null]

提供配置的密钥链名称。有关配置密钥链的信息,请参阅 配置身份验证所用的密钥链

示例:


ciscoasa(config-interface)# ospf authentication message-digest

步骤 6

分配要供相邻 OSPF 路由器在使用 OSPF 简单密码身份验证的网段上使用的密码:

ospf authentication-key密钥

示例:


ciscoasa(config-interface)# ospf authentication-key cisco

key 参数可以是长度最多为 8 字节的任何连续字符串。

当 ASA 软件发出路由协议数据包时,此命令创建的密码用作直接插入到 OSPF 标头中的密钥。可以为每个接口的每个网络指定单独的密码。同一网络上的所有相邻路由器都必须具有同一密码才能交换 OSPF 信息。

步骤 7

明确指定在 OSPF 接口上发送数据包的开销:

ospf cost成本

示例:


ciscoasa(config-interface)# ospf cost 20

cost 是从 1 至 65535 的整数。

在本示例中,cost 设置为 20。

步骤 8

设置设备在因未接收到呼叫数据包而声明邻居 OSPF 路由器关闭之前必须等待的秒数:

ospf dead-interval

示例:


ciscoasa(config-interface)# ospf dead-interval 40

该值必须对于网络上的所有节点都相同。

步骤 9

指定 ASA 在 OSPF 接口上发送呼叫数据包间隔的时间长度:

ospf hello-interval

示例:


ciscoasa(config-interface)# ospf hello-interval 10

该值必须对于网络上的所有节点都相同。

步骤 10

启用 OSPF MD5 身份验证:

ospf message-digest-keykey-idmd5key

示例:


ciscoasa(config-interface)# ospf message-digest-key 1 md5 cisco

可以设置以下参数值:

key_id - 范围在 1 至 255 内的标识符。

key - 最多为 16 字节的字母数字密码。

通常,每个接口使用一个密钥在发送数据包时生成身份验证信息并对传入数据包进行身份验证。邻居路由器上的同一密钥标识符必须具有相同密钥值。

建议不要每个接口保留多个密钥。每次添加新密钥时,应删除旧密钥以防止本地系统继续与知道旧密钥的恶意系统进行通信。删除旧密钥还会减少滚动更新期间的开销。

步骤 11

设置优先级以帮助确定网络的 OSPF 指定的路由器:

ospf priority number-value

示例:


ciscoasa(config-interface)# ospf priority 20

number_value 参数范围为 0 至 255。

在多情景模式下,对于共享接口,请指定 0 以确保设备不会成为指定路由器。OSPFv2 实例无法跨共享接口相互建立邻接关系。

步骤 12

指定属于 OSPF 接口的邻接的 LSA 重新传输间隔秒数:

ospf retransmit-intervalnumber-value

示例:


ciscoasa(config-interface)# ospf retransmit-interval seconds

seconds 的值必须大于连接的网络上任意两个路由器之间的预期往返延迟。范围是从 1 到 8192 秒。默认值为 5 秒。

步骤 13

设置在 OSPF 接口上发送链路状态更新数据包所需的估计秒数。

ospf transmit-delay

示例:


ciscoasa(config-interface)# ospf transmit-delay 5

seconds 值的范围为 1 至 8192 秒。默认值为 1 秒。

步骤 14

设置在 1 秒内发送的呼叫数据包的数量。

ospf dead-interval minimal hello-interval multiplier整数

示例:


ciscoasa(config-if)# ospf dead-interval minimal hello-multiplier 6

有效值是介于 3 和 20 之间的整数。

步骤 15

将接口指定为点对点非广播网络:

ospf network point-to-point non-broadcast

示例:


ciscoasa(config-interface)# ospf network point-to-point non-broadcast

将接口指定为点对点和非广播时,您必须手动定义 OSPF 邻居;无法实现动态邻居发现。有关详情,请参见定义静态 OSPFv2 邻居。此外,您只能在该接口上定义一个 OSPF 邻居。


配置 OSPFv2 区域参数

您可以配置多个 OSPF 区域参数。这些区域参数(显示在以下任务列表中)包括设置身份验证、定义末节区域以及向默认汇总路由分配特定开销。身份验证提供基于密码的区域非授权访问防御。

末节区域是有关外部路由的信息未发送到的区域。相反,ABR 生成了到自治系统外部目标的末节区域中的默认外部路由。要利用 OSPF 末节区域支持,必须在末节区域中使用默认路由。要进一步减少发送到末节区域中的 LSA 数量,您可以在 ABR 上使用 area stub 命令的 no-summary 关键字,以防止其将汇总链路通告(3 类 LSA)发送到该末节区域中。

过程


步骤 1

创建 OSPF 路由进程:

router ospf process_id

示例:


ciscoasa(config)# router ospf 2

process_id 参数是此路由进程的内部使用的标识符,可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

为 OSPF 区域启用身份验证:

area area-id authentication

示例:


ciscoasa(config-rtr)# area 0 authentication

步骤 3

为 OSPF 区域启用 MD5 身份验证:

area area-id authentication message-digest

示例:


ciscoasa(config-rtr)# area 0 authentication message-digest


配置 OSPFv2 过滤器规则

使用以下程序可过滤 OSPF 更新中接收或传输的路由或网络。

过程


步骤 1

启用 OSPF 路由进程并进入路由器配置模式:

router ospf process_id

示例:


ciscoasa(config)# router ospf 2

步骤 2

过滤传入 OSPF 更新中收到或传出 OSPF 更新中通告的路由或网络:

distribute-list acl-number in [interface ifname]

distribute-list acl-number out [protocol process-number | connected | static]

参数 acl-number 指定 IP 访问列表号。此访问列表定义要在路由更新中接收的网络和要抑制的网络。

要将过滤器应用于传入更新,请指定 in 。您可以选择性地指定某个接口来限制用于该接口上收到的更新的过滤器。

To apply the filter to outbound updates, specify out 。您可以通过进程号(不包括 RIP)选择性地指定一个协议(bgp eigrp ospf rip )以应用到分发列表。您还可以根据对等体和网络是通过 connected 还是 static 路由获知的进行过滤。

示例:


ciscoasa(config-rtr)# distribute-list ExampleAcl in interface inside


配置 OSPFv2 NSSA

NSSA 的 OSPFv2 实施类似于 OSPFv2 末节区域。NSSA 不会将 5 类外部 LSA 从核心泛洪至该区域中,但是可在区域内以有限的方法导入自治系统外部路由。

NSSA 通过重新分发在 NSSA 区域内导入 7 类自治系统外部路由。这些 7 类 LSA 由 NSSA ABR 转换为在整个路由域中泛洪的 5 类 LSA。在转换过程中支持汇总和筛选。

如果您是必须将使用 OSPFv2 的中心站点连接到对 NSSA 使用其他路由协议的远程站点的 ISP 或网络管理员,则可以简化管理。

在 NSSA 实施前,企业站点边界路由器和远程路由器之间的连接不能作为 OSPFv2 末节区域运行,因为远程站点的路由无法重新分发到末节区域中,并且需要保持两种路由协议。通常会运行简单协议(例如 RIP)并使用其处理重新分发。在使用 NSSA 的情况下,您可以通过将企业路由器和远程路由器之间的区域定义为 NSSA 来将 OSPFv2 扩展至覆盖远程连接。

使用此功能之前,请遵循以下准则:

  • 您可以设置用于到达外部目标的 7 类默认路由。配置时,路由器会生成到 NSSA 或 NSSA 区域边界路由器中的 7 类默认路由。

  • 同一区域内的每个路由器都必须同意区域为 NSSA;否则,路由器无法相互通信。

过程


步骤 1

创建 OSPF 路由进程:

router ospf process_id

示例:


ciscoasa(config)# router ospf 2

process_id 参数是此路由进程的内部使用的标识符。它可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

定义 NSSA 区域:

area area-id nssa [no-redistribution] [default-information-originate]

示例:


ciscoasa(config-rtr)# area 0 nssa

步骤 3

设置汇总地址并帮助减小路由表的大小:

summary-address ip_address mask [not-advertise] [tag tag]

示例:


ciscoasa(config-rtr)# summary-address 10.1.0.0 255.255.0.0

对 OSPF 使用此命令会导致 OSPF ASBR 将一个外部路由通告为该地址覆盖的所有重新分发的路由的聚合。

在本示例中,汇总地址 10.1.0.0 包含地址 10.1.1.0、10.1.2.0、10.1.3.0,依此类推。在外部链路状态通告中仅通告地址 10.1.0.0。

 

OSPF 不支持汇总地址 0.0.0.0 0.0.0.0。


为集群配置 IP 地址池(OSPFv2 和 OSPFv3)

如果使用的是单个接口集群,则可以为路由器 ID 集群池分配 IPv4 地址范围。

要为 OSPFv2 和 OSPFv3 的单个接口集群中的路由器 ID 集群池分配 IPv4 地址范围,请输入以下命令:

过程


指定单个接口集群的路由器 ID 集群池:

router-id cluster-pool hostname | A.B.C.D ip_pool

示例:


hostname(config)# ip local pool rpool 1.1.1.1-1.1.1.4
hostname(config)# router ospf 1
hostname(config-rtr)# router-id cluster-pool rpool
hostname(config-rtr)# network 17.5.0.0 255.255.0.0 area 1
hostname(config-rtr)# log-adj-changes

在配置了单个接口集群时,cluster-pool 关键字会启用 IP 地址池的配置。hostname | A.B.C.D. 关键字指定此 OSPF 进程的 OSPF 路由器 ID。ip_pool 参数指定 IP 地址池的名称。

 

如果使用的是集群,则无需指定路由器 ID 的 IP 地址池。如果不配置 IP 地址池,则 ASA 使用自动生成的路由器 ID。


定义静态 OSPFv2 邻居

您需要定义静态 OSPFv2 邻居来通过点对点非广播网络通告 OSPFv2 路由。通过此功能,您可以跨现有 VPN 连接广播 OSPFv2 通告,而不必将通告封装在 GRE 隧道中。

开始之前,必须创建到 OSPFv2 邻居的静态路由。有关创建静态路由的详细信息,请参阅配置静态路由

过程


步骤 1

创建 OSPFv2 路由进程:

router ospf process_id

示例:


ciscoasa(config)# router ospf 2

process_id 参数是此路由进程的内部使用的标识符,可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

定义 OSPFv2 邻近区域:

neighbor addr [interface if_name]

示例:


ciscoasa(config-rtr)# neighbor 255.255.0.0 [interface my_interface]

addr 参数是 OSPFv2 邻居的 IP 地址。if_name 参数是用于与邻居进行通信的接口。如果 OSPFv2 邻居与任何直接连接的接口不在同一网络上,则必须指定接口。


配置路由计算计时器

您可以配置 OSPFv2 接收拓扑更改时与其启动 SPF 计算时之间的延迟时间。您还可以配置两次连续 SPF 计算之间的保持时间。

过程


步骤 1

创建 OSPFv2 路由进程:

router ospf process_id

示例:


ciscoasa(config)# router ospf 2

process_id 参数是此路由进程的内部使用的标识符,可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

配置路由计算时间:

timers throttle spf spf-start spf-hold spf-maximum

示例:


ciscoasa(config-router)# timers throttle spf 500 500 600

spf-start 参数是 OSPF 接收拓扑更改时和其启动 SPF 计算时之间的延迟时间(以毫秒为单位)。它可以是介于 0 和 600000 之间的整数。

spf-hold 参数是两次连续 SPF 计算间隔的最短时间(以毫秒为单位)。它可以是介于 0 和 600000 之间的整数。

spf-maximum 参数是两次连续 SPF 计算间隔的最长时间(以毫秒为单位)。它可以是 0 到 600000 之间的整数。


记录邻居启动或关闭

默认情况下,在 OSPFv2 邻居启动或关闭时会生成系统日志消息。

如果要在不开启 debug ospf adjacency 命令的情况下了解 OSPFv2 邻居是启动还是关闭,请配置 log-adj-changes 命令。log-adj-changes 命令使用更少的输出提供对等关系的高级视图。如果要查看各状态更改的消息,请配置 log-adj-changes detail 命令。

过程


步骤 1

创建 OSPFv2 路由进程:

router ospf process_id

示例:


ciscoasa(config)# router ospf 2

process_id 参数是此路由进程的内部使用的标识符,可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

为启动或关闭的邻居配置日志记录:

log-adj-changes [detail]


配置身份验证所用的密钥链

为了增强设备的数据安全和防护,你可以启用 IGP 对等体进行身份验证的轮换密钥。轮换密钥可阻止任何恶意用户猜测用于路由协议身份验证的密钥,从而保护网络,避免通告错误的路由和重定向流量。频繁更改密钥可降低密钥最终被猜到的风险。在配置提供密钥链的路由协议的身份验证时,请为密钥链中的密钥配置重叠的生存期。这有助于防止由于缺少活动密钥而丢失受密钥保护的通信。如果密钥生存期到期且未找到活动密钥,则 OSPF 会使用最后一个有效密钥来维持对等体之间的邻接关系。

本节介绍如何为 OSPF 对等体身份验证创建密钥链。配置密钥链对象后,您可以将其用于定义接口和虚拟链路的 OSPFv2 身份验证。为对等体使用相同的身份验证类型(MD5 或密钥链)和密钥 ID,以建立成功的邻接关系。要了解如何为接口定义身份验证,请参阅 配置 OSPFv2 接口参数

要配置密钥链,请执行以下步骤:

过程


步骤 1

使用名称配置密钥链:

key chainkey-chain-name

示例:


ciscoasa(config)# key chain CHAIN1
ciscoasa(config-keychain)# 

您现在可以继续定义密钥链的关联参数。

步骤 2

配置密钥链的标识符:

keykey-id

密钥 ID 值可介于 0 到 255 之间。仅在表明无效密钥时使用值 0。

示例:


ciscoasa(config-keychain)# key 1 
ciscoasa(config-keychain-key)#  

步骤 3

配置密钥链的密钥或密码:

key-string [0 | 8 ] key-string-text

  • 如示例所示,使用 0 表示未加密的密码。

  • 使用 8 表示要遵循的加密密码。

  • 密码的最大长度可为 80 个字符。

  • 密码不能为单个数字或以数字加空格开头。例如,“0 pass”或“1”为无效密码。

示例:


ciscoasa(config-keychain-key)# key-string 0 CHAIN1KEY1STRING
ciscoasa(config-keychain-key)#  

步骤 4

配置密钥链的加密算法:

cryptographic-algorithmmd5

您需要提供加密身份验证算法。虽然平台支持 SHA1 和 MD5,但只有 MD5 支持密钥链管理。

示例:


ciscoasa(config-keychain-key)# cryptographic-algorithm md5 
ciscoasa(config-keychain-key)# 

步骤 5

(可选)配置密钥链的生命周期设置:

accept-lifetime [local | start-time] [ duration duration value | infinite | end-time ]

send-lifetime [ocal | start-time] [ duration duration value | infinite | end-time ]

您可以指定设备在与其他设备交换密钥期间接受/发送密钥的时间间隔。结束时间可为持续时间或绝对时间,即接受/发送生命周期结束时的绝对时间,也可以是永不到期。

以下为开始值和结束值的验证规则:

  • 在指定了结束生存期时,开始生存期不可为空值。

  • 接受或发送生存期的开始生存期必须早于结束生存期。

示例:


ciscoasa(config-keychain-key)# accept-lifetime 11:22:33 1 SEP 2018 infinite 
ciscoasa(config-keychain-key)# 

您可以使用 show key chain 命令查看设备上的启动密钥链配置;show run key chain 命令用于查看当前在设备上运行的密钥链配置。

ciscoasa# show key chain 
Key-chain CHAIN2:
    key 1 -- text "KEY1CHAIN2"
        accept lifetime (always valid) - (always valid) [valid now]
        send lifetime (always valid) - (always valid) [valid now]
  * key 2 -- text "(unset)"
        accept lifetime (11:00:12 UTC Sep 1 2018) - (11:12:12 UTC Sep 1 2018)
        send lifetime (always valid) - (always valid) [valid now]
Key-chain CHAIN1:
    key 1 -- text "CHAIN1KEY1STRING"
        accept lifetime (11:22:33 UTC Sep 1 2018) - (-1 seconds)
        send lifetime (always valid) - (always valid) [valid now]
ciscoasa#  

ciscoasa# sh run key chain 
key chain CHAIN2
 key 1
  key-string KEY1CHAIN2
  cryptographic-algorithm md5
 key 2
  accept-lifetime 11:00:12 Sep 1 2018 11:12:12 Sep 1 2018
  cryptographic-algorithm md5
key chain CHAIN1
 key 1
  key-string CHAIN1KEY1STRING
  accept-lifetime 11:22:33 Sep 1 2018 duration -1
  cryptographic-algorithm md5
ciscoasa# sh run key chain CHAIN1
key chain CHAIN1
 key 1
  key-string CHAIN1KEY1STRING
  accept-lifetime 11:22:33 Sep 1 2018 duration -1
  cryptographic-algorithm md5
ciscoasa#  

下一步做什么

现在,您可以应用配置的密钥链来定义接口的 OSPFv2 身份验证。

配置 OSPFv3

本节介绍配置 OSPFv3 路由进程所涉及的任务。

启用 OSPFv3

要启用 OSPFv3,您需要创建 OSPFv3 路由进程,创建 OSPFv3 的区域,启用 OSPFv3 的接口,然后将路由重新分发到目标 OSPFv3 路由进程中。

过程


步骤 1

创建 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config)# ipv6 router ospf 10

process_id 参数是此路由进程的内部使用的标签,可以是任何正整数。此标签不必与任何其他设备上的标签匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

启用接口:

interface interface_name

示例:


ciscoasa(config)# interface Gigabitethernet0/0

步骤 3

创建具有指定进程 ID 的 OSPFv3 路由进程和具有指定区域 ID 的 OSPFv3 区域。

ipv6 ospf process-id area area_id

示例:


ciscoasa(config)# ipv6 ospf 200 area 100


配置 OSPFv3 接口参数

如有必要,您可以更改某些特定于接口的 OSPFv3 参数。无需更改其中任何参数,但是以下接口参数在连接的网络中的所有路由器之间必须一致:hello-interval 和 dead-interval。如果配置其中任何参数,请确保网络上所有路由器的配置都具有兼容值。

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config-if)# ipv6 router ospf 10


process_id 参数是此路由进程的内部使用的标签,可以是任何正整数。此标签不必与任何其他设备上的标签匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

要在此接口上启用 bfd,请执行以下操作:

ipv6 ospf bfd

示例:


ciscoasa(config-if)# ipv6 ospf bfd


步骤 3

创建 OSPFv3 区域:

ipv6 ospf area [area-num] [instance]

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200

area-num 参数是要为其启用身份验证的区域,可以是十进制值或 IP 地址。instance 关键字指定要分配给接口的区域实例 ID。接口只能有一个 OSPFv3 区域。您可以在多个接口上使用同一区域,并且每个接口可以使用不同的区域实例 ID。

步骤 4

指定在 OSPF 接口上发送数据包的开销:

ipv6 ospf cost interface-cost

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200

interface-cost 参数指定表示为链路状态指标的无符号整数值,其值的范围可以为 1 至 65535。默认开销基于带宽。

步骤 5

筛选到 OSPFv3 接口的传出 LSA:

ipv6 ospf database-filter all out

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf database-filter all out

默认情况下,所有传出 LSA 都泛洪至该接口。

步骤 6

设置在邻居表明路由器关闭之前不得查看呼叫数据包的时间段(以秒为单位):

ipv6 ospf dead-interval seconds

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf dead-interval 60

该值必须对于同一网络上的所有节点都相同,并且范围可以是 1 至 65535。默认值是 ipv6 ospf hello-interval 命令设置的间隔的四倍。

步骤 7

指定接口的加密类型:

ipv6 ospf encryption {ipsec spi spi esp encryption-algorithm [[key-encryption-type] key] authentication-algorithm [[key-encryption-type] key | null}

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf encryption ipsec spi 1001 esp null sha1 123456789A123456789B123456789C123456789D

ipsec 关键字指定 IP 安全协议。spi spi 关键字参数对指定安全策略索引,它必须在范围 256 至 42949667295 内并以十进制形式输入。

esp 关键字指定封装安全负载。encryption-algorithm 算法参数指定要与 ESP 配合使用的加密算法。有效值包括:

  • aes-cdc - 启用 AES-CDC 加密。

  • 3des - 启用 3DES 加密。

  • des - 启用 DES 加密。

  • null - 指定不带加密的 ESP。

key-encryption-type 参数可以是以下两个值之一:

  • 0 - 密钥未加密。

  • 7 - 密钥已加密。

key 参数指定消息摘要计算中使用的数字。该数字长度为 32 个十六进制数字(16 字节)。密钥的大小取决于使用的加密算法。通过某些协议(例如 AES-CDC)可以选择密钥的大小。authentication-algorithm 参数指定要使用的加密身份验证算法,可以是以下之一:
  • md5 - 启用消息摘要 5 (MD5)。

  • sha1 - 启用 SHA-1。

null 关键字覆盖区域加密。

如果在接口上启用了 OSPFv3 加密且邻居位于其他区域(例如,区域 0)上,并且您希望 ASA 与该区域形成邻接,则必须更改 ASA 上的区域。将 ASA 上的区域更改为 0 之后,在 OSPFv3 邻接形成之前有一个两分钟的延迟。

步骤 8

指定减少到接口的 LSA 泛洪:

ipv6 ospf flood-reduction

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf flood reduction

步骤 9

指定接口上发送的呼叫数据包之间的间隔(以秒为单位):

ipv6 ospf hello-interval seconds

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf hello-interval 15

该值必须对于特定网络上的所有节点都相同,并且范围可以是 1 至 65535。默认间隔对于以太网接口为 10 秒,对于非广播接口为 30 秒。

步骤 10

接收到 DBD 数据包后,禁用 OSPF MTU 不匹配检测:

ipv6 ospf mtu-ignore

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf mtu-ignore

默认情况下,OSPF MTU 不匹配检测已启用。

步骤 11

将 OSPF 网络类型设置为除默认以外的其他类型,具体取决于网络类型:

ipv6 ospf network {broadcast | point-to-point non-broadcast}

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf network point-to-point non-broadcast

point-to-point non-broadcast 关键字可将网络类型设置为点对点非广播。broadcast 关键字可将网络类型设置为广播。

步骤 12

设置路由器优先级,这有助于为网络确定指定的路由器:

ipv6 ospf priority number-value

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf priority 4

有效值范围为 0 到 255。

步骤 13

配置与非广播网络的 OSPFv3 路由器互连:

ipv6 ospf neighbor ipv6-address [priority number] [poll-interval seconds] [cost number] [database-filter all out]

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf neighbor FE80::A8BB:CCFF:FE00:C01

步骤 14

指定属于接口的邻接的 LSA 重新传输的间隔时间(以秒为单位):

ipv6 ospf retransmit-interval seconds

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf retransmit-interval 8

该时间必须大于连接的网络上任意两个路由器之间的预期往返延迟。有效值的范围为 1 到 65535 秒。默认值为 5 秒。

步骤 15

设置在接口上发送链路状态更新数据包所需的估计时间(以秒为单位):

ipv6 ospf transmit-delay seconds

示例:


ciscoasa(config-if)# interface GigabitEthernet3/2.200
 vlan 200
 nameif outside
 security-level 100
 ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
 ipv6 address 3001::1/64 standby 3001::8
 ipv6 address 6001::1/64 standby 6001::8
 ipv6 enable
 ospf priority 255
 ipv6 ospf cost 100
 ipv6 ospf 100 area 10 instance 200
ipv6 ospf retransmit-delay 3

有效值的范围为 1 到 65535 秒。默认值为 1 秒。


配置 OSPFv3 路由器参数

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config)# ipv6 router ospf 10

process-id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

配置 OSPFv3 区域参数:

中转区

示例:


ciscoasa(config-rtr)# area 10

支持的参数包括从 0 至 4294967295 的十进制值形式的区域 ID 和 IP 地址格式 A.B.C.D 的区域 ID。

步骤 3

将命令设置为其默认值:

default

示例:


ciscoasa(config-rtr)# default originate

originate 参数分发默认路由。

步骤 4

控制默认信息的分发:

default-information

步骤 5

根据路由类型定义 OSPFv3 路由管理距离:

distance

示例:


ciscoasa(config-rtr)# distance 200

支持的参数包括值为 1 至 254 的管理距离和 OSPFv3 距离的 ospf

步骤 6

当路由器接收 6 类多播 OSPF (MOSPF) 数据包的链路状态通告 (LSA) 时,抑制使用 lsa 参数发送系统日志消息:

ignore

示例:


ciscoasa(config-rtr)# ignore lsa

步骤 7

将路由器配置为在 OSPFv3 邻居启动或关闭时发送系统日志消息:

log-adjacency-changes

示例:


ciscoasa(config-rtr)# log-adjacency-changes detail

通过 detail 参数,将会记录所有状态更改。

步骤 8

抑制在接口上发送和接收路由更新:

passive-interface [interface_name]

示例:


ciscoasa(config-rtr)# passive-interface inside

interface_name 参数指定 OSPFv3 进程运行所在的接口的名称。

步骤 9

配置将路由从一个路由域重新分发到另一个路由域:

redistribute {connected | ospf | static}

其中:

  • connected - 指定已连接路由。

  • ospf - 指定 OSPFv3 路由。

  • static - 指定静态路由。

示例:


 ciscoasa(config-rtr)# redistribute ospf 

			 

步骤 10

为指定进程创建固定路由器 ID:

router-id {A.B.C.D | cluster-pool | static}

其中:

A.B.C.D - 以 IP 地址格式指定 OSPF 路由器 ID。

cluster-pool - 在配置了单个接口集群时配置 IP 地址池。有关集群中使用的 IP 地址池的详细信息,请参阅为集群配置 IP 地址池(OSPFv2 和 OSPFv3)

示例:


ciscoasa(config-rtr)# router-id 10.1.1.1

步骤 11

配置有效值为 0 至 128 的 IPv6 地址汇总:

summary-prefix X:X:X:X::X/

示例:


ciscoasa(config-if)# ipv6 router ospf 1
ciscoasa(config-router)# router-id 192.168.3.3
ciscoasa(config-router)# summary-prefix FECO::/24
ciscoasa(config-router)# redistribute static

X:X:X:X::X/ 参数指定 IPv6 前缀。

步骤 12

调整路由计时器:

timers

路由计时器参数如下:

  • lsa - 指定 OSPFv3 LSA 计时器。

  • nsf - 指定 OSPFv3 NSF 等待计时器。

  • pacing - 指定 OSPFv3 步调设置计时器。

  • throttle - 指定 OSPFv3 调速计时器。

示例:


ciscoasa(config)# ipv6 router ospf 10
ciscoasa(config-rtr)# timers throttle spf 6000 12000 14000


配置 OSPFv3 区域参数

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config)# ipv6 router ospf 1

process-id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。

此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

设置 NSSA 区域或末节区域的汇总默认开销:

area area-id default-cost cost

示例:


ciscoasa(config-rtr)# area 1 default-cost nssa

步骤 3

仅汇总与边界路由器的地址和掩码匹配的路由:

area area-id range ipv6-prefix/ prefix-length [advertise | not advertise] [cost cost]

示例:


ciscoasa(config-rtr)# area 1 range FE01:1::1/64

  • area-id 参数标识要为其汇总路由的区域。值可以指定为十进制或 IPv6 前缀。

  • ipv6-prefix 参数指定 IPv6 前缀。prefix-length 参数指定前缀长度。

  • advertise 关键字将地址范围状态设置为已通告并生成 3 类汇总 LSA。

  • not-advertise 关键字将地址范围状态设置为 DoNotAdvertise。

  • 抑制 3 类汇总 LSA,并保持向其他网络隐藏组件网络。

  • cost cost 关键字/参数对指定汇总路由的指标或开销,它在 OSPF SPF 计算过程中用于确定到达目标的最短路径。

  • 有效值范围为 0 到 16777215。

步骤 4

指定 NSSA 区域:

area area-id nssa

示例:


ciscoasa(config-rtr)# area 1 nssa

步骤 5

指定末节区域:

area area-id stub

示例:


ciscoasa(config-rtr)# area 1 stub

步骤 6

定义虚拟链路及其参数:

area area-id virtual-link router-id [hello-interval seconds] [retransmit-interval seconds] [transmit-delay seconds] [dead-interval seconds] [ttl-security hops hop-count]

示例:


ciscoasa(config-rtr)# area 1 virtual-link 192.168.255.1 hello-interval 5

  • area-id 参数标识要为其汇总路由的区域。virtual link 关键字指定创建虚拟链路邻居。

  • router-id 参数指定与虚拟链路邻居关联的路由器 ID。

  • 输入 show ospfshow ipv6 ospf 命令以显示路由器 ID。没有默认值。

  • hello-interval 关键字指定在接口上发送的呼叫数据包的间隔时间(以秒为单位)。呼叫数据包间隔是将在呼叫数据包中通告的无符号整数。对于连接到公用网络的所有路由器和接入服务器,值必须相同。有效值范围为 1 到 8192。默认值为 10。

  • retransmit-interval seconds 关键字/参数对指定属于接口的邻接的 LSA 重新传输的间隔时间(以秒为单位)。重新传输间隔是连接的网络上任意两个路由器之间的预期往返延迟。该值必须大于预期往返延迟,并且范围可以为 1 至 8192。默认值为 5。

  • transmit-delay seconds 关键字/参数对指定在接口上发送链路状态更新数据包所需的估计时间(以秒为单位)。整数值必须大于零。更新数据包中的 LSA 在传输之前会按此数量递增其自己的年龄。值的范围可以是从 1 至 8192。默认值为 1。

  • dead-interval seconds 关键字/参数对指定在邻居表明路由器关闭之前不得查看呼叫数据包的时间(以秒为单位)。停顿间隔是无符号整数。默认值是呼叫间隔的四倍(或 40 秒)。对于连接到公用网络的所有路由器和接入服务器,值必须相同。有效值范围为 1 到 8192。

  • ttl-security hops 关键字在虚拟链路上配置生存时间 (TTL) 安全。hop-count 参数值范围可以为 1 至 254。


配置 OSPFv3 被动接口

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process_id

示例:


ciscoasa(config-if)# ipv6 router ospf 1

process_id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

抑制在接口上发送和接收路由更新:

passive-interface [interface_name]

示例:


ciscoasa(config-rtr)# passive-interface inside

interface_name 参数指定 OSPFv3 进程运行所在的接口的名称。如果指定了 no interface_name 参数,则 OSPFv3 进程 process_id 的所有接口都变为被动接口。


配置 OSPFv3 管理距离

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process_id

示例:


ciscoasa(config-if)# ipv6 router ospf 1

process_id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

设置 OSPFv3 路由的管理距离:

distance [ospf {external | inter-area | intra-area}] distance

示例:


ciscoasa(config-rtr)# distance ospf external 200

ospf 关键字指定 OSPFv3 路由。external 关键字指定 OSPFv3 的外部 5 类和 7 类路由。inter-area 关键字指定 OSPVv3 的区域间路由。intra-area 关键字指定 OSPFv3 的区域内路由。distance 参数指定管理距离,它是从 10 至 254 的整数。


配置 OSPFv3 计时器

您可以为 OSPFv3 设置 LSA 到达计时器、LSA 步调设置计时器和调速计时器。

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config-if)# ipv6 router ospf 1

process-id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

设置 ASA 接受来自 OSPF 邻居的同一 LSA 的最低间隔:

timers lsa arrival milliseconds

示例:


ciscoasa(config-rtr)# timers lsa arrival 2000

milliseconds 参数指定前后两次接受从邻居到达的同一 LSA 之间必须经过的最小延迟(以毫秒为单位)。范围是从 0 到 6,000,000 毫秒。默认值为 1000 毫秒。

步骤 3

配置 LSA 泛洪数据包步调设置:

timers pacing flood milliseconds

示例:


ciscoasa(config-rtr)# timers lsa flood 20

milliseconds 参数指定在前后两次更新之间泛洪队列中的 LSA 设置步调的间隔时间(以毫秒为单位)。可配置范围是从 5 到 100 毫秒。默认值为 33 毫秒。

步骤 4

更改将 OSPFv3 LSA 收集到组中并刷新、校验和或老化的间隔:

timers pacing lsa-group seconds

示例:


ciscoasa(config-rtr)# timers pacing lsa-group 300

seconds 参数指定将 LSA 分组、刷新、校验和或老化的间隔秒数。范围是从 10 到 1800 秒。默认值为 240 秒。

步骤 5

配置 LSA 重新传输数据包步调:

timers pacing retransmission milliseconds

示例:


ciscoasa(config-rtr)# timers pacing retransmission 100

milliseconds 参数指定重新传输队列中的 LSA 设置步调的间隔时间(以毫秒为单位)。可配置范围是从 5 到 200 毫秒。默认值为 66 毫秒。

步骤 6

配置 OSPFv3 LSA 调速:

timers throttle lsa milliseconds1 milliseconds2 milliseconds3

示例:


ciscoasa(config-rtr)# timers throttle lsa 500 6000 8000

  • milliseconds1 参数指定生成 LSA 的第一次出现所需的延迟(以毫秒为单位)。milliseconds2 参数指定发起同一 LSA 所需的最大延迟(以毫秒为单位)。milliseconds3 参数指定发起同一 LSA 所需的最小延迟(以毫秒为单位)。

  • 对于 LSA 调速,如果最短或最长时间小于第一次出现的值,则 OSPFv3 会自动更正为第一次出现的值。同样,如果指定的最大延迟小于最小延迟,则 OSPFv3 会自动更正为最小延迟值。

  • 对于 milliseconds1,默认值为 0 毫秒。

  • 对于 milliseconds2milliseconds3,默认值为 5000 毫秒。

步骤 7

配置 OSPFv3 SPF 调速:

timers throttle spf milliseconds1 milliseconds2 milliseconds3

示例:


ciscoasa(config-rtr)# timers throttle spf 5000 12000 16000

  • milliseconds1 参数指定接收对 SPF 计算的更改所需的延迟(以毫秒为单位)。milliseconds2 参数指定第一次和第二次 SPF 计算之间的延迟(以毫秒为单位)。milliseconds3 参数指定 SPF 计算的最长等待时间(以毫秒为单位)。

  • 对于 SPF 调速,如果 milliseconds2milliseconds3 小于 milliseconds1,则 OSPFv3 会自动更正为 milliseconds1 值。同样,如果 milliseconds3 小于 milliseconds2,则 OSPFv3 会自动更正为 milliseconds2 值。

  • 对于 milliseconds1,SPF 调速的默认值为 5000 毫秒。

  • 对于 milliseconds2milliseconds3,SPF 调速的默认值为 10000 毫秒。


定义静态 OSPFv3 邻居

您需要定义静态 OSPFv3 邻居来通过点对点非广播网络通告 OSPF 路由。通过此功能,您可以跨现有 VPN 连接广播 OSPFv3 通告,而不必将通告封装在 GRE 隧道中。

开始之前,必须创建到 OSPFv3 邻居的静态路由。有关创建静态路由的详细信息,请参阅配置静态路由

过程


步骤 1

启用 OSPFv3 路由进程并进入 IPv6 路由器配置模式。

ipv6 router ospf process-id

示例:


ciscoasa(config)# ipv6 router ospf 1

process-id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

配置与非广播网络的 OSPFv3 路由器互连。

ipv6 ospf neighbor ipv6-address [priority number] [poll-interval seconds] [cost number] [database-filter all out]

示例:


ciscoasa(config-if)# interface ethernet0/0 ipv6 ospf neighbor FE80::A8BB:CCFF:FE00:C01


重置 OSPFv3 默认参数

要将 OSPFv3 参数还原为其默认值,请执行以下步骤:

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config-if)# ipv6 router ospf 1

process_id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

将可选参数还原为其默认值:

default [area | auto-cost | default-information | default-metric | discard-route | discard-route | distance | distribute-list | ignore | log-adjacency-changes | maximum-paths | passive-interface | redistribute | router-id | summary-prefix | timers]

示例:


ciscoasa(config-rtr)# default metric 5

  • area 关键字指定 OSPFv3 区域参数。auto-cost 关键字根据带宽指定 OSPFv3 接口开销。

  • default-information 关键字分发默认信息。default-metric 关键字指定重新分发的路由的指标。

  • discard-route 关键字可启用或禁用丢弃安装路由。distance 关键字指定管理距离。

  • distribute-list 关键字可筛选路由更新中的网络。

  • ignore 关键字可忽略特定事件。log-adjacency-changes 关键字可记录邻接状态中的记录。

  • maximum-paths 关键字可通过多个路径转发数据包。

  • passive-interface 关键字可在接口上抑制路由更新。

  • redistribute 关键字可重新分发来自其他路由协议的 IPv6 前缀。

  • router-id 关键字指定所指定路由进程的路由器 ID。

  • summary-prefix 关键字指定 IPv6 汇总前缀。

  • timers 关键字指定 OSPFv3 计时器。


发送系统日志消息

将路由器配置为在 OSPFv3 邻居启动或关闭时发送系统日志消息。

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config-if)# ipv6 router ospf 1

process-id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

将路由器配置为在 OSPFv3 邻居启动或关闭时发送系统日志消息:

log-adjacency-changes [detail]

示例:


ciscoasa(config-rtr)# log-adjacency-changes detail

detail 关键字为每个状态发送系统日志消息,而不只是在 OSPFv3 启动或关闭时才发送系统日志消息。


抑制系统日志消息

要在路由器接收不受支持的 LSA 6 类多播 OSPF (MOSPF) 数据包时抑制发送系统日志消息,请执行以下步骤:

过程


步骤 1

启用 OSPFv2 路由进程:

router ospf process_id

示例:


ciscoasa(config-if)# router ospf 1

process_id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

当路由器接收不受支持的 LSA 6 类 MOSPF 数据包时,抑制发送系统日志消息:

ignore lsa mospf

示例:


ciscoasa(config-rtr)# ignore lsa mospf


计算汇总路由成本

过程


恢复用于根据 RFC 1583 计算汇总路由开销的方法:

compatible rfc1583

示例:


ciscoasa (config-rtr)# compatible rfc1583


生成到 OSPFv3 路由域中的默认外部路由

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config-if)# ipv6 router ospf 1

process-id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

生成到 OSPFv3 路由域中的默认外部路由:

default-information originate [always]metric metric-value [metric-type type-value] [route-map map-name]

示例:


ciscoasa(config-rtr)# default-information originate always metric 3 metric-type 2

  • always 关键字通告默认路由(无论默认路由是否存在)。

  • metric metric-value 关键字/参数对指定用于生成默认路由的指标。

  • 如果不使用 default - metric 命令指定值,则默认值为 10。有效十进制值范围为 0 到 16777214。

  • metric-type type-value 关键字/参数对指定与通告到 OSPFv3 路由域中的默认路由关联的外部链路类型。有效值可以是以下其中一项:

    • 1 - 1 类外部路由

    • 2 - 2 类外部路由

    默认为 2 类外部路由。

  • route-map map-name 关键字/参数对指定在满足路由映射的情况下生成默认路由的路由进程。


配置 IPv6 汇总前缀

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config-if)# ipv6 router ospf 1

process_id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

配置 IPv6 汇总前缀:

summary-prefix prefix [not-advertise | tag tag-value]

示例:


ciscoasa(config-if)# ipv6 router ospf 1
ciscoasa(config-rtr)# router-id 192.168.3.3
ciscoasa(config-rtr)# summary-prefix FECO::/24
ciscoasa(config-rtr)# redistribute static

prefix 参数是目标的 IPv6 路由前缀。not-advertise 关键字抑制与指定前缀/掩码对匹配的路由。此关键字仅适用于 OSPFv3。tag tag-value 关键字/参数对指定可用作通过路由映射控制重新分发的匹配值的标签值。此关键字仅适用于 OSPFv3。


重新分发 IPv6 路由

过程


步骤 1

启用 OSPFv3 路由进程:

ipv6 router ospf process-id

示例:


ciscoasa(config-if)# ipv6 router ospf 1

process-id 参数是此路由进程的内部使用的标识符,在本地进行分配,可以是从 1 至 65535 的任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部管理使用。您最多可以使用两个进程。

步骤 2

将 IPv6 路由从一个 OSPFv3 进程重新分发到另一个 OSPFv3 进程中:

redistribute source-protocol [process-id] [include-connected {[level-1 | level-2}] [as-number] [metric [metric-value | transparent}] [metric-type type-value] [match {external [1|2] | internal | nssa-external [1|2]}] [tag tag-value] [route-map map-tag]

示例:


ciscoasa(config-rtr)# redistribute connected 5 type-1

  • source-protocol 参数指定从其重新分发路由的源协议,可以为 static、connected 或 OSPFv3。

  • process-id 参数是在启用了 OSPFv3 路由进程时以管理方式分配的数字。

  • include-connected 关键字允许目标协议重新分发源协议获知的路由以及源协议运行所在的接口上的已连接前缀。

  • level-1 关键字指定对于中间系统对中间系统 (IS-IS),1 级路由独立重新分发到其他 IP 路由协议中。

  • level-1-2 关键字指定对于 IS-IS,1 级和 2 级路由均重新分发到其他 IP 路由协议中。

  • level-2 关键字指定对于 (IS-IS),2 级路由独立重新分发到其他 IP 路由协议中。

  • 对于 metric metric-value 关键字参数对,当在同一路由器上将路由从一个 OSPFv3 进程重新分发到另一个 OSPFv3 进程时,如果未指定指标值,则会将指标从一个进程携带至另一个进程。将其他进程重新分发到 OSPFv3 进程时,如果未指定指标值,则默认指标为 20。

  • metric transparent 关键字导致 RIP 使用重新分发的路由的路由表指标为 RIP 指标。

  • metric-type type-value 关键字/参数对指定与通告到 OSPFv3 路由域中的默认路由关联的外部链路类型。有效值可以是以下其中一项:1(表示 1 类外部路由)或 2(表示 2 类外部路由)。如果没有为 metric-type 关键字指定任何值,则 ASA 采用 2 类外部路由。对于 IS-IS,链路类型可以是以下其中一项:内部(适用于小于 63 的 IS-IS 指标)或外部(适用于大于 64 且小于 128 的 IS-IS 指标)。默认为内部。

  • match 关键字将路由重新分发到其他路由域中并与以下其中一个选项配合使用:external [1|2],表示自治系统的外部路由,但会作为 1 类或 2 类外部路由导入到 OSPFv3 中;internal,表示特定自治系统的内部路由;nssa-external [1|2],表示自治系统的外部路由,但会在 IPv6 的 NSSA 中作为 1 类或 2 类外部路由导入到 OSPFv3 中。

  • tag tag-value 关键字/参数对指定连接到每个外部路由的 32 位十进制值,它可用于在 ASBR 之间传达信息。如果未指定任何内容,则对来自 BGP 和 EGP 的路由使用远程自治系统编号。对于其他协议,将会使用零。有效值范围为 0 到 4294967295。

  • route-map 关键字指定路由映射来检查对从源路由协议到当前路由协议的路由的导入的筛选。如果未指定此关键字,则会重新分发所有路由。如果已指定此关键字,但未列出路由映射标签,则不会导入任何路由。map-tag 参数标识已配置的路由映射。


配置无中断重启

ASA 可能会遇到一些已知的故障情况,这些故障情况不应影响跨交换平台转发的数据包。不间断转发 (NSF) 功能允许在恢复路由协议信息的同时沿已知路由继续转发数据。

在高可用性模式下,当主用设备变为非主用设备且备用设备成为新的主用设备时,OSPF 进程会重新启动。同样,在集群模式下,当控制设备变为非活动状态且数据设备被选为新的控制设备时,OSPF 进程会重新启动。此类 OSPF 转换过程涉及相当长的延迟。您可以配置 NSF 以避免在 OSPF 进程状态更改期间丢失流量。当有计划的无中断软件升级时,NSF 功能也非常有用。

在 OSPFv2 和 OSPFv3 上均支持平稳重启。通过使用 NSF Cisco(RFC 4811 和 RFC 4812)或 NSF IETF (RFC 3623),您可以在 OSPFv2 上配置平稳重启。您可以使用 graceful-restart (RFC 5187) 在 OSPFv3 上配置平稳重启。

配置 NSF 平稳重启功能涉及两个步骤;配置功能和将设备配置为支持 NSF 功能或 NSF 感知。支持 NSF 功能的设备可以向邻居表明其自己的重启活动,而支持 NSF 感知的设备可以帮助重新启动邻居。

根据某些条件,可以将设备配置为支持 NSF 功能的设备或 NSF 感知的设备:

  • 设备可以配置为 NSF 感知的设备,而与其所处的模式无关。

  • 设备必须处于 Failover 或 Spanned Etherchannel (L2) 集群模式下才能配置为支持 NSF 功能的设备。

  • 为使设备支持 NSF 功能或 NSF 感知,应将其配置为能够根据需要处理不透明链路状态通告 (LSA)/本地链路信令 (LLS) 块。



如果为 OSPFv2 配置了快速呼叫,则在主用设备重新加载且备用设备激活时不会发生平稳重启。这是因为角色更改所需的时间超过配置的停顿间隔。


配置功能

思科 NSF 平稳重启机制取决于 LLS 功能,因为它会发送含有呼叫数据包中设置的 RS 位的 LLS 块来表示重启活动。IETF NSF 机制取决于不透明 LSA 功能,因为它会发送不透明 9 类 LSA 来表示重启活动。要配置功能,请输入以下命令:

过程


步骤 1

创建 OSPF 路由进程并针对要重新分发的 OSPF 进程进入路由器配置模式。

router ospf process_id

示例:


ciscoasa(config)# router ospf 2

process_id 参数是内部针对此路由进程使用的标识符,可以是任何正整数。此 ID 不必与任何其他设备上的 ID 匹配;它仅供内部使用。您最多可以使用两个进程。

步骤 2

支持使用 LLS 数据块或不透明 LSA 来启用 NSF:

capability {lls|opaque}

lls 关键字用于为思科 NSF 平稳重启机制启用 LLS 功能。

opaque 关键字用于为 IETF NSF 平稳重启机制启用不透明 LSA 功能。


为 OSPFv2 配置无中断重启

对于 OSPFv2、思科 NSF 和 IETF NSF,存在两种平稳重启机制。一次只能为 ospf 实例配置其中一种平稳重启机制。支持 NSF 感知的设备既可以配置为思科 NSF 助手,也可以配置为 IETF NSF 助手,但是一次只能在思科 NSF 或 IETF NSF 模式中为 ospf 实例配置支持 NSF 功能的设备。

为 OSPFv2 配置思科 NSF 无中断重启

为 OSPFv2 配置思科 NFS 平稳重启(适用于支持 NSF 功能的设备或 NSF 感知的设备)。

过程

步骤 1

在支持 NSF 功能的设备上启用思科 NSF:

nsf cisco [enforce global]

示例:

ciscoasa(config-router)# nsf cisco

当检测到无法识别 NSF 的邻居设备时,enforce global 关键字将会取消 NSF 重启。

步骤 2

(可选)在支持 NSF 感知的设备上启用思科 NSF 助手模式。

capability {lls|opaque}

示例:

ciscoasa(config-router)# capability lls

默认情况下会启用此命令。使用命令的 no 形式可禁用该命令。


为 OSPFv2 配置 IETF NSF 无中断重启

为 OSPFv2 配置思科 IETF NSF 平稳重启(支持 NSF 功能的设备或 NSF 感知的设备)。

过程

步骤 1

在支持 NSF 功能的设备上启用 IETF NSF:

nsf ietf [restart-interval seconds]

示例:

ciscoasa(config-router)# nsf ietf restart-interval 80

可以指定平稳重启间隔的长度(以秒为单位)。有效值为 1 到 1800 秒。默认值为 120 秒。

为重启间隔配置的值小于显示邻接关系所需的时间时,平稳重启可能会终止。例如,低于 30 秒的重启间隔不受支持。

步骤 2

在支持 NSF 感知设备上启用 IETF NSF 助手模式:

nsf ietf helper [strict-lsa-checking]

示例:

ciscoasa(config-router)# nsf ietf helper

strict-LSA-checking 关键字指示如果助手路由器在以下情况下将终止重新启动路由器的过程:它检测到会泛洪至正在重新启动的路由器的 LSA 发生更改,或者如果在启动平稳重启过程后正在重新启动的路由器的重新传输列表中有已更改的 LSA。

默认情况下会启用此命令。使用命令的 no 形式可禁用该命令。


为 OSPFv3 配置无中断重启

为 OSPFv3 配置 NSF 平稳重启功能涉及两个步骤:将一个设备配置为支持 NSF 功能,然后将另一个设备配置为支持 NSF 感知。

过程


步骤 1

在未配置有显式 IPv6 地址的接口上启用 IPv6 处理:

interface physical_interface ipv6 enable

示例:


ciscoasa(config)# interface ethernet 0/0
ciscoasa(config-if)# ipv6 enable

physical_interface 参数标识参与 OSPFv3 NSF 的接口。

步骤 2

在支持 NSF 功能的设备上为 OSPFv3 启用 graceful-restart:

graceful-restart [restart interval seconds]

示例:


ciscoasa(config-router)# graceful-restart restart interval 80

restart interval seconds 指定平稳重启间隔的长度(以秒为单位)。有效值为 1 到 1800 秒。默认值为 120 秒。

使用小于邻接启动所需的时间的值来配置重启间隔时,可能会终止平稳重启。例如,不支持低于 30 秒的重启间隔。

步骤 3

在支持 NSF 感知的设备上为 OSPFv3 启用 graceful-restart:

graceful-restart helper [strict-lsa-checking]

示例:


ciscoasa(config-router)# graceful-restart helper strict-lsa-checking

strict-LSA-checking 关键字指示如果助手路由器在以下情况下将终止重新启动路由器的过程:它检测到会泛洪至正在重新启动的路由器的 LSA 发生更改,或者如果在启动平稳重启过程后正在重新启动的路由器的重新传输列表中有已更改的 LSA。

默认情况下会启用平稳重启助手模式。


为 OSPF 配置无中断重新启动等待计时器

如果 OSPF 路由器不知道所有邻居是否在数据包中列出,并且重新启动路由器需要保留邻接关系,但它们会在连接到 Hello 数据包的 EO 中设置 RS 位。但是,RS 位值不能超过 RouterDeadInterval 秒。因此,引入 timers nsf wait 命令,以将呼叫数据包中的 RS 位设置为小于 RouterDeadInterval 秒。NSF 等待计时器默认值为 20 秒。

开始之前

  • 要为 OSPF 配置思科 NSF 等待时间,设备必须支持 NSF 或 NSF 功能。

过程


步骤 1

进入 OSPF 路由器配置模式。

示例:

ciscoasa(config)# router ospf

步骤 2

输入计时器并指定 nsf。

示例:

ciscoasa(config-router)# timers?
router mode commands/options:
  lsa       OSPF LSA timers
  nsf       OSPF NSF timer
  pacing    OSPF pacing timers
  throttle  OSPF throttle timers
ciscoasa(config-router)# timers nsf ?

步骤 3

输入平稳重启等待间隔。此值的范围为 1 到 65535。

示例:

ciscoasa(config-router)# timers nsf wait 200

通过使用平稳重启等待间隔,可以确保等待间隔不超过路由器失效间隔。

删除 OSPFv2 配置

删除 OSPFv2 配置。

过程


删除已启用的整个 OSPFv2 配置。

clear configure router ospf pid

示例:


ciscoasa(config)# clear configure router ospf 1000

清除配置后,您必须使用 router ospf 命令重新配置 OSPF。


删除 OSPFv3 配置

删除 OSPFv3 配置。

过程


删除已启用的整个 OSPFv3 配置。

clear configure ipv6 router ospf process-id

示例:


ciscoasa(config)# clear configure ipv6 router ospf 1000

清除配置后,您必须使用 ipv6 router ospf 命令重新配置 OSPFv3。


OSPFv2 示例

以下示例显示如何使用各种可选进程启用和配置 OSPFv2:

  1. 要启用 OSPFv2,请输入以下命令:

    
    ciscoasa(config)# router ospf 2
    ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0
    
    
  2. (可选)要将路由从一个 OSPFv2 进程重新分发到另一个 OSPFv2 进程,请输入以下命令:

    
    ciscoasa(config)# route-map 1-to-2 permit
    ciscoasa(config-route-map)# match metric 1
    ciscoasa(config-route-map)# set metric 5
    ciscoasa(config-route-map)# set metric-type type-1
    ciscoasa(config-route-map)# router ospf 2
    ciscoasa(config-rtr)# redistribute ospf 1 route-map 1-to-2
    
    
  3. (可选)要配置 OSPFv2 接口参数,请输入以下命令:

    
    ciscoasa(config)# router ospf 2
    ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0
    ciscoasa(config-rtr)# interface inside
    ciscoasa(config-interface)# ospf cost 20
    ciscoasa(config-interface)# ospf retransmit-interval 15
    ciscoasa(config-interface)# ospf transmit-delay 10
    ciscoasa(config-interface)# ospf priority 20
    ciscoasa(config-interface)# ospf hello-interval 10
    ciscoasa(config-interface)# ospf dead-interval 40
    ciscoasa(config-interface)# ospf authentication-key cisco
    ciscoasa(config-interface)# ospf message-digest-key 1 md5 cisco
    ciscoasa(config-interface)# ospf authentication message-digest
    
    
  4. (可选)要配置 OSPFv2 区域参数,请输入以下命令:

    
    ciscoasa(config)# router ospf 2
    ciscoasa(config-rtr)# area 0 authentication
    ciscoasa(config-rtr)# area 0 authentication message-digest
    ciscoasa(config-rtr)# area 17 stub
    ciscoasa(config-rtr)# area 17 default-cost 20
    
    
  5. (可选)要配置路由计算计时器并显示邻居启动和关闭日志消息,请输入以下命令:

    
    ciscoasa(config-rtr)# timers spf 10 120
    ciscoasa(config-rtr)# log-adj-changes [detail]
    
    
  6. (可选)要显示当前 OSPFv2 配置设置,请输入 show ospf 命令。

    以下是 show ospf 命令的输出示例:

    
    ciscoasa(config)# show ospf
    
    Routing Process “ospf 2” with ID 10.1.89.2 and Domain ID 0.0.0.2
    Supports only single TOS(TOS0) routes
    Supports opaque LSA
    SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
    Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs
    Number of external LSA 5. Checksum Sum 0x 26da6
    Number of opaque AS LSA 0. Checksum Sum 0x     0
    Number of DCbitless external and opaque AS LSA 0
    Number of DoNotAge external and opaque AS LSA 0
    Number of areas in this router is 1. 1 normal 0 stub 0 nssa
    External flood list length 0
        Area BACKBONE(0)
            Number of interfaces in this area is 1
            Area has no authentication
            SPF algorithm executed 2 times
            Area ranges are
            Number of LSA 5. Checksum Sum 0x 209a3
            Number of opaque link LSA 0. Checksum Sum 0x     0
            Number of DCbitless LSA 0
            Number of indication LSA 0
            Number of DoNotAge LSA 0
            Flood list length 0
    
    
  7. 要清除 OSPFv2 配置,请输入以下命令:

    
    ciscoasa(config)# clear configure router ospf pid
    

OSPFv3 示例

以下示例显示如何在接口级别启用和配置 OSPFv3:


ciscoasa (config)# interface GigabitEthernet3/1
ciscoasa (config-if)# ipv6 enable
ciscoasa (config-if)# ipv6 ospf 1 area 1

以下是来自 show running-config ipv6 命令的样本输出:


ciscoasa (config)# show running-config ipv6
ipv6 router ospf 1
 log-adjacency-changes

以下是来自 show running-config interface 命令的样本输出:


ciscoasa (config-if)# show running-config interface GigabitEthernet3/1
interface GigabitEthernet3/1
 nameif fda
 security-level 100
 ip address 1.1.11.1 255.255.255.0 standby 1.1.11.2
 ipv6 address 9098::10/64 standby 9098::11
 ipv6 enable
 ipv6 ospf 1 area 1

以下示例显示如何配置特定于 OSPFv3 的接口:


ciscoasa (config)# interface GigabitEthernet3/1
ciscoasa (config-if)# nameif fda
ciscoasa (config-if)# security-level 100
ciscoasa (config-if)# ip address 10.1.11.1 255.255.255.0 standby 10.1.11.2
ciscoasa (config-if)# ipv6 address 9098::10/64 standby 9098::11
ciscoasa (config-if)# ipv6 enable
ciscoasa (config-if)# ipv6 ospf cost 900
ciscoasa (config-if)# ipv6 ospf hello-interval 20
ciscoasa (config-if)# ipv6 ospf network broadcast
ciscoasa (config-if)# ipv6 ospf database-filter all out
ciscoasa (config-if)# ipv6 ospf flood-reduction
ciscoasa (config-if)# ipv6 ospf mtu-ignore
ciscoasa (config-if)# ipv6 ospf 1 area 1 instance 100
ciscoasa (config-if)# ipv6 ospf encryption ipsec spi 890 esp null md5 12345678901234567890123456789012

ciscoasa (config)# ipv6 router ospf 1
ciscoasa (config)# area 1 nssa
ciscoasa (config)# distance ospf intra-area 190 inter-area 100 external 100
ciscoasa (config)# timers lsa arrival 900
ciscoasa (config)# timers pacing flood 100
ciscoasa (config)# timers throttle lsa 900 900 900
ciscoasa (config)# passive-interface fda
ciscoasa (config)# log-adjacency-changes
ciscoasa (config)# redistribute connected metric 100 metric-type 1 tag 700

有关如何配置 OSPFv3 虚拟链路的示例,请参阅以下 URL:

http://www.cisco.com/en/US/tech/tk365/technologies_configuration_example09186a0080b8fd06.shtml

监控 OSPF

您可以显示特定统计信息,例如 IP 路由表、缓存和数据库的内容。您还可以使用所提供的信息确定资源利用率和解决网络问题。您也可以显示有关节点可达性的信息并发现设备数据包通过网络所采用的路由路径。

要监控或显示各种 OSPFv2 路由统计信息,请输入以下其中一个命令:

命令

目的

show ospf [process-id [area-id]]

显示有关 OSPFv2 路由进程的一般信息。

show ospf border-routers

向 ABR 和 ASBR 显示内部 OSPFv2 路由表条目。

show ospf [process-id [area-id]] database

显示与特定路由器 OSPFv2 数据库相关的信息列表。

show ospf flood-list if-name

显示等待通过接口泛洪的 LSA 的列表(以观察 OSPFv2 数据包步调设置)。

OSPFv2 更新数据包自动设置步调,因此其不会以小于 33 毫秒的间隔进行发送。如果没有步调设置,则在链路速度缓慢,邻居无法足够快速地接收更新或者路由器可能会用尽缓冲区空间的情况下,某些更新数据包可能会丢失。例如,如果没有步调设置,则在存在以下任一拓扑的情况下,可能会丢弃数据包:

  • 快速路由器通过点对点链路连接到速度较慢的路由器。

  • 在泛洪期间,多个邻居同时向单个路由器发送更新。

在重新发送的间隔内也会使用步调设置,以提高效率并尽量减少重新传输丢失。您还可以显示等待从接口发出的 LSA。通过步调设置,可以更高效地发送 OSPFv2 更新数据包和重新传输数据包。

此功能没有配置任务;它自动进行配置。

show ospf interface [if_name]

显示与 OSPFv2 相关的接口信息。

show ospf neighbor [interface-name] [neighbor-id] [detail]

逐个接口显示 OSPFv2 邻居信息。

show ospf request-list neighbor if_name

显示路由器请求的所有 LSA 的列表。

show ospf retransmission-list neighbor if_name

显示等待重新发送的所有 LSA 的列表。

show ospf [process-id] summary-address

显示在 OSPFv2 进程下配置的所有汇总地址重新分发信息的列表。

show ospf [process-id] traffic

显示由特定 OSPFv2 实例发送或接收的不同类型的数据包的列表。

show ospf [process-id] virtual-links

显示与 OSPFv2 相关的虚拟链路信息。

show route cluster

显示集群中的其他 OSPFv2 路由同步信息。

要监控或显示各种 OSPFv3 路由统计信息,请输入以下其中一个命令:

命令

目的

show ipv6 ospf [process-id [area-id]]

显示有关 OSPFv3 路由进程的一般信息。

show ipv6 ospf [process-id] border-routers

向 ABR 和 ASBR 显示内部 OSPFv3 路由表条目。

show ipv6 ospf [process-id [area-id]] database [external | inter-area prefix | inter-area-router | network | nssa-external | router | area | as | ref-lsa | [destination-router-id] [prefix ipv6-prefix] [link-state-id]] [link [interface interface-name] [adv-router router-id] | self-originate] [internal] [database-summary]

显示与特定路由器 OSPFv3 数据库相关的信息列表。

show ipv6 ospf [process-id [area-id]] events

显示 OSPFv3 事件信息。

ospf [process-id] [area-id] flood-list interface-type interface-number

显示等待通过接口泛洪的 LSA 的列表(以观察 OSPFv3 数据包步调设置)。

OSPFv3 更新数据包自动设置步调,因此其不会以小于 33 毫秒的间隔进行发送。如果没有步调设置,则在链路速度缓慢,邻居无法足够快速地接收更新或者路由器可能会用尽缓冲区空间的情况下,某些更新数据包可能会丢失。例如,如果没有步调设置,则在存在以下任一拓扑的情况下,可能会丢弃数据包:

  • 快速路由器通过点对点链路连接到速度较慢的路由器。

  • 在泛洪期间,多个邻居同时向单个路由器发送更新。

在重新传输的间隔内也会使用步调设置,以提高效率并尽量减少重新传输丢失。您还可以显示等待从接口发出的 LSA。通过步调设置,可以更高效地发送 OSPFv3 更新数据包和重新传输数据包。

此功能没有配置任务;它自动进行配置。

show ipv6 ospf [process-id] [area-id] interface [type number] [brief]

显示与 OSPFv3 相关的接口信息。

show ipv6 ospf neighbor [process-id] [area-id] [interface-type interface-number] [neighbor-id] [detail]

逐个接口显示 OSPFv3 邻居信息。

show ipv6 ospf [process-id] [area-id] request-list [neighbor ] [interface ] [interface-neighbor ]

显示路由器请求的所有 LSA 的列表。

show ipv6 ospf [process-id] [area-id] retransmission-list [neighbor ] [interface ] [interface-neighbor ]

显示等待重新发送的所有 LSA 的列表。

show ipv6 ospf statistic [process-id] [detail]

显示各种 OSPFv3 统计信息。

show ipv6 ospf [process-id] summary-prefix

显示在 OSPFv3 进程下配置的所有汇总地址重新分发信息的列表。

show ipv6 ospf [process-id] timers [lsa-group | rate-limit]

显示 OSPFv3 计时器信息。

show ipv6 ospf [process-id] traffic [interface_name]

显示与 OSPFv3 流量相关的统计信息。

show ipv6 ospf virtual-links

显示与 OSPFv3 相关的虚拟链路信息。

show ipv6 route cluster [failover] [cluster] [interface] [ospf] [summary]

显示集群中的 IPv6 路由表序号、IPv6 重新收敛计时器状态和 IPv6 路由条目序号。

OSPF 的历史记录

表 1. OSPF 的功能历史记录

功能名称

平台版本

功能信息

OSPF 支持

7.0(1)

添加了对使用开放式最短路径优先 (OSPF) 路由协议来路由数据、执行身份验证以及重新分发和监控路由信息的支持。

引入了以下命令:route ospf

多情景模式下的动态路由

9.0(1)

在多情景模式中支持 OSPFv2 路由。

集群

9.0(1)

对于 OSPFv2 和 OSPFv3,在集群环境中支持批量同步、路由同步和跨网络 EtherChannel 负载均衡。

引入或修改了以下命令:show route clustershow ipv6 route clusterdebug route cluster、router-id cluster-pool

OSPFv3 支持 IPv6

9.0(1)

IPv6 支持 OSPFv3 路由。

引入或修改了以下命令:ipv6 ospfipv6 ospf areaipv6 ospf cost、ipv6 ospf database-filter all out、ipv6 ospf dead-interval、ipv6 ospf encryption、ipv6 ospf hello-interval、ipv6 ospf mtu-ignore、ipv6 ospf neighbor、ipv6 ospf network、ipv6 ospf flood-reduction、ipv6 ospf priority、ipv6 ospf retransmit-interval、ipv6 ospf transmit-delay、ipv6 router ospf、ipv6 router ospf area、ipv6 router ospf default、ipv6 router ospf default-information、ipv6 router ospf distance、ipv6 router ospf exit、ipv6 router ospf ignore、ipv6 router ospf log-adjacency-changes、ipv6 router ospf no、ipv6 router ospf passive-interface、ipv6 router ospf redistribute、ipv6 router ospf router-id、ipv6 router ospf summary-prefix、ipv6 router ospf timers、area encryption、area range、area stub、area nssa、area virtual-link、default、default-information originate、distance、ignore lsa mospf、log-adjacency-changes、redistribute、router-id, summary-prefix、timers lsa arrival、timers pacing flood、timers pacing lsa-group、timers pacing retransmission、timers throttle、show ipv6 ospf、show ipv6 ospf border-routers、show ipv6 ospf database、show ipv6 ospf events、show ipv6 ospf flood-list、show ipv6 ospf graceful-restart、show ipv6 ospf interface、show ipv6 ospf neighbor、show ipv6 ospf request-list、show ipv6 ospf retransmission-list、show ipv6 ospf statistic、show ipv6 ospf summary-prefix、show ipv6 ospf timers、show ipv6 ospf traffic、show ipv6 ospf virtual-links、show ospf、show running-config ipv6 router、clear ipv6 ospf、clear configure ipv6 router、debug ospfv3、ipv6 ospf neighbor

OSPF 支持快速呼叫

9.2(1)

OSPF 支持快速呼叫数据包功能,从而产生在 OSPF 网络中导致更快收敛的配置。

修改了以下命令:ospf dead-interval

计时器

9.2(1)

添加了新 OSPF 计时器;弃用了旧 OSPF 计时器。

引入了以下命令:timers lsa arrival、timers pacing、timers throttle

删除了以下命令:Timers spf、timers lsa-grouping-pacing

使用访问列表筛选路由

9.2(1)

现在支持使用 ACL 筛选路由。

引入了以下命令:distribute-list

OSPF 监控增强功能

9.2(1)

添加了其他 OSPF 监控信息。

修改了以下命令:show ospf events, show ospf rib, show ospf statistics, show ospf border-routers [detail], show ospf interface brief

OSPF 重新分发 BGP

9.2(1)

添加了 OSPF 重新分发功能。

添加了以下命令:redistribute bgp

OSPF 支持不间断转发 (NSF)

9.3(1)

添加了对 NSF 的 OSPFv2 和 OSPFv3 支持。

添加了以下命令:capability、nsf cisco、nsf cisco helper、nsf ietf、nsf ietf helper、nsf ietf helper strict-lsa-checking、graceful-restart、graceful-restart helper、graceful-restart helper strict-lsa-checking

OSPF 支持不间断转发 (NSF)

9.13(1)

添加了 NSF 等待计时器。

添加了一个新命令,用于为 NSF 重新启动间隔设置计时器。引入此命令是为了确保等待间隔不会长于路由器失效间隔。

我们引入了以下命令:

timers nsf wait<seconds>