配置与 VPN 配合使用的网络 ACL
您可以在 VPN 网关子网和通过 VPN 隧道通信的其他 VPC 子网上设置网络访问控制列表(NACL)。
NACL 是一组无状态规则,可在子网级别控制传入和传出流量。 与过滤进出单个虚拟服务器实例流量的安全组不同,NACL 管理的是进出整个子网的流量。 您可以应用网络 ACL 规则,限制 VPN 网关和虚拟服务器实例在特定子网中的流量。 这些规则有助于控制哪些网络实体可以与内部网络建立 IPsec 通道。
VPN 网关和 VPC 虚拟服务器实例可以共享相同或不同的 NACL,可以驻留在相同或不同的子网 CIDR 块中。
用例 1:VPN 网关和虚拟服务器实例共享 NACL
本用例演示了 IBM Cloud VPN 网关和 VPC 虚拟服务器实例受共享 NACL 管理的场景,从而实现一致的流量控制策略。 在这两种情况下,VPN 网关和虚拟服务器都是同一个 VPC 的一部分。
方案 1:VPN 网关和虚拟服务器实例位于同一子网中
在这种情况下,VPN 网关和虚拟服务器实例都位于 VPC 的同一子网内,并受共享 NACL 的保护。 这种设置通过对两种资源应用一套一致的规则,简化了网络控制。
这些步骤描述了通过共享 NACL 子网对的数据包流,如下图所示。
- 加密流量在内部(对等)网关和共享子网之间流动,覆盖双方的 IP 范围,这些 IP 范围是加密域(内部专用 CIDR、VPC CIDR)的一部分。
- 数据包到达 VPC VPN 网关后,会被解密并转发到同一子网中的虚拟服务器实例。
- 内部网络的响应数据包会返回到 VPN 网关。
- 最后,数据包经过加密,从共享子网返回内部网关。
当 VPN 网关和虚拟服务器实例位于共享子网并创建了共享 NACL 时,必须为内部网关和共享子网 NACL 对之间的双向流量添加以下规则。 有关更多信息,请参阅设置网络 ACL。
- 表中的第一对入站和出站规则允许管理流量。 该流量使用 IKE 和 IPsec 协议建立和维护内部网关与 VPN 网关之间的 VPN 连接。
- 第二对入站和出站规则允许 VPN 隧道流量通过已建立的 VPN 隧道在内部网络和 VPC CIDR 之间流动。
- 可选:最后一条入站规则允许用于连接性测试的流量,如 ping VPN 网关或 VPC 虚拟服务器实例,以进行可达性检查和故障排除。
| 入站和出站规则 | 协议 | 源 IP | 源端口 | 目标 IP | 目标端口 |
|---|---|---|---|---|---|
| 入站 | UDP | 您的内部网关公共 IP | 500 | VPN 网关 IP | 500 |
| 入站 | UDP | 您的内部网关公共 IP | 4500 | VPN 网关 IP | 4500 |
| 出站 | UDP | VPN 网关 IP | 500 | 内部网关公共 IP | 500 |
| 出站 | UDP | VPN 网关 IP | 4500 | 内部网关公共 IP | 4500 |
| 入站 | ICMP-TCP-UDP | 内部部署,专用 CIDR | 不适用 | VPC CIDR | 不适用 |
| 出站 | ICMP-TCP-UDP | VPC CIDR | 不适用 | 内部部署,专用 CIDR | 不适用 |
| 入境(可选) | ICMP | 任意 | 不适用 | 任意 | 不适用 |
例如,下表显示了入站和出站规则的源 IP 地址和目标 IP 地址。 在本例中,VPN 网关和虚拟服务器实例都位于共享子网 CIDR 10.240.0.0/24 中。 VPN 网关的 CIDR IP 地址是 10.240.0.4/32。
| 入站和出站规则 | 协议 | 源 IP | 源端口 | 目标 IP | 目标端口 |
|---|---|---|---|---|---|
| 入站 | UDP | 203.0.113.5[1] |
500 | 10.240.0.4/32 |
500 |
| 入站 | UDP | 203.0.113.5 |
4500 | 10.240.0.4/32 |
4500 |
| 出站 | UDP | 10.240.0.4/32 |
500 | 203.0.113.5[2] |
500 |
| 出站 | UDP | 10.240.0.4/32 |
4500 | 203.0.113.5 |
4500 |
| 入站 | ICMP-TCP-UDP | 192.168.100.0/24[3] |
不适用 | 10.240.0.0/24 |
不适用 |
| 出站 | ICMP-TCP-UDP | 10.240.0.0/24 |
不适用 | 192.168.100.0/24[4] |
不适用 |
| 入境(可选) | ICMP | 任意 | 不适用 | 任意 | 不适用 |
方案 2:VPN 网关和虚拟服务器实例位于同一 VPC 的不同子网中
在这种情况下,VPN 网关和虚拟服务器实例位于同一 VPC 的不同子网中,并应用共享 NACL 来管理它们之间的流量。 这种配置需要额外考虑子网之间的流量路由。
这些步骤描述了通过共享 NACL 和不同子网的数据包流,如下图所示。
- 加密流量在内部(对等)网关和 VPN 网关子网之间流动,覆盖双方的 IP 范围,这些 IP 范围是加密域(内部专用 CIDR、VPC CIDR)的一部分。
- 数据包到达 VPC VPN 网关后,会被解密并从 VPN 子网转发到 VPC 虚拟服务器子网。
- 内部网络的响应数据包会返回 VPN 子网。
- 最后,数据包经过加密,从 VPN 子网返回内部网关。
当 VPN 网关和虚拟服务器实例位于不同子网并创建了共享 NACL 时,必须为内部网关和不同子网之间的双向流量添加以下规则。
| 入站和出站规则 | 协议 | 源 IP | 源端口 | 目标 IP | 目标端口 |
|---|---|---|---|---|---|
| 入站 | UDP | 您的内部网关公共 IP | 500 | VPN 网关 IP | 500 |
| 入站 | UDP | 您的内部网关公共 IP | 4500 | VPN 网关 IP | 4500 |
| 出站 | UDP | VPN 网关 IP | 500 | 内部网关公共 IP | 500 |
| 出站 | UDP | VPN 网关 IP | 4500 | 内部网关公共 IP | 4500 |
| 入站 | ICMP-TCP-UDP | 内部部署,专用 CIDR | 不适用 | VPC CIDR | 不适用 |
| 出站 | ICMP-TCP-UDP | VPC CIDR | 不适用 | 内部部署,专用 CIDR | 不适用 |
| 入境(可选) | ICMP | 任意 | 不适用 | 任意 | 不适用 |
例如,下表显示了入站和出站规则的源 IP 地址和目标 IP 地址。 在本例中,VPN 网关位于子网 CIDR 10.240.0.0/24 中,虚拟服务器实例位于子网 CIDR 10.240.2.0/24 中。
| 入站和出站规则 | 协议 | 源 IP | 源端口 | 目标 IP | 目标端口 |
|---|---|---|---|---|---|
| 入站 | UDP | 203.0.113.5[5] |
500 | 10.240.0.4/32 |
500 |
| 入站 | UDP | 203.0.113.5 |
4500 | 10.240.0.4/32 |
4500 |
| 出站 | UDP | 10.240.0.4/32 |
500 | 203.0.113.5[6] |
500 |
| 出站 | UDP | 10.240.0.4/32 |
4500 | 203.0.113.5 |
4500 |
| 入站 | ICMP-TCP-UDP | 192.168.100.0/24[7] |
不适用 | 10.240.2.0/24 |
不适用 |
| 出站 | ICMP-TCP-UDP | 10.240.2.0/24 |
不适用 | 192.168.100.0/24[8] |
不适用 |
| 入境(可选) | ICMP | 任意 | 不适用 | 任意 | 不适用 |
用例 2:VPN 网关和虚拟服务器实例使用不同的 NACL
本用例演示了 IBM Cloud VPN 网关和 VPC 虚拟服务器实例受不同 NACL 管理的场景,从而实现一致的流量控制策略。 在第一种情况下,VPN 网关和虚拟服务器属于同一个 VPC,而在第二种情况下,它们位于不同的 VPC 中,由一个中转网关连接。
场景 2:通过中转网关连接不同 VPC 中的 VPN 网关和虚拟服务器实例
在这种情况下,VPN 网关和虚拟服务器实例位于由中转网关连接的不同 VPC 内的不同子网中。 该配置使用与前述方案相同的程序,通过不同 VPC 中的子网转发数据包。
- 加密流量在内部网关和 VPN 网关子网之间流动。
- 数据包到达 VPC VPN 网关后,会被解密并转发到 VPC 虚拟服务器子网。
- 然后,响应数据包通过 VPN 子网发送回去,在那里再次加密并返回内部网关。
- 中转网关负责连接两个 VPC 并在它们之间转发数据包。
当 VPN 网关和虚拟服务器实例位于具有不同子网和不同 NACL 的不同 VPC 中时,必须为内部网关和不同 VPC 中的子网之间的流量添加以下规则。
为 VPN 网关子网配置 NACL
该 NACL 连接到 VPN 网关子网。 VPN 网关子网的流量规则必须涵盖用于建立 VPN 隧道的管理流量以及内部网络与 VPC 之间的加密 VPN 隧道流量。
| 入站和出站规则 | 协议 | 源 IP | 源端口 | 目标 IP | 目标端口 |
|---|---|---|---|---|---|
| 入站 | UDP | 您的内部网关公共 IP | 500 | VPN 网关 IP | 500 |
| 入站 | UDP | 您的内部网关公共 IP | 4500 | VPN 网关 IP | 4500 |
| 出站 | UDP | VPN 网关 IP | 500 | 内部网关公共 IP | 500 |
| 出站 | UDP | VPN 网关 IP | 4500 | 内部网关公共 IP | 4500 |
| 入站 | ICMP-TCP-UDP | 内部专用 CIDR | 不适用 | VPC CIDR | 不适用 |
| 出站 | ICMP-TCP-UDP | VPC CIDR | 不适用 | 内部部署,专用 CIDR | 不适用 |
| 入境(可选) | ICMP | 任意 | 不适用 | 任意 | 不适用 |
为虚拟服务器实例子网配置 NACL
此 NACL 连接到虚拟服务器子网。 虚拟服务器子网的流量规则必须涵盖内部网络与虚拟服务器实例之间通信的 VPN 隧道流量。
| 入站和出站规则 | 协议 | 源 IP | 源端口 | 目标 IP | 目标端口 |
|---|---|---|---|---|---|
| 入站 | ICMP-TCP-UDP | 内部部署,专用 CIDR | 不适用 | VPC CIDR | 不适用 |
| 出站 | ICMP-TCP-UDP | VPC CIDR | 不适用 | 内部部署,专用 CIDR | 不适用 |
流量故障排除
可选:此规则允许用于连接性测试的流量,如 ping VPN 网关或 VPC 虚拟服务器实例,以进行可达性检查和故障排除。
| 入站规则 | 协议 | 源 IP | 源端口 | 目标 IP | 目标端口 |
|---|---|---|---|---|---|
| 入境(可选) | ICMP | 任意 | 不适用 | 任意 | 不适用 |
示例:在不同 VPC 中配置 VPN 网关和虚拟服务器子网
以下示例说明了应用于不同 VPC 中 VPN 网关和虚拟服务器实例子网的特定 NACL 规则。 这些示例可帮助您根据特定子网 CIDR 和流量要求正确设置 NACL。
在本例中,VPC A 中的 VPN 网关位于子网 CIDR 10.240.0.0/24 中,VPC B 中的虚拟服务器位于子网 CIDR 10.240.2.0/24 中。 此外,VPN 网关和虚拟服务器位于不同的 NACL 中,这意味着需要为每个 NACL 配置不同的规则。 下表说明了 VPN 网关子网的 NACL 入站和出站规则。
| 入站和出站规则 | 协议 | 源 IP | 源端口 | 目标 IP | 目标端口 |
|---|---|---|---|---|---|
| 入站 | UDP | 203.0.113.5[13] |
500 | 10.240.0.4/32 |
500 |
| 入站 | UDP | 203.0.113.5 |
4500 | 10.240.0.4/32 |
4500 |
| 出站 | UDP | 10.240.0.4/32 |
500 | 203.0.113.5[14] |
500 |
| 出站 | UDP | 10.240.0.4/32 |
4500 | 203.0.113.5 |
4500 |
| 入站 | ICMP-TCP-UDP | 192.168.100.0/24[15] |
不适用 | 10.240.2.0/24 |
不适用 |
| 出站 | ICMP-TCP-UDP | 10.240.2.0/24 |
不适用 | 192.168.100.0/24[16] |
不适用 |
| 入境(可选) | ICMP | 任意 | 不适用 | 任意 | 不适用 |
本表说明了 VPC B 中虚拟服务器子网的 NACL 规则,显示了与 VPC A 中 VPN 网关子网相同类型的入站和出站流量。
| 入站和出站规则 | 协议 | 源 IP | 源端口 | 目标 IP | 目标端口 |
|---|---|---|---|---|---|
| 入站 | ICMP-TCP-UDP | 192.168.100.0/24 |
不适用 | 10.240.2.0/24 |
不适用 |
| 出站 | ICMP-TCP-UDP | 10.240.2.0/24 |
不适用 | 192.168.100.0/24 |
不适用 |
-
该地址是入站规则的内部网关公共 IP。 此设置允许从内部子网向 VPN 网关传输流量。 ↩︎
-
将目标 IP 设置为出站规则的内部网关公共 IP 地址。 此设置允许从 VPN 网关向内部子网传输流量。 ↩︎
-
该地址是您的内部专用 CIDR。 ↩︎
-
该地址是您的内部专用 CIDR。 ↩︎
-
该地址是入站规则的内部网关公共 IP。 此设置允许从内部子网向 VPN 网关传输流量。 ↩︎
-
将目标 IP 设置为出站规则的内部网关公共 IP 地址。 此设置允许从 VPN 网关向内部子网传输流量。 ↩︎
-
该地址是您的内部专用 CIDR。 ↩︎
-
该地址是您的内部专用 CIDR。 ↩︎
-
该地址是入站规则的内部网关公共 IP。 此设置允许从内部子网向 VPN 网关传输流量。 ↩︎
-
将目标 IP 设置为出站规则的内部网关公共 IP 地址。 此设置允许从 VPN 网关向内部子网传输流量。 ↩︎
-
该地址是您的内部专用 CIDR。 ↩︎
-
该地址是您的内部专用 CIDR。 ↩︎
-
该地址是入站规则的内部网关公共 IP。 此设置允许从内部子网向 VPN 网关传输流量。 ↩︎
-
将目标 IP 设置为出站规则的内部网关公共 IP 地址。 此设置允许从 VPN 网关向内部子网传输流量。 ↩︎
-
该地址是您的内部专用 CIDR。 ↩︎
-
该地址是您的内部专用 CIDR。 ↩︎