使用 Public NAT 设置和管理网络地址转换

本页介绍如何使用 Public NAT 配置和管理网络地址转换 (NAT)。在设置 Public NAT 之前,请先参阅 Public NAT 概览

限制

  • 如果您更改 Cloud NAT 网关的自动分配的 IP 地址的网络层级,则旧 IP 地址上的所有连接会立即关闭。

  • 如果您使用手动 NAT IP 地址分配,并且更改了用于 Cloud NAT 的 IP 地址,则旧 IP 地址上的所有连接会立即关闭。为避免这种情况,请参阅排空与 NAT 关联的外部 IP 地址

  • 如果您使用静态端口分配配置 Cloud NAT 网关,并减少每个虚拟机的端口数下限,则可能会破坏已建立的 NAT 连接。如需了解详情,请参阅减少每个虚拟机的端口

  • 如果您使用动态端口分配配置了 Cloud NAT 网关,并进一步更改配置,则可能会破坏已建立的 NAT 连接。更改配置时,当前分配给每个虚拟机的端口数可能会暂时重置为配置的最小数量。如需了解详情,请参阅减少每个虚拟机的端口

  • 如果您使用动态端口分配配置 Cloud NAT 网关,然后关闭动态端口分配,则系统会关闭使用 NAT 网关的所有虚拟机连接。如需了解详情,请参阅切换端口分配方法

  • 如果已启用端点独立映射,则无法配置动态端口分配或 NAT 规则

  • Cloud NAT 不支持 IP 片段。

  • Cloud NAT 配置会与 Virtual Private Cloud (VPC) 网络相关联。因此,该配置会应用于属于该网络的子网的所有资源。您无法选择要由 Cloud NAT 网关提供服务的特定虚拟机。

准备工作

在设置 Public NAT 之前,请完成以下任务。

获取 IAM 权限

Compute Network Admin 角色 (roles/compute.networkAdmin) 包含配置公共 NAT 所需的权限。

设置 Google Cloud

开始之前,请先在 Google Cloud 中设置以下内容。

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

    gcloud init
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init

此页面上的 Google Cloud CLI 说明假定您在发出命令前已经设置项目 ID。

  1. 您可以使用以下命令设置项目 ID:

    gcloud config set project PROJECT_ID
    
  2. 您还可以查看已设置的项目 ID:

    gcloud config list --format='text(core.project)'
    

配置 Public NAT

您可以通过在源 VPC 网络中创建 Cloud NAT 网关来配置 Public NAT。每个网关都与一个 VPC 网络、区域和 Cloud Router 相关联。创建 Cloud NAT 网关时,您可以配置以下设置。

设置 支持的选项 说明
来源端点类型
  • 虚拟机实例、GKE 节点、无服务器
  • 托管式代理负载平衡器

默认情况下,Public NAT 会为虚拟机实例、Google Kubernetes Engine (GKE) 节点和无服务器流量提供 NAT 服务。如需为这些资源创建 Cloud NAT 网关,请完成以下部分中的步骤。

如需为区域级互联网网络端点组 (NEG) 创建 Cloud NAT 网关,请参阅“设置 Cloud NAT 网关”,了解以下内容:

如需查看 Cloud NAT 支持的 Google Cloud 资源的完整列表,请参阅 Cloud NAT 概览

来源子网
  • 所有子网的主要和次要范围
  • 所有子网的主要范围
  • 自定义
默认情况下,针对您指定的 VPC 网络,系统会为相应区域中所有子网的所有主要和次要 IP 范围启用 Public NAT。您可以限制哪些主要和次要子网范围可以使用 NAT。
IP 地址分配
  • 自动(推荐)
  • 手动

默认情况下,Public NAT 使用自动 NAT IP 地址分配。此配置会自动分配必要的外部 IP 地址,以便为区域提供 NAT 服务。在该区域的任何子网中,没有外部 IP 地址的虚拟机实例均可通过 NAT 连接到互联网。当您使用自动 NAT IP 地址分配功能时,Google Cloud 会在您的项目中预留 IP 地址。这些地址会计入您项目中的静态 IP 地址配额

您可以为 Cloud NAT 网关手动分配 NAT IP 地址。如果您选择手动分配,请务必分配足够的 IP 地址,以避免数据包丢失。

如需了解详情,请参阅 Public NAT IP 地址

