在 Edge 服务网关 (ESG) 上配置 OSPF 可以使 ESG 获知和播发路由。OSPF 在 ESG 上最常见的应用是在位于 ESG 与逻辑(分布式)路由器之间的链接上。这样 ESG 即可获知连接到逻辑路由器的逻辑接口 (LIFS)。此目标可以借助 OSPF、IS-IS、BGP 或静态路由来实现。

OSPF 路由策略用于在成本相同的路由之间动态进行流量负载均衡。

一个 OSPF 网络分为多个路由区域,以优化流量并限制路由表的大小。区域是具有相同区域标识的 OSPF 网络、路由器和链路的逻辑集合。

区域由区域 ID 进行标识。

前提条件

必须如在 Edge 服务网关上配置的 OSPF所示配置路由器 ID。

启用路由器 ID 后,该文本框默认填充 ESG 的上行链路接口 IP 地址。

过程

  1. 登录到 vSphere Web Client
  2. 单击网络和安全 (Networking & Security) > NSX Edge (NSX Edges)
  3. 双击一个 ESG。
  4. 单击管理 (Manage) > 路由 (Routing) > OSPF
  5. 启用 OSPF。
    1. 单击 OSPF 配置 (OSPF Configuration)旁边的编辑 (Edit),然后单击启用 OSPF (Enable OSPF)
    2. (可选) 单击启用平滑重启 (Enable Graceful Restart),确保在重新启动 OSPF 服务期间不会中断数据包转发。
    3. (可选) 单击启用默认源 (Enable Default Originate),允许 ESG 将其自身作为默认网关播发给其对等方。
  6. 配置 OSPF 区域。
    1. (可选) 删除默认配置的次末节区域 (NSSA) 51。
    2. 区域定义 (Area Definitions)中,单击添加 (Add)
    3. 输入区域 ID。NSX Edge 支持十进制数字形式的区域 ID。有效值为 0–4294967295。
    4. 类型 (Type)中,选择正常 (Normal)NSSA
      NSSA 会阻止 AS 外部链接状态通告 (LSA) 涌入 NSSA。它们依赖于到外部目标的默认路由。因此,必须将 NSSA 放在 OSPF 路由域的边缘。NSSA 可将外部路由导入到 OSPF 路由域中,从而为未包含在 OSPF 路由域中的小型路由域提供传输服务。
  7. (可选) 选择 NSSA 区域类型后,将显示 NSSA 转换器角色 (NSSA Translator Role)。选中始终 (Always)复选框以将 7 类 LSA 转换为 5 类 LSA。所有 7 类 LSA 将由 NSSA 转换为 5 类 LSA。
  8. (可选) 选择身份验证 (Authentication)的类型。OSPF 在区域级执行身份验证。
    该区域内的所有路由器都必须配置相同的身份验证和对应的密码。要使 MD5 身份验证生效,接收和传输路由器必须具有相同的 MD5 密钥。
    1. 无 (None):不需要身份验证(默认值)。
    2. 密码 (Password):在此身份验证方法中,传输的数据包中包括密码。
    3. MD5:此身份验证方法使用 MD5(消息摘要类型 5)加密。传输的数据包中包括 MD5 校验和。
    4. 对于密码 (Password)MD5 类型的身份验证,输入密码或 MD5 密钥。
    重要说明:
    • 如果为 NSX Edge 配置了 HA,启用了 OSPF 正常重新启动并使用 MD5 进行身份验证,则 OSPF 无法正常重新启动。只有在 OSPF 帮助程序节点上的宽限期到期后,才会形成邻接。
    • 在启用 FIPS 模式时,无法配置 MD5 身份验证。
    • NSX Data Center for vSphere 始终使用密钥 ID 值 1。对于任何设备,如果不受与 Edge 服务网关或逻辑分布式路由器建立对等关系的 NSX Data Center for vSphere 管理,则在使用 MD5 身份验证时,必须配置为使用密钥 ID 值 1。否则,将无法建立 OSPF 会话。
  9. 映射区域的接口。
    1. 接口映射的区域 (Area to Interface Mapping)中,单击添加 (Add)以映射属于 OSPF 区域的接口。
    2. 选择要映射的接口及其要映射到的 OSPF 区域。
  10. (可选) 编辑默认 OSPF 设置。
    在大多数情况下,建议保留默认 OSPF 设置。如果不更改设置,确保 OSPF 对等方使用相同的设置。
    1. 通信时间间隔 (Hello Interval)显示在接口上发送的两个通信数据包之间的默认时间间隔。
    2. 失效时间间隔 (Dead Interval)显示默认时间间隔,在该时间间隔内,路由器必须在声明邻居已关闭之前至少从该邻居接收到一个通信数据包。
    3. 优先级 (Priority)显示接口的默认优先级。优先级最高的接口是指定的路由器。
    4. 接口的成本 (Cost)显示通过该接口发送数据包所需的默认开销。接口的成本与该接口的带宽成反比。带宽越宽,成本越低。
  11. 单击发布更改 (Publish Changes)
  12. 确保路由重新分发和防火墙配置允许播发正确的路由。

