我如何排查与 Amazon VPC 的 VPN 隧道连接故障?

2 分钟阅读
0

我在建立和维护与 Amazon Virtual Private Cloud(Amazon VPC)中的 AWS 基础结构的 AWS Site-to-Site VPN 连接时遇到了问题。

简述

Amazon VPC 网络模型支持与 AWS 基础结构的开放标准的加密 IPsec 虚拟专用网络(VPN)连接。建立与 Amazon VPC 的 VPN 隧道连接包括:

  • VPN 隧道互联网密钥交换(IKE)配置
  • VPN 隧道互联网协议安全(IPsec)配置
  • 网络访问控制列表(NACL)配置
  • Amazon VPC 安全组规则配置
  • Amazon Elastic Compute Cloud(Amazon EC2)实例网络路由表配置
  • Amazon EC2 实例防火墙配置
  • VPN 网关配置,包括虚拟专用网关或中转网关

如果您在从 Amazon VPC 建立或维护 Site-to-Site VPN 连接时遇到问题,请尝试下列方法来解决问题。

解决方法

如果无法建立 Site-to-Site VPN 隧道

如需解决建立 Site-to-Site VPN 隧道时出现的失败问题,您必须确定失败发生在哪个阶段:

如果已建立 Site-to-Site VPN 隧道

如果两个 VPN 隧道都已建立,请执行下列步骤:

  1. 打开 Amazon EC2 控制台,然后查看您的 Amazon VPC 中的网络访问控制列表(NACL)。自定义 NACL 可能会影响连接的 VPN 建立网络连接的能力。有关更多信息,请参阅 Work with network ACLs
  2. 按照更新安全组规则中的步骤激活入站 SSHRDPICMP 访问。
  3. 验证您的 Amazon EC2 实例中指定的路由表是否正确。有关更多信息,请参阅 working with Route Tables
  4. 当使用两个隧道均正常运行的主动/主动配置时: 在使用主动/主动配置时,AWS 会自动将其中一个活动隧道指定为首选 VPN 隧道,用于将流量从 AWS 发送到本地网络。使用主动/主动配置时,客户网关必须在虚拟隧道接口上激活非对称路由。有关更多信息,请参阅如何将我的 Site-to-Site VPN 连接配置为首选隧道 A 而不是隧道 B?
  5. 验证 VPC 内部是否没有防火墙在阻止 Amazon EC2 实例的流量:
  • 对于 Amazon EC2 Windows 实例: 打开命令提示符,然后运行命令 WF.msc
  • 对于 Amazon EC2 Linux 实例: 打开终端,然后使用适当的参数运行 iptables 命令。有关 iptables 命令的更多信息,请从终端运行 man iptables 命令。
  • 如果您的客户网关设备实施了基于策略的 VPN: 请注意,AWS 会将安全关联数量限制为一对。一对包括一个入站和一个出站安全关联。当使用基于策略的 VPN 时,最佳实践是将内部网络的源地址设置为 0.0.0.0/0。然后,将目标地址设置为 VPC 子网(示例: 192.168.0.0/16)。这些设置会将流量定向到 VPC 并遍历 VPN,不会创建额外的安全关联。有关更多信息,请参阅我如何解决 AWS VPN 终端节点与基于策略的 VPN 之间的连接问题?

如果实例连接和 VPC 配置被从可能的根本原因中排除

从 Linux 的终端会话运行 traceroute 实用程序。或者,从 Windows 的命令提示符运行 tracert 实用程序。traceroutetracert 都必须从您的内部网络运行到 VPN 所连接的 VPC 中的 Amazon EC2 实例。

  • 如果 traceroute 输出在与您的内部网络关联的 IP 地址处停止,验证到 VPN 边缘设备的路由路径是否正确。
  • 如果 tracert 输出在与您的内部网络关联的 IP 地址处停止,验证到 VPN 边缘设备的路由路径是否正确。
  • 如果您确认来自内部网络的流量在到达您的客户网关设备,但未能到达 EC2 实例: 验证 VPN 客户网关上的 VPN 配置、策略和 NAT 设置是否正确。接下来,验证上游设备(如果有)是否允许流量流。

解决边界网关协议(BGP)的问题

如果**边界网关协议(BGP)**已关闭,确保已定义 BGP 自治系统号(ASN)ASN 是您在创建客户网关时使用的号码。与您的客户网关关联的 ASN 包含在可下载 VPN 配置属性中。有关更多信息,请参阅 Virtual private gateway

您可以使用已经分配给您的网络的现有 ASN。如果未分配 ASN,您可以使用 64512–65534 范围内的专用 ASN。配置的 ASN 必须与您在 AWS 中创建 VPN 时提供的 ASN 匹配。确保客户网关上的任何本地防火墙配置都允许 BGP 流量传递到 AWS。有关网关连接故障排除的更多信息,请参阅 Troubleshooting your customer gateway device


相关信息

What is AWS Site-to-Site VPN?

VPC with public and private subnets and AWS Site-to-Site VPN access

VPC with a private subnet only and AWS Site-to-Site VPN access

我如何通过 VPN 解决 BGP 连接问题?

AWS 官方
AWS 官方已更新 2 年前