网络层级
  • 优质
  • Standard
借助 Public NAT,您可以指定 Cloud NAT 网关从中分配外部 IP 地址的 Network Service Tiers。 默认情况下,网络层级设置为当前项目级层级。
  • 创建具有自动 NAT IP 地址分配的 Cloud NAT 网关时,您可以分配高级层级或标准层级的 NAT IP 地址。
  • 创建采用手动 NAT IP 地址分配的 Cloud NAT 网关时,您可以选择手动分配高级层级和/或标准层级的 NAT IP 地址,但需满足某些条件
高级配置
  • 动态端口分配
  • 端点独立映射
  • 日志记录
  • NAT 超时

默认情况下,Public NAT 使用静态端口分配,这意味着为每个虚拟机分配相同数量的端口。您可以使用自动或手动 NAT IP 地址分配来配置动态端口分配。通过动态端口分配,Cloud NAT 网关可以根据使用情况为每个虚拟机分配不同数量的端口。如果 Cloud NAT 网关使用 NAT 规则或动态端口分配,您将无法启用端点独立映射

日志记录默认处于停用状态。如需了解 NAT 超时及其默认值,请参阅 NAT 超时

创建 Cloud NAT 网关

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击开始使用创建 Cloud NAT 网关

  3. 网关名称字段中,输入网关的名称。

  4. NAT 类型列表中,选择公共

  5. 选择 Cloud Router 路由器部分中,配置以下内容:

    1. 网络字段中,选择您要创建网关的 VPC 网络。
    2. 区域字段中,为网关设置区域。
    3. Cloud Router 字段中,选择或创建该区域中的 Cloud Router 路由器。
  6. Cloud NAT 映射部分的来源端点类型中,确保选择了 VM 实例、GKE 节点、无服务器选项。

  7. 选择以下任一选项,配置来源子网

    • 如需为相应区域中所有子网的所有主要和次要 IP 范围使用 Cloud NAT,请选择所有子网的主要和次要 IP 范围
    • 如需仅将 Cloud NAT 用于主要 IP 地址范围,请选择所有子网的主要 IP 地址范围
    • 如需限制哪些子网 IP 范围可以使用 Cloud NAT,请选择自定义,然后执行以下操作:
      1. 子网部分中,选择一个子网。
      2. IP 范围下拉列表中,选择要包含的子网 IP 范围,然后点击 OK
      3. 如果您想指定其他范围,请点击添加子网和 IP 范围,然后添加其他子网。
  8. 选择以下选项之一,配置 NAT IP 地址分配类型和网络层级:

    • 如需使用自动 NAT IP 地址分配功能,请执行以下操作:
      1. Cloud NAT IP 地址列表中,选择自动(推荐)
      2. 对于网络服务层级,选择高级标准
    • 如需使用手动 NAT IP 地址分配,请执行以下操作:

      1. Cloud NAT IP 地址列表中,选择手动
      2. 对于网络服务层级,选择高级标准
      3. 选择或创建用于 NAT 的静态预留外部 IP 地址。

      4. 如果要指定其他 IP 地址,请点击添加 IP 地址,然后选择或创建其他静态预留外部 IP 地址。

      5. 如果您想创建自定义 NAT 规则,请配置 Cloud NAT 规则部分。如需了解相关说明,请参阅创建 NAT 规则

  9. 可选:调整高级配置部分中的以下任意设置:

    • 是否配置日志记录。默认情况下,系统会选择无日志记录
    • 是否更改 Cloud NAT 分配端口的方式。默认情况下,启用动态端口分配处于未选中状态。如需配置动态端口分配,请选择启用动态端口分配,然后为每个虚拟机实例的端口数下限字段(默认为 32)和每个虚拟机实例的端口数上限字段(默认为 65536)选择一个值。
    • 是否更新协议连接的 NAT 超时。如需了解这些超时及其默认值,请参阅 NAT 超时
  10. 点击创建

gcloud

