在 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 创建项目路由筛选器的工作流
- 创建前缀列表。
例如,运行以下 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 指南》。
- 读取前缀列表并验证详细信息。
例如,运行以下 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>
- 创建项目路由筛选器。
例如,运行以下 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 指南》。
- 阅读项目路由筛选器并验证详细信息。
例如,运行以下 NSX API:
GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters/<route-filter-id>
- 可选:检索所有项目路由筛选器的列表。
例如,运行以下 NSX API:
GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters
- 可选:删除前缀列表和项目路由筛选器。
例如,运行以下 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>