示例: 在 Edge 服务网关上配置的 OSPF

使用 OSPF 的一个简单 NSX 应用场景是当逻辑路由器和 Edge 服务网关是 OSPF 邻居时,如下图所示。

ESG 可以通过网桥、物理路由器或 vSphere Distributed Switch 上的上行链路端口组连接到外部环境,如下图所示。

图 1. NSX Data Center for vSphere 拓扑
该图以环绕的文本进行了说明。
全局配置页面上,配置设置如下所示:
  • vNIC:上行链路
  • 网关 IP (Gateway IP):192.168.100.1。ESG 的默认网关为连接其外部对等方的 ESG 上行链路接口。
  • 路由器 ID (Router ID):192.168.100.3。路由器 ID 是 ESG 的上行链路接口。换言之,该 IP 就是面向其外部对等方的 IP 地址。
OSPF 配置 页面上,配置设置如下所示:
  • 区域定义 (Area Definition)
    • 区域 ID:0
    • 类型:正常
    • 身份验证:无
内部接口(面向逻辑路由器的接口)映射到该区域,如下所示:
  • vNIC:内部
  • 区域 ID:0
  • 通信时间间隔 (秒):10
  • 失效时间间隔 (秒):40
  • 优先级:128
  • 成本:1
连接的路由重新分发到 OSPF,以使 OSPF 邻居(逻辑路由器)可以获知 ESG 的上行链路网络的相关信息。要验证重新分发的路由,请在左侧导航面板中单击 路由重新分发 (Route Redistribution),并检查以下设置:
  • 路由重新分发状态 (Route Redistribution Status)显示已启用 OSPF。
  • 路由重新分发表 (Route Redistribution Table)显示以下内容:
    • 学习者:OSPF
    • 源:已连接
    • 前缀:任何
    • 操作:允许
注:

还可以在 ESG 与其外部对等路由器之间配置 OSPF,但更常见的情形是该链接使用 BGP 进行路由通告。

确保 ESG 从逻辑路由器获知 OSPF 外部路由。

show ip route 命令的输出显示 ESG 已从 DLR 获知两个 OSPF 外部路由。

要验证连接,确保物理架构中的外部设备可以 ping 虚拟机。

例如:

PS C:\Users\Administrator> ping 172.16.10.10

Pinging 172.16.10.10 with 32 bytes of data:
Reply from 172.16.10.10: bytes=32 time=5ms TTL=61
Reply from 172.16.10.10: bytes=32 time=1ms TTL=61

Ping statistics for 172.16.10.10:
    Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 5ms, Average = 3ms
PS C:\Users\Administrator> ping 172.16.20.10

Pinging 172.16.20.10 with 32 bytes of data:
Reply from 172.16.20.10: bytes=32 time=2ms TTL=61
Reply from 172.16.20.10: bytes=32 time=1ms TTL=61

Ping statistics for 172.16.20.10:
    Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 2ms, Average = 1ms