如需创建 Cloud NAT 网关,请使用 gcloud compute routers nats create 命令

  1. 在您要使用 Cloud NAT 网关的区域中创建 Cloud Router 路由器。您需要此 Cloud Router 路由器才能创建 Cloud NAT 网关。

  2. 执行以下任一操作以创建 Cloud NAT 网关。使用这两种方法中的任一方法时,请将 NAT_CONFIG 替换为 NAT 配置的名称,将 NAT_ROUTER 替换为您在上一步中创建的 Cloud Router 的名称,将 REGION 替换为您要使用 Cloud NAT 网关的区域。

    • 如需创建 Cloud NAT 网关并将其所有配置参数设置为默认值,请运行以下命令:

      gcloud compute routers nats create NAT_CONFIG \
          --router=NAT_ROUTER \
          --region=REGION \
          --auto-allocate-nat-external-ips \
          --nat-all-subnet-ip-ranges
      

      此配置会为区域中所有子网的所有主要和次要 IP 范围启用 NAT,并自动分配必要的外部 IP 地址,以便为该区域提供 NAT 服务。

    • 创建 Cloud NAT 网关时,您可以通过指定要自定义的每个参数来自定义网关配置。如需查看可使用的标志的完整列表,请参阅 gcloud compute routers nats create 命令。 例如:

      • 如需创建 Cloud NAT 网关来限制哪些子网范围可以使用 NAT,请运行以下命令:

        gcloud compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --auto-allocate-nat-external-ips \
            --nat-custom-subnet-ip-ranges=SUBNETS_RANGES_LIST
        

        SUBNETS_RANGES_LIST 替换为以英文逗号分隔的子网名称列表。例如:

        • SUBNET_NAME_1:ALL,SUBNET_NAME_2:ALL:同时包含 SUBNET_NAME_1SUBNET_NAME_2 的主要子网范围和次要子网范围。
        • SUBNET_NAME_1,SUBNET_NAME_2:仅包括 SUBNET_NAME_1SUBNET_NAME_2 的主要子网范围。
        • SUBNET_NAME:SECONDARY_RANGE_NAME:包括子网 SUBNET_NAME 的次要范围 SECONDARY_RANGE_NAME。不包括 SUBNET_NAME 的主要范围。
        • SUBNET_NAME_1,SUBNET_NAME_2:SECONDARY_RANGE_NAME:包括子网 SUBNET_NAME_1 的主要范围和子网 SUBNET_NAME_2 的指定次要范围 SECONDARY_RANGE_NAME
      • 如需创建采用手动 NAT IP 地址分配的 Cloud NAT 网关,请运行以下命令:

        gcloud compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --nat-all-subnet-ip-ranges \
            --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2
        

        IP_ADDRESS_1IP_ADDRESS_2 替换为您要用于 NAT 的静态预留外部 IP 地址。使用 --nat-external-ip-pool 标志时,您可以指定一个或多个外部 IP 地址。

      • 如需指定 Cloud NAT 网关分配外部 IP 地址的网络层级,请运行以下命令:

        gcloud compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --nat-all-subnet-ip-ranges \
            --auto-allocate-nat-external-ips \
            --auto-network-tier=AUTO_NETWORK_TIER
        

        AUTO_NETWORK_TIER 替换为为 Cloud NAT 网关自动分配 IP 地址时要使用的网络层级。允许的值包括 PREMIUMSTANDARD。如果未指定,则当前的项目级默认层级会与 Cloud NAT 网关相关联。

        您还可以使用手动 NAT IP 地址分配来指定网络层级。如果您向网关分配多个 IP 地址,则您分配的所有 IP 地址都必须来自同一网络层级。

      • 如需创建使用动态端口分配的 Cloud NAT 网关,请运行以下命令:

        gcloud compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --auto-allocate-nat-external-ips \
            --nat-all-subnet-ip-ranges \
            --enable-dynamic-port-allocation \
            [ --min-ports-per-vm=MIN_PORTS ] \
            [ --max-ports-per-vm=MAX_PORTS ]
        

        替换以下可选标志:

        • MIN_PORTS:为每个虚拟机分配的端口数下限。如果动态端口分配功能已启用,MIN_PORTS 必须是 2 的幂,并且可以介于 3232768 之间。默认值为 32
        • MAX_PORTS:为每个虚拟机分配的端口数上限。MAX_PORTS 必须是 2 的幂,并且可以介于 6465536 之间。MAX_PORTS 必须大于 MIN_PORTS。默认值为 65536

Terraform

您可以使用 Terraform 模块创建具有 NAT 网关的 Cloud Router 路由器。

