PPTP VPN 到亚马逊 EC2 Windows 2003 实例

PPTP VPN 到亚马逊 EC2 Windows 2003 实例

我正在尝试设置与运行 Windows Server 2003 的 EC2 实例的 VPN 连接。但我无法让它工作。我在服务器的事件日志中收到此错误。

VPN 服务器和 VPN 客户端 xxx.xxx.xxx.xxx 之间的连接已建立,但 VPN 连接无法完成。最常见的原因是 VPN 服务器和 VPN 客户端之间的防火墙或路由器未配置为允许通用路由封装 (GRE) 数据包(协议 47)。验证 VPN 服务器和 Internet 之间的防火墙和路由器是否允许 GRE 数据包。确保用户网络上的防火墙和路由器也配置为允许 GRE 数据包。如果问题仍然存在,请让用户联系 Internet 服务提供商 (ISP),以确定 ISP 是否可能阻止了 GRE 数据包。

因此,客户端确实连接了,但由于无法发送 GRE 数据包,因此失败。据我所知,GRE 数据包被 Amazon 阻止了,但有什么办法可以打开它吗?这与创建安全组中的 ICMP 选项相同吗?我尝试添加错误消息中提到的 ICMP 47。但没有效果。

任何帮助都将受到赞赏。

答案1

将 GRE 添加到 Amazon 安全组非常简单,但有些隐蔽。在您的例子中,要允许 PPTP VPN 入站连接到 EC2 实例,请在安全组中创建一条规则,如下所示:

  1. 在“创建新规则”下拉菜单中选择“自定义协议规则”。
  2. 在“协议”字段中输入“47”。
  3. 输入客户端子网的 CIDR(IP 范围)(仅用于测试,将其保留为 0.0.0.0/0,稍后将其更改为特定网络。)
  4. 添加到规则。

一旦您添加规则,您将看到在规则窗口中专门添加“GRE”。

请参阅此截图。

答案2

您可能需要考虑 l2tp,因为 pptp 需要允许 GRE(协议 47),而我认为这在 EC2 上是不可能的

答案3

你能在这些实例上安装 OpenVPN 吗?你可能更幸运……

答案4

常规 EC2 实例的安全组只能应用针对 TCP、UDP 和 ICMP 的规则。

要解决该问题,请在私有云平台VPC 实例的安全组可以为任何协议编写,但您可能需要使用命令行ec2-authorize工具来创建规则。

这足以为您的 VPC 实例打开 GRE:

ec2-authorize security_group_name -P 47 -O access_key -W secret_key <any other options>

相关内容