了解如何使用 Google Cloud 控制台创建和配置全球网络防火墙政策,以允许流向特定完全限定域名 (FQDN) 的出站流量。防火墙政策会阻止源自您的网络的所有其他出站流量。本快速入门创建包含子网的 Virtual Private Cloud (VPC) 网络,在 VPC 网络中创建虚拟机 (VM) 实例,设置使用出站流量规则的防火墙政策,然后测试虚拟机中的防火墙政策。
准备工作
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.
- 确保您具有 Compute Network Admin 角色 (
roles/compute.networkAdmin
)。
创建包含 IPv4 子网的自定义 VPC 网络
创建包含 IPv4 子网的自定义模式 VPC 网络。
在 Google Cloud 控制台中,转到 VPC 网络页面。
点击创建 VPC 网络。
对于名称,输入
vpc-fw-policy-egress
。对于子网创建模式,选择自定义。
在新子网部分中,为子网指定以下配置参数:
- 名称:输入
subnet-1
。 - 区域:选择 us-central1。
- IPv4 范围:输入
10.0.0.0/24
。
- 名称:输入
点击完成。
点击创建。
创建虚拟机
在上一部分中配置的子网中创建虚拟机。
在 Google Cloud 控制台中,转到创建实例页面。
对于名称,输入
instance-1-us
。对于区域,请选择
us-central1 (Iowa)
。展开高级选项,然后展开网络。
在网络接口部分中,展开现有网络接口并指定以下配置参数:
- 网络:选择 vpc-fw-policy-egress。
- 子网:选择 subnet-1 IPv4 (10.0.0.0/24)。
- 外部 IPv4 地址:选择无。
点击完成。
点击创建。
创建 Cloud Router 路由器和 Cloud NAT 网关
在上一部分中,您创建了一个没有任何外部 IP 地址的虚拟机。如需使该虚拟机能够访问公共互联网,请为创建虚拟机所在的同一区域和子网创建 Cloud Router 路由器和 Cloud NAT 网关。
在 Google Cloud 控制台中,转到 Cloud NAT 页面。
点击开始使用或创建 Cloud NAT 网关。
注意:如果这是您创建的第一个 Cloud NAT 网关,请点击开始。如果您已有网关,Google Cloud 会显示创建 Cloud NAT 网关按钮。如需创建其他网关,请点击创建 Cloud NAT 网关。
对于网关名称,输入
fw-egress-nat-gw
。在 NAT 类型列表中,选择公共。
在选择 Cloud Router 路由器部分中,指定以下配置参数:
- 网络:选择 vpc-fw-policy-egress。
- 区域:选择 us-central1(爱荷华)。
- Cloud Router:点击创建新路由器。
- 对于名称,输入
fw-egress-router
。 - 点击创建。
- 对于名称,输入
点击创建。
创建全球网络防火墙政策以启用 IAP
如需为网络中的虚拟机启用 Identity-Aware Proxy,请创建全球网络防火墙政策并向该政策添加防火墙规则。IAP 允许对虚拟机的管理员权限。
该防火墙规则必须具有以下特征:
- 应用于您希望可以使用 IAP TCP 转发访问的所有虚拟机。
- 允许 IP 地址范围
35.235.240.0/20
的入站流量。此范围包含 IAP 用于 TCP 转发的所有 IP 地址。 - 允许与您希望可以使用 IAP TCP 转发访问的所有端口(例如,用于 SSH 的端口
22
)的连接。
如需启用对 vpc-fw-policy-egress
网络中的所有虚拟机的 IAP 访问,请按照以下步骤操作:
在 Google Cloud 控制台中,转到防火墙页面。
点击创建防火墙政策。
在配置政策部分的政策名称中,输入
fw-egress-policy
。在部署范围列表中,选择全局,然后点击继续。
如需为政策创建规则,请在添加规则部分中点击添加规则。
- 在优先级字段中,输入
100
。 - 对于流量方向,选择入站。
- 对于对匹配项执行的操作,选择允许。
- 在日志列表中,选择开启。
- 在目标部分的目标类型中,选择网络中的所有实例。
- 在来源部分的 IP 范围中,输入
35.235.240.0/20
。 - 在协议和端口部分中,选择指定的协议和端口。
- 选中 TCP 复选框,在端口字段中,输入
22
。 - 点击创建。
- 在优先级字段中,输入
点击继续。
如需将 VPC 网络与政策关联,请在将政策与 VPC 网络关联部分中,点击关联。
选中 vpc-fw-policy-egress 复选框,然后点击关联。
点击继续。
点击创建。
添加防火墙规则以拒绝流向所有目的地的出站流量
如需拒绝流向所有目的地的出站流量,请向 fw-egress-policy
添加防火墙规则。
在 Google Cloud 控制台中,转到防火墙页面。
在网络防火墙政策部分中,点击 fw-egress-policy。
点击创建规则。
在优先级字段中,输入
700
。在流量方向列表中,选择出站。
在对匹配项执行的操作部分,选择拒绝。
在日志列表中,选择开启。
在目的地部分的 IP 范围中,输入
0.0.0.0/0
。点击创建。
添加防火墙规则以仅允许流向特定 FQDN 的出站流量
如需仅允许流向特定 FQDN (ads.google.com
) 的出站流量,请在 fw-egress-policy
中添加防火墙规则。
在 Google Cloud 控制台中,转到防火墙页面。
在网络防火墙政策部分中,点击 fw-egress-policy。
点击创建规则。
在优先级字段中,输入
600
。在流量方向列表中,选择出站。
对于对匹配项执行的操作,选择允许。
在日志列表中,选择开启。
在目标部分中,为 FQDN 输入
ads.google.com
。点击创建。
测试全球网络防火墙政策
配置全球网络防火墙政策后,请按照以下步骤操作来测试政策:
在 Google Cloud 控制台中,转到虚拟机实例页面。
在
instance-1-us
虚拟机实例的连接列中,点击 SSH。在 SSH-in-browser 对话框中,点击授权并等待连接建立。
如需验证是否允许流向 https://ads.google.com 的出站流量,请运行以下命令:
curl -I https://ads.google.com
上述命令会返回 https://ads.google.com 的标头信息,这意味着允许出站连接。
如需验证出站流量是否被阻止流向任何其他目的地,请指定任何 FQDN 并运行以下命令:
curl -m 2 -I https://mail.yahoo.com
上述命令会返回
Connection timed out
消息,这是正常的,因为您创建了防火墙规则,以拒绝流向除 https://ads.google.com 之外的所有目的地的出站流量。
查看日志
您可以通过访问日志来验证防火墙规则是否已应用于出站流量。如需查看日志详细信息,请按以下步骤操作:
在 Google Cloud 控制台中,转到防火墙页面。
在网络防火墙政策部分中,点击 fw-egress-policy。
在命中数列中,点击您在创建全球网络防火墙政策部分中创建的规则对应的数字。Logs Explorer 页面随即会打开。
如需查看应用于出站流量的防火墙规则,请展开单个日志。您可以通过展开相关部分来查看连接、处理方式、远程位置和规则详细信息。
清理
为避免因本快速指南中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。
要删除在本快速入门中创建的资源,请完成以下任务。
删除防火墙政策
在 Google Cloud 控制台中,转到防火墙页面。
在网络防火墙政策部分中,点击 fw-egress-policy。
点击关联标签页。
选中
vpc-fw-policy-egress
复选框,然后点击移除关联。在移除防火墙政策关联对话框中,点击移除。
点击删除。
在删除防火墙政策对话框中,点击删除。
删除虚拟机
在 Google Cloud 控制台中,转到虚拟机实例页面。
选中
instance-1-us
虚拟机对应的复选框。点击删除。
在删除 instance-1-us 对话框中,点击删除。
删除 Cloud NAT 网关和 Cloud Router 路由器
在 Google Cloud 控制台中,前往 Cloud Router 路由器页面。
选择
fw-egress-router
对应的复选框。点击删除。
在删除 fw-egress-router 对话框中,点击删除。
删除 Cloud Router 路由器时,关联的 Cloud NAT 网关也会被删除。
删除 VPC 网络及其子网
在 Google Cloud 控制台中,转到 VPC 网络页面。
在名称列中,点击 vpc-fw-policy-egress。
点击删除 VPC 网络。
在删除网络对话框中,点击删除。
删除 VPC 网络时,其子网也会被删除。
后续步骤
- 如需了解防火墙政策的概念,请参阅防火墙政策概览。
- 如需了解防火墙政策规则的概念,请参阅防火墙政策规则概览。
- 如需创建、更新、监控和删除 VPC 防火墙规则,请参阅使用 VPC 防火墙规则。
- 如需确定费用,请参阅 Cloud NGFW 价格。