module "cloud_router" {
  source  = "terraform-google-modules/cloud-router/google"
  version = "~> 6.0"
  name    = "my-cloud-router"
  project = var.project_id
  network = module.vpc.network_name
  region  = "us-central1"

  nats = [{
    name                               = "my-nat-gateway"
    source_subnetwork_ip_ranges_to_nat = "LIST_OF_SUBNETWORKS"
    subnetworks = [
      {
        name                     = module.vpc.subnets["us-central1/test-subnet-01"].id
        source_ip_ranges_to_nat  = ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"]
        secondary_ip_range_names = module.vpc.subnets["us-central1/test-subnet-01"].secondary_ip_range[*].range_name
      }
    ]
  }]
}

生成的 NAT 网关使用以下默认值:

enable_endpoint_independent_mapping = true
icmp_idle_timeout_sec               = 30
min_ports_per_vm                    = 0
nat_ip_allocate_option              = "AUTO_ONLY"
source_subnetwork_ip_ranges_to_nat  = "ALL_SUBNETWORKS_ALL_IP_RANGES"
tcp_established_idle_timeout_sec    = 1200
tcp_transitory_idle_timeout_sec     = 30
udp_idle_timeout_sec                = 30
log_config {
    enable = true
    filter = "ALL"
}

查看 Public NAT 配置

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    转到 Cloud NAT

  2. 如需查看 NAT 网关详细信息、映射信息或配置详细信息,请点击 NAT 网关的名称。

  3. 如需查看 NAT 状态,请查看 NAT 网关的状态列。

gcloud

您可以通过运行以下命令查看 NAT 配置详细信息:

  • 查看 Public NAT 网关配置。

    gcloud compute routers nats describe NAT_CONFIG \
        --router=ROUTER_NAME \
        --region=REGION
    

    请替换以下内容:

    • NAT_CONFIG:NAT 配置的名称。
    • ROUTER_NAME:您的 Cloud Router 路由器的名称。
    • REGION:要描述的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。
  • 查看分配给每个虚拟机接口的 IP:port-range(IP 地址:端口范围)映射。

    gcloud compute routers get-nat-mapping-info ROUTER_NAME \
        --region=REGION
    
  • 查看 Public NAT 网关的状态。

    gcloud compute routers get-status ROUTER_NAME \
        --region=REGION
    

查看分配给 Cloud NAT 网关的外部 IP 地址

如需查看自动添加的 NAT IP 地址,请参阅静态外部 IP 地址列表。这些地址不会计入每个项目的配额。

控制台

在 Google Cloud 控制台中,打开 IP 地址页面,然后点击外部 IP 地址

转到“IP 地址”

gcloud

  • 如需列出所有分配的 NAT IP 地址,请使用以下命令:

    gcloud compute routers get-nat-ip-info NAT_ROUTER \
      --region=REGION
    

    如需查看更多示例,请参阅 gcloud compute routers get-nat-ip-info

更新 Public NAT 配置

设置 Cloud NAT 网关后,您可以根据要求更新网关配置。以下部分列出了更新 Cloud NAT 网关时可执行的任务。

更新与 NAT 关联的子网和 IP 地址资源

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击您的 Cloud NAT 网关。

  3. 点击修改

  4. NAT 映射下,将来源设置为自定义

  5. 选择子网。

  6. IP 范围下拉列表中,选择要包含的子网 IP 范围。

  7. 如果您想指定其他范围,请点击添加子网和 IP 范围

  8. 点击 NAT IP 地址下拉列表,然后选择自动手动

  9. 如果您选择手动,请指定外部 IP 地址

  10. 要使用手动 IP 地址实现高可用性,请点击添加 IP 地址,然后添加第二个地址。

  11. 点击保存

gcloud

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --nat-external-ip-pool=IP_ADDRESS2,IP_ADDRESS3 \
    --nat-custom-subnet-ip-ranges=SUBNETS_RANGES_LIST

