如何排查与 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 建立网络连接的能力。有关详细信息,请参阅使用网络 ACL
  2. 按照更新安全组规则中的步骤激活入站 SSHRDPICMP 访问权限。
  3. 验证您的 Amazon EC2 实例中指定的路由表是否正确。有关详细信息,请参阅使用路由表
  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 配置属性中。有关详细信息,请参阅虚拟专用网关

您可以使用已经分配给您的网络的现有 ASN。如果未分配 ASN,则可以使用 64512–65534 范围内的私有 ASN。配置的 ASN 必须与您在 AWS 中创建 VPN 时提供的 ASN 匹配。确保客户网关上的任何本地防火墙配置都允许 BGP 流量通过并传递到 AWS。有关网关连接故障排除的详细信息,请参阅对客户网关设备进行故障排除


相关信息

什么是 AWS Site-to-Site VPN?

具有公有和私有子网以及 AWS Site-to-Site VPN 访问权限的 VPC

具有仅私有子网和 AWS Site-to-Site VPN 访问权限的 VPC

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

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