我试图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一个规则如下:
一旦添加规则,您将会在规则窗口中看到“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>