NSX 环境中,可以为多个项目配置相同的 Tier-0 或 Tier-0 VRF 网关。这意味着项目中的 Tier-1 网关和 NSX VPC 连接到同一 Tier-0 或 Tier-0 VRF 网关。

为避免项目之间的 IP 地址冲突,可以筛选所有 Tier-1 网关或 NSX 从指定项目中通告的路由。例如,前缀允许您确保仅从指定项目中通告来自外部 IP 块的 IP 地址。

企业管理员可以配置路由筛选,但无法在项目级别覆盖路由筛选。

首先,您需要创建要使用的前缀列表。然后,在项目路由筛选器中,您可以定义项目到前缀列表的映射。

NSX 4.1.1 开始,提供了项目路由筛选器。但是,目前只能通过 NSX API 来支持此功能。UI 不支持此功能。

示例

下图显示了连接到同一个 Tier-0 网关的两个项目:项目 1 和项目 2。项目 1 包含两个 Tier-1 网关,项目 2 包含单个 Tier-1 网关。对于项目 1,允许的前缀为 10.0.0.0/24;对于项目 2,允许的前缀为 192.168.0.0/24。


周围文本对该图进行了说明。

使用 API 创建项目路由筛选器的工作流

  1. 创建前缀列表。

    例如,运行以下 NSX API:

    PATCH https://<nsx-mgr>/policy/api/v1/infra/routing-config/prefix-lists/<prefix-list-id>
    {
      "prefixes": [
          {
              "network":"172.20.0.0/16",
              "action":"PERMIT"
          },
          
      ]
    }

    有关该 API 的更多信息,请参见《NSX API 指南》。

  2. 读取前缀列表并验证详细信息。

    例如,运行以下 NSX API:

    GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/prefix-lists
    GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/prefix-lists/<prefix-list-id>
  3. 创建项目路由筛选器。

    例如,运行以下 NSX API:

    PATCH https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters/<route-filter-id>
    {
      "projects_list": ["/orgs/default/projects/project-1"],
      "match_prefix_list" : ["/infra/routing-config/prefix-lists/list-1", "/infra/routing-config/prefix-lists/list-2"]
    }
    

    此 API 将创建从项目到前缀列表的映射。前缀列表将应用于指定项目中的所有 Tier-1 网关。

    有关该 API 的更多信息,请参见《NSX API 指南》。

  4. 阅读项目路由筛选器并验证详细信息。
    例如,运行以下 NSX API:
    GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters/<route-filter-id>
  5. 可选:检索所有项目路由筛选器的列表。

    例如,运行以下 NSX API:

    GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters
  6. 可选:删除前缀列表和项目路由筛选器。
    例如,运行以下 NSX API:
    DELETE https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters/<route-filter-id>
    DELETE https://<nsx-mgr>/policy/api/v1/infra/routing-config/prefix-lists/<prefix-list-id>