外部访问规则

Google Cloud VMware Engine 使用防火墙规则来控制对外部 IP 地址的访问。对于所有其他访问权限控制,请在 NSX-T 数据中心内管理防火墙设置。如需了解详情,请参阅管家模式的防火墙

准备工作

  • 在应用于私有云的网络政策中,启用互联网访问服务和外部 IP 地址服务。
  • 分配外部 IP

创建外部访问规则

如需使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 创建外部访问规则,请执行以下操作:

控制台

如需使用 Google Cloud 控制台创建外部访问规则,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往外部访问规则页面。

    前往“外部访问规则”页面

  2. 点击创建

  3. 输入新防火墙规则的详细信息;如需了解详情,请参阅防火墙规则的属性

  4. 点击创建以将新防火墙规则添加到项目的防火墙规则列表中。

gcloud

输入 gcloud vmware network-policies create 命令,以使用 Google Cloud CLI 创建外部访问规则:

gcloud vmware network-policies external-access-rules create RULE_NAME \
--location=REGION \
--network-policy=NETWORK_POLICY_NAME \
--priority=1000 \
--ip-protocol=TCP \
--destination-ranges=0.0.0.0/0 \
--source-ports=22,10000-11000 \
--destination-ports=22 \
--action=ACTION

替换以下内容:

  • RULE_NAME:此规则的名称
  • REGION:此请求对应的区域
  • NETWORK_POLICY_NAME:此请求的网络政策
  • ACTION:要执行的操作,例如 ACCESSDENY

API

如需使用 VMware Engine API 创建外部访问规则,请发出 POST 请求:

POST "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/networkPolicies/NETWORK_POLICY_NAME-network-policy/externalAccessRules?external_access_rule_id=RULE_NAME"

'{
  "priority": 1000,
  "action": "ACTION",
  "ip_protocol":  "tcp",
  "destination_ip_ranges": [{"ip_address_range": "0.0.0.0/0"}],
  "destination_ports": ["22"],
  "source_ip_ranges": [{"ip_address_range": "34.148.30.114/32"}],
  "source_ports": ["22", "10000-11000"]
}'

替换以下内容:

  • PROJECT_ID:此请求的项目
  • REGION:此请求对应的区域
  • NETWORK_POLICY_NAME:此请求的网络政策
  • RULE_NAME:此规则的名称
  • ACTION:要执行的操作,例如 ACCESSDENY

列出外部访问规则

如需使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 列出外部访问规则,请执行以下操作:

控制台

如需使用 Google Cloud 控制台列出外部访问规则,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往外部访问规则页面。

    前往“外部访问规则”页面

  2. 摘要页面包含一个列出了所有外部访问规则的表。本摘要页面介绍了对属性所做的任何更改。

gcloud

如需使用 Google Cloud CLI 列出外部访问规则,请使用 gcloud vmware network-policies external-access-rules list 命令

gcloud vmware network-policies external-access-rules list \
--network-policy=NETWORK_POLICY_NAME \
--location=REGION

替换以下内容:

  • NETWORK_POLICY_NAME:此请求的网络政策
  • REGION:此请求对应的区域。

API

如需使用 VMware Engine API 列出外部访问规则,请发出 GET 请求:

  GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID>/locations/REGION/networkPolicies/NETWORK_POLICY_NAME/externalAccessRules"

替换以下内容:

  • PROJECT_ID:此项目的 ID
  • REGION:此请求对应的区域
  • NETWORK_POLICY_NAME:此请求的网络政策

修改外部访问规则

如需使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 修改外部访问规则,请执行以下操作:

控制台

如需使用 Google Cloud 控制台修改外部访问规则,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往外部访问规则页面。

    前往“外部访问规则”页面

  2. 点击行末的更多 图标,然后选择修改

gcloud

如需使用 Google Cloud CLI 修改外部访问规则,请使用 gcloud vmware network-policies update 命令

gcloud vmware network-policies external-access-rules update RULE_NAME \
  --network-policy=NETWORK_POLICY_NAME \
  --location=REGION \
  --action=ACTION \
  --ip-protocol UDP \
  --priority 999

替换以下内容:

  • RULE_NAME:此规则的名称
  • NETWORK_POLICY_NAME:此请求的网络政策
  • REGION:此请求对应的区域

API

如需使用 VMware Engine API 修改外部访问规则,请发出 PATCH 请求:

  PATCH "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/networkPolicies/NETWORK_POLICY_NAME/externalAccessRules/RULE_NAME?update_mask=action,ip_protocol,priority"

  '{
    "action": "ACTION",
    "ip_protocol": "udp",
    "priority": 999
  }'

替换以下内容:

  • PROJECT_ID:此项目的 ID
  • REGION:此请求对应的区域
  • NETWORK_POLICY_NAME:此请求的网络政策
  • RULE_NAME:此规则的名称
  • ACTION:要执行的操作,例如 ACCESSDENY

删除外部访问规则

如需使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 删除外部访问规则,请执行以下操作:

控制台

如需使用 Google Cloud 控制台删除外部访问规则,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往外部访问规则页面。

    前往“外部访问规则”页面

  2. 点击行末的删除 图标,然后选择删除

gcloud

如需使用 Google Cloud CLI 删除外部访问规则,请使用 gcloud vmware network-policies external-access-rules delete 命令

gcloud vmware network-policies external-access-rules delete RULE_NAME \
  --network-policy=NETWORK_POLICY_NAME \
  --location=REGION

替换以下内容:

  • RULE_NAME:此规则的名称
  • NETWORK_POLICY_NAME:此请求的网络政策
  • REGION:此请求对应的区域

API

如需使用 VMware Engine API 删除外部访问规则,请发出 DELETE 请求:

  DELETE "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/networkPolicies/NETWORK_POLICY_NAME/externalAccessRules/RULE_NAME"

替换以下内容:

  • PROJECT_ID:此项目的 ID
  • REGION:此请求对应的区域
  • NETWORK_POLICY_NAME:此请求的网络政策
  • RULE_NAME:此规则的名称

防火墙规则属性

防火墙规则具有以下属性:

规则名称
唯一标识防火墙规则及其用途的名称。
网络政策
要与防火墙规则关联的网络政策。防火墙规则适用于进出使用此网络政策的 VMware Engine 网络的流量。
说明
此网络政策的说明。
优先级
100 到 4096 之间的数字,其中 100 是最高优先级。规则按照优先级从高到低的顺序处理。当流量遇到规则匹配时,规则处理会停止。优先级较低的规则与优先级较高的规则相同,因此未处理这些规则。优先级不必是唯一的。
对匹配项执行的操作
基于成功的规则匹配,防火墙规则是允许还是拒绝流量。
协议
防火墙规则所涵盖的互联网协议。
来源 IP
要与防火墙规则匹配的流量来源 IP 地址。值可以是 IP 地址或无类别域间路由 (CIDR) 块(例如 10.0.0.0/24)。
来源端口
要与防火墙规则匹配的流量来源端口。值可以是单个端口或端口范围,例如 443 或 8000-8080。
目的地 IP
要与防火墙规则匹配的流量目的地 IP 地址。值可以是 IP 地址或已分配的所有外部 IP 地址。
目标端口
要与防火墙规则匹配的流量目的地端口。值可以是单个端口或端口范围,例如 443 或 8000-8080。通过指定范围,您可以减少要创建的安全规则的数量。

后续步骤