PPTP VPN到亚马逊EC2 windows 2003实例

我试图build立一个VPN连接到运行Windows Server 2003的EC2实例。但我无法得到它的工作。 我在服务器上的事件日志中得到这个错误。

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

所以客户端连接,但由于无法发送GRE数据包,它失败。 据我了解GRE封包被亚马逊封锁,但有没有办法打开这个? 这与创build安全组的ICMP选项相同吗? 我已经尝试添加错误消息中提到的ICMP 47。 但是没有效果。

任何帮助表示赞赏。

向亚马逊安全组添加GRE是非常容易的,但有些隐藏起来。 在你的情况下,要允许PPTP VPN入站连接到EC2实例,在安全组中创build一个规则如下:

  1. 在“创build新规则”下拉菜单中select“自定义协议规则”。
  2. 在“协议”字段中input“47”。
  3. 为客户端子网inputCIDR(IP范围)(仅用于testing,将其保留为0.0.0.0/0,稍后将其更改为特定networking)。
  4. 添加到规则。

一旦添加规则,您将会在规则窗口中看到“GRE”被特别添加。

看这个截图。

你可能不得不看看l2tp,因为pptp需要GRE(协议47),我相信这是不可能的EC2

你可以在这些实例上安装OpenVPN吗? 你可能会有更多的运气

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

要解决该问题,请在VPC中启动您的实例。 可以为任何协议编写VPC实例的安全组 ,尽pipe您可能需要使用命令行ec2-authorize工具来创build规则。

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

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