替换以下内容:

  • NAT_CONFIG:NAT 配置的名称。
  • NAT_ROUTER:您的 Cloud Router 路由器的名称。
  • REGION:要更新的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。
  • IP_ADDRESS2:手动外部 IP 地址
  • IP_ADDRESS3:另一个手动外部 IP 地址
  • SUBNETS_RANGES_LIST:子网名称的逗号分隔列表。例如:
    • SUBNET_NAME_1:ALL,SUBNET_NAME_2:ALL:同时包含 SUBNET_NAME_1SUBNET_NAME_2 的主要子网范围和次要子网范围。
    • SUBNET_NAME_1,SUBNET_NAME_2:仅包括 SUBNET_NAME_1SUBNET_NAME_2 的主要子网范围。
    • SUBNET_NAME:SECONDARY_RANGE_NAME:包括子网 SUBNET_NAME 的次要范围 SECONDARY_RANGE_NAME,此子网名称列表不包含 SUBNET_NAME 的主要范围。
    • SUBNET_NAME_1,SUBNET_NAME_2:SECONDARY_RANGE_NAME:包括子网 SUBNET_NAME_1 的主要范围和子网 SUBNET_NAME_2 的指定次要范围 SECONDARY_RANGE_NAME

删除与 NAT 关联的子网

您可以从 Cloud NAT 网关中移除不再使用的特定子网。

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击您的 Cloud NAT 网关。

  3. 点击修改

  4. 删除要从 NAT 映射中移除的子网。

  5. 点击保存

更新与 NAT 关联的外部 IP 地址

您可以更改给定网关的外部 IP 地址列表,或者从手动分配切换为自动 IP 地址分配。当您执行此操作时,Google Cloud 会移除旧地址并添加新地址。旧 IP 地址上的所有现有连接都会立即关闭。要让现有连接继续运行,同时阻止通过这些 IP 地址建立新连接,请参阅排空与 NAT 关联的外部 IP 地址

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击您的 Cloud NAT 网关。

  3. 点击修改

  4. 点击 NAT IP 地址下拉列表,然后选择自动手动

  5. 如果您选择手动,请指定外部 IP 地址

  6. 要获得高可用性,请点击添加 IP 地址,然后添加第二个地址。

  7. 点击保存

gcloud

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --nat-external-ip-pool=IP_ADDRESS2,IP_ADDRESS3

替换以下内容:

  • NAT_CONFIG:NAT 配置的名称。
  • NAT_ROUTER:您的 Cloud Router 路由器的名称。
  • REGION:要更新的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。
  • IP_ADDRESS2:手动外部 IP 地址。
  • IP_ADDRESS3:另一个手动外部 IP 地址。

使用其他网络层级的外部 IP 地址更新 NAT

您可以通过更改与网关关联的外部 IP 地址的网络层级来更新现有 Cloud NAT 网关。

通过更改自动分配的外部 IP 地址的网络层级来更新 NAT

当您更改与现有 Cloud NAT 网关关联的自动分配的外部 IP 地址的网络层级时,Google Cloud 会移除之前分配的 IP 地址,并将其替换为指定网络层级中的 IP 地址。之前分配的 IP 地址上的所有现有连接都会立即关闭。

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击已自动分配 IP 地址的 Cloud NAT 网关名称。

  3. 点击修改

  4. 对于网络服务层级,选择高级标准

  5. 点击保存

gcloud

使用 gcloud CLI 运行带有 --auto-network-tier 标志的 compute routers nats update 命令

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --auto-allocate-nat-external-ips
    --auto-network-tier=AUTO_NETWORK_TIER

替换以下内容:

  • NAT_CONFIG:NAT 配置的名称。

  • NAT_ROUTER:您的 Cloud Router 路由器的名称。

  • REGION:要创建的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。

  • AUTO_NETWORK_TIER:为 Cloud NAT 网关自动分配 IP 地址时要使用的网络层级。允许的值包括 PREMIUMSTANDARD。如果未指定,则当前的项目级默认层级会与 Cloud NAT 网关相关联。

通过更改手动分配的 IP 地址的网络层级来更新 NAT

您可以通过手动指定其他层级的外部 IP 地址来更新现有 NAT。您可以分配标准层级和/或高级层级的外部 IP 地址,但需满足特定条件。在指定其他层级的外部 IP 地址之前,请先排空现有 IP 地址,以继续维持现有连接并阻止现有 IP 地址上的新连接。

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击已手动分配 IP 地址的 Cloud NAT 网关名称。

  3. 点击修改

  4. 如需指定与当前所选层级不同层级的 IP 地址,请删除所有现有 IP 地址或为所有现有 IP 地址启用排空。

    如果为现有 IP 地址停用了排空,则无法更改网络层级。

  5. 对于网络服务层级,选择高级标准

  6. 从有效的可用 IP 地址列表中选择一个外部 IP 地址。

  7. 可选:如需添加更多 IP 地址,请点击添加 IP 地址

  8. 点击保存

