如何使用 NAT 网关设置 AWS Network Firewall?
我想将我的 AWS Network Firewall 配置为使用 NAT 网关检查流量。
简短描述
AWS Network Firewall 可对进出 Amazon Virtual Private Cloud(Amazon VPC)内部资源的流量提供更精细的控制。为了保护您的 Amazon VPC 资源,您可以在其自己的子网中部署 Network Firewall 端点,并通过这些子网路由工作负载实例流量。可以通过以下方式实现这一点:
- 创建 VPC
- 创建防火墙
- 配置流量路由
**注意:**Network Firewall 无法检查部署了防火墙端点的同一子网中的工作负载。
解决方法
创建 VPC
- 打开 Amazon VPC 控制台。
- 在 VPC 控制面板上,单击 Create VPC(创建 VPC)。
- 在 VPC Settings(VPC 设置)中,输入以下内容:
选择 VPC and more(VPC 等)。
在 Name tag auto-generation(名称标签自动生成)下,输入 VPC 的名称。在本示例中,VPC 命名为 Protected_VPC_10.0.0.0_16-vpc。如果选择 Auto-generate(自动生成)选项,则名称将作为名称标签添加到 VPC 中的所有资源。
对于 IPv4 CIDR block(IPv4 CIDR 块),输入 10.0.0.0/16。
对于 IPv6 CIDR block(IPv6 CIDR 块),选择 No IPv6 CIDR block(无 IPv6 CIDR 块)。
对于 Tenancy(租赁),选择 Default(默认)。
对于 Number of Availability Zones (AZs) [可用区(AZ)数量],选择 2。
在 Customize AZs(自定义可用区)下,选择两个可用区。在此示例中,选择了 us-east-2a 和 us-east-2b。
对于 Number of public subnets(公有子网的数量),选择 2。
对于 **Number of private subnets(私有子网的数量),**选择 4。其中两个私有子网用于防火墙,两个用于工作负载子网。
对于 NAT gateways ($) [NAT 网关($)],选择 1 per AZ(每个可用区 1 个)。NAT 网关自动部署在公有子网中。
对于 VPC endpoints(VPC 端点),选择 None(无)。 - 选择 Create VPC(创建 VPC)。
- 根据用途命名子网:
有两个公有子网用于 NAT 网关,在本示例中分别命名为 Public_Subnet_AZa 和 Public_Subnet_AZb。
对于私有子网,有两个用于防火墙端点,在本示例中分别命名为 Firewall_Subnet_AZa 和 Firewall_Subnet_AZb。
另外两个私有子网用于工作负载端点,在本示例中分别命名为 Private_Subnet_AZa 和 Private_Subnet****_AZb。
创建防火墙
- 在导航窗格的 Network Firewall 下,选择 Firewalls(防火墙)。
- 选择 Create firewall(创建防火墙)。
- 在 Create firewall(创建防火墙)下,输入以下内容:
输入防火墙的名称。在本示例中,防火墙命名为 Network-Firewall-Test。
对于 VPC,选择 Protected_VPC_10.0.0.0_16-vpc。
对于 Firewall subnets(防火墙子网),选择第一个可用区(us-east-2a),然后为子网选择 Firewall_Subnet_AZa。然后,选择 Add new subnet(添加新子网)并对第二个可用区(us-east-2b)重复此操作,然后为子网选择 Firewall_Subnet_AZb。
对于 Associated firewall policy(已关联防火墙策略),选择 Create and associate an empty firewall policy(创建和关联空的防火墙策略)。
在 New firewall policy name(新的防火墙策略名称)中,输入新策略的名称。 - 选择 Create firewall(创建防火墙)。每个子网都必须有一个唯一的路由表。四个私有子网均有一个与之关联的唯一路由表,而公有子网共享一个路由表。您必须创建一个新的路由表,其中包含指向互联网网关的静态路由,并将其关联到一个公有子网。
配置流量路由
流量的流向如下:
- 从 AZa 中的工作负载实例启动的流量将转发到 AZa 中的防火墙端点。
- AZa 中的防火墙端点将流量路由到 AZa 中的 NAT 网关。
- AZa 中的 NAT 网关将流量转发到与 VPC 关联的互联网网关。
- 互联网网关将流量转发到互联网。
反向的流量通过相同路径反向传输:
- 来自互联网的返回流量到达连接到 VPC 的互联网网关。只有一个互联网网关能连接到 VPC。
- 互联网网关将流量转发到 AZa 中的 NAT 网关。互联网网关根据工作负载可用区做出此决定。由于流量的目的地在 AZa 中,互联网网关选择 AZa 中的 NAT 网关来转发流量。无需为互联网网关维护路由表。
- AZa 中的 NAT 网关将流量转发到 AZa 中的防火墙端点。
- AZa 中的防火墙端点将流量转发到 AZa 中的工作负载。
**注意:**互联网网关可以针对从互联网返回到工作负载实例的数据包识别 NAT 网关。
创建 VPC 和防火墙后,必须配置路由表。配置路由表时,请记住以下几点:
- AZa(Private_Subnet_AZa)中的私有子网将所有发往互联网的流量转发到 AZa(Firewall_Subnet_AZa)中的防火墙端点。AZb 中的私有子网和 AZb 中的防火墙端点将重复此操作。
- AZa(Firewall_Subnet_AZa)中的防火墙子网将所有发往互联网的流量转发到 AZa(Public_Subnet_AZa)中的 NAT 网关。AZb 中的防火墙子网和 AZb 中的 NAT 网关将重复此操作。
- AZa(Public_Subnet_AZa)中的公有子网将所有流量转发到连接到 VPC 的互联网网关。
- 返回流量反向遵循相同的路径。
**注意:**流量保持在同一个可用区内,因此网络防火墙的出口和入口流量路由都通过同一个防火墙端点。这能让每个可用区中的防火墙端点对数据包进行有状态的检查。
以下是路由表的配置示例。
Public_Subnet_RouteTable_AZa(子网关联:Public_Subnet_AZa)
目的地 | 目标 |
---|---|
0.0.0.0/0 | 互联网网关 |
10.0.0.0/16 | 本地 |
10.0.128.0/20 | AZa 中的防火墙端点 |
**注意:**在此示例中,10.0.128.0/20 是 Private_Subnet_AZa 的 CIDR。
Public_Subnet_RouteTable_AZb(子网关联:Public_Subnet_AZb)
目的地 | 目标 |
---|---|
0.0.0.0/0 | 互联网网关 |
10.0.0.0/16 | 本地 |
10.0.16.0/20 | AZa 中的防火墙端点 |
**注意:**在此示例中,10.0.16.0/20 是 Private_Subnet_AZb 的 CIDR。
Firewall_Subnet_RouteTable_AZa(子网关联:Firewall_Subnet_AZa)
目的地 | 目标 |
---|---|
0.0.0.0/0 | Public_Subnet_AZa 中的 NAT 网关 |
10.0.0.0/16 | 本地 |
Firewall_Subnet_RouteTable_AZb(子网关联:Firewall_Subnet_AZb)
目的地 | 目标 |
---|---|
0.0.0.0/0 | Public_Subnet_AZa 中的 NAT 网关 |
10.0.0.0/16 | 本地 |
Private_Subnet_RouteTable_AZa(子网关联:Private_Subnet_AZa)
目的地 | 目标 |
---|---|
0.0.0.0/0 | AZa 中的防火墙端点 |
10.0.0.0/16 | 本地 |
Private_Subnet_RouteTable_AZb(子网关联:Private_Subnet_AZb)
目的地 | 目标 |
---|---|
0.0.0.0/0 | AZb 中的防火墙端点 |
10.0.0.0/16 | 本地 |
要验证您的路由配置是否正确,您可以在您的一个私有子网中部署 EC2 实例来测试您的互联网连接。如果在网络防火墙策略中没有配置任何规则,则无法对流量进行检查,并且流量可以到达互联网。确认已配置路由、安全组和网络访问控制列表后,请向防火墙策略添加规则。
**注意:**您也可以将 Network Firewall 设置为利用防火墙路由来自互联网的流量,然后使其通过 NAT 网关。有关详细信息,请参阅使用互联网网关和 NAT 网关的架构。
相关信息

相关内容
- 已提问 3 个月前lg...
- 已提问 2 个月前lg...
- 已提问 5 个月前lg...
- 已提问 4 个月前lg...
- 已提问 4 个月前lg...
- AWS 官方已更新 9 个月前
- AWS 官方已更新 5 个月前
- AWS 官方已更新 2 个月前