在Azure中运行IPsec客户端VPN服务器

我目前正在探索在Azure中运行客户端VPN服务器的选项。 我已经检查了点对点VPNfunction,它似乎更像是一种pipe理员拨入的方法,而不是完全成熟的客户端VPN解决scheme。

其余选项之一是在Azure VM中运行客户端VPN服务器。 许多客户端VPN选项都以某种方式使用IPsec,它使用TCP / UDP以外的IP协议进行操作(ESP / AH)。 据我所知,Azure不允许TCP / UDP以外的stream量进入虚拟机。 基于端点的ACL只允许您selectTCP或UDP。 我刚刚对networking安全组(NSG)进行了调查,希望他们能提供一个解决scheme,但他们也只是在ACL中提供“TCP”,“UDP”或“*”作为协议选项。 这使我相信在Azure中运行IPsec服务器是不可能的。 这是正确的,还是有没有可用的选项,我还没有遇到? 显然有些选项只需要TCP / UDP(想到微软的SSTP),但是特别是在IPsec的问题上呢?

作为一个侧面的问题,在为Azure托pipe的资源提供客户端VPN时,还有哪些其他解决scheme可供人们解决?

您是正确的,只有TCP和UDP连接被允许到Azure虚拟机; 它们也受到严格限制,如“只能开放单一端口而不是全部端口范围”,这就有效地禁止使用dynamic协议。

您可以通过使用实例级别的公共IP来解决后一个限制,该公共IP允许所有端口上的所有stream量到VM(但一定要打开防火墙! 但是, 这仍然只允许TCP和UDP通信 。

目前唯一支持的客户端VPN连接选项是使用Azure的内置客户端VPN服务,只要您可以为每个客户端获取客户端证书,BTW就可以正常工作。

另外,正如你所说的,另一个选项可能是使用HTTPS隧道为您的VPN服务器,而不是IPSec; HTTPS VPN(包括Windows的SSTP)在TCP端口443上运行,因此它们实际上可以在Azure VM上运行; 但是,如果您想在Azure虚拟机上运行VPN服务器,则可能会遇到各种networking问题,因为Azure虚拟机在尝试执行某些未明确支持的操作时效果不佳, 特别是涉及到networking时。