gcloud

如需通过手动将现有的外部 IP 地址替换为其他网络层级的新外部 IP 地址来更新现有网关,请使用 compute routers nats update 命令--nat-external-ip-pool 字段。

如需详细了解如何手动更改现有外部 IP 地址,请参阅更改与 NAT 关联的外部 IP 地址

排空与 NAT 关联的外部 IP 地址

在移除手动配置的 IP 地址之前,您可以对其执行排空操作,以确保现有的连接不会中断。当 IP 地址已排空时,所有现有连接都可以继续运行,直到其自然到期。您可以查看日志,以检查现有连接的状态。

已排空的 IP 地址不接受新的连接。不过,这些 IP 地址会与 NAT 配置保持关联。

NAT 配置中必须至少有一个有效地址,这意味着您不能排空配置中的所有 IP 地址。

如需查看 NAT IP 地址的状态,您可以显示 NAT 状态

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击您的 Cloud NAT 网关。

  3. 点击修改

  4. NAT IP 地址字段中,将相应 IP 地址旁的 IP 排空值设置为开启

  5. 点击保存

gcloud

如需排空地址,您必须在同一命令中将其从活跃池移至排空池。如果您使用一个命令将该地址从活跃池中移除,而未将其添加到排空池,那么该 IP 地址会从服务中删除,并且现有连接会立即终止。

如果您将 IP 地址从排空池移至活跃池,则会取消排空该 IP 地址。如果您同时从这两个池中移除了 NAT IP 地址,则会将该地址与 NAT 配置断开。

此命令会使 NAT 配置中的其他字段保持不变。

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --nat-external-ip-pool=IP_ADDRESS3 \
    --nat-external-drain-ip-pool=IP_ADDRESS2

其中:

  • --nat-external-ip-pool=IP_ADDRESS3 会更新活跃池以省略 IP_ADDRESS2
  • --nat-external-drain-ip-pool=IP_ADDRESS2 会向排空池添加 IP_ADDRESS2

请替换以下内容:

  • NAT_CONFIG:NAT 配置的名称。
  • NAT_ROUTER:您的 Cloud Router 路由器的名称。
  • REGION:要更新的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。
  • IP_ADDRESS3:IP 地址。
  • IP_ADDRESS2:另一个 IP 地址。

更新端点映射

您可以为网关启用或停用端点独立映射。默认情况下,此选项处于停用状态。将端点独立映射从已启用切换为已停用(或从已停用更改为已启用)不会中断现有连接。

如果 Cloud NAT 网关使用 NAT 规则或动态端口分配,则无法启用端点独立映射。

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击您的 Cloud NAT 网关。

  3. 点击修改

  4. 点击高级配置

  5. 如需启用端点独立映射,请选中启用端点独立映射复选框。如需停用端点独立映射,请取消选中该复选框。

  6. 点击保存

gcloud

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    [--enable-endpoint-independent-mapping | --no-enable-endpoint-independent-mapping]

替换以下内容:

  • NAT_CONFIG:NAT 配置的名称。
  • NAT_ROUTER:您的 Cloud Router 路由器的名称。
  • REGION:要更新的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。

更新日志记录

如需为现有 Cloud NAT 网关添加、修改或移除日志记录,请参阅配置日志记录

删除 Public NAT 配置

如果删除网关配置,则系统会从 Cloud Router 路由器中移除 NAT 配置,但不会删除路由器本身。

控制台

  1. 在 Google Cloud 控制台中,转到 Cloud NAT 页面。

    转到 Cloud NAT

  2. 选中您要删除的网关配置旁边的复选框。

  3. 菜单上,点击删除

gcloud

gcloud compute routers nats delete NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION

替换以下内容:

  • NAT_CONFIG:NAT 配置的名称。
  • ROUTER_NAME:您的 Cloud Router 路由器的名称。
  • REGION:要删除的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。

配额和限制

如需了解配额和限制信息,请参阅配额页面。

设置示例

以下示例展示了如何使用 Google Cloud 测试 Cloud NAT:

后续步骤