如果只考虑 Windows 环境,引入 OpenVPN 作为公司 VPN 服务,而不是 Windows 内置协议,有什么好处?尤其是新的 SSTP 协议已经克服了 PPTP 的弱点之一,即无法穿越防火墙/NAT。
我想知道有什么理由不使用 Windows 集成解决方案。安全性可能是一个问题,但我不确定它们有多大区别(我知道 MS VPN 很脆弱,但它仍然脆弱吗?)
谢谢。
答案1
OpenVPN 的客户端可用性比 SSTP 更广泛(至少目前如此)。例如,我可以购买带有嵌入式 OpenVPN 客户端的 IP 电话。据我所知,微软没有将 SSTP 客户端移植到 Windows XP(最初他们说会这样做),因此切断了庞大的客户端基础。但相比之下,SSTP 不需要在支持的客户端操作系统上安装第三方软件。
OpenVPN 不收取每个客户端的许可费,而微软的产品则收取。(我不会就哪些具体用途需要 Windows CAL 以及哪些不需要发表意见……微软在一些文档中声称DHCP 客户端需要 CAL,所以我倾向于避开它们。如果我的看门人在我的 Windows Server 机器周围打扫,我可能需要为他们购买 CAL。了解许可的正确地方是软件“制造商”反正...)
OpenVPN 客户端内置的接收“推送”路由的功能比微软的 VPN 客户端更灵活(除非您使用 CMAK,但在实践中这对我来说并不可靠)。
答案2
OpenVPN 在 Win 环境中的主要优势是使用 UDP 作为底层承载,因为这样可以避免“TCP 崩溃问题”(参见http://sites.inka.de/bigred/devel/tcp-tcp.html了解有关 TCP 中 TCP 的更多信息。
好啦,再见,史蒂夫
答案3
不幸的是请注意 SSTP(截至 2011 年 11 月)无法通过带身份验证的代理服务器工作. 这是有记载的,尽管很多人没有意识到这一点。
非身份验证代理的网络管理员也有可能检测到 SSTP 标头并断开连接。因此,它可以穿过任何防火墙等的说法是正确的有一些保留。
OpenVPN 能够通过代理通过 HTTPS 进行传输带有身份验证。阻止这种流量要困难得多,因为它看起来像普通的“SSL”,但实际上不是!通过对内容的第一个字节进行一些包检查,可以阻止这些数据包。OpenVPN 在这种模式下会失去“UDP”性能提升,因为 OpenVPN 将在 TCP 模式下工作。所以从这个意义上讲,它相当于 SSTP。
对于 OpenVPN,在服务器端,如果您在端口 443 上还有一个 Web 服务器,则需要有两个公共 IP,这是商业版的。对于社区版,可以在同一个 IP 上共享 443 端口,因为服务器检测到非 OpenVPN 协议时会将流量重定向到备用 Web 服务器 (443)。这仅适用于 Linux 版 OpenVPN 服务器。
在 SSTP 上,可以共享相同的 IP/端口 443,用于 SSTP 流量和普通 Web 服务器保护的页面。
在 SSTP 上,在到达 RRAS 服务器之前,网络上可以有一个 SSL 卸载设备。在 OpenVPN 上,由于流量不是真正的“真正”的 SSL,即 openVPN 协议封装了 SSL 有效负载,因此这是不可行的。
在 OpenVPN 社区中,您需要处理 KPI 基础设施、证书等,有时这可能是一个更难的学习曲线……(在社区版中)。在商业版中,这项任务变得更容易。
在 OpenVPN 商业版中,身份验证可以与 LDAP 集成(例如在 AD 上)。在社区版中这是不可能的(不完全确定,但几乎可以!)。这个想法更多地围绕客户端证书;尽管可以使用更简单的证书方案。
O SSTP,这很明显。
OpenVPN 在 UDP 模式下工作得很好,但 PPTP 也可以在 UDP 上工作,作为数据通道(GRE 协议)。因为问题是 SSTP 和 OpenVPN 之间的比较,所以我们假设我们正在比较 TCP 流量。
所以你看... 没有更好或更坏... 就我而言,我根据我的功能要求努力选择一个... 并且仍然对我不得不选择的那个 (SSTP) 不完全满意,但相当满意。我这样说是因为如果网络 (酒店) 阻止 PPTP,那么可以使用 SSTP... 这是由 VPN 客户端自动处理的。
OpenVPN客户端具有类似的回退机制。
SSTP 已经得到 Linux 的支持,但是该项目似乎处于初始阶段。
答案4
我认为 SSTP 的唯一优势不是技术方面的:显然它在 Windows 上的集成度更高,而且可能更容易配置(也是因为功能不那么强大)。
OpenVPN的优点:
- 可以通过 UDP 进行隧道传输
在任何带宽受限的环境中,这一点非常重要,因为 TCP 隧道很快就会被卡住。
- 可以通过 UDP 中的单个端口建立隧道(TCP 除外)
有人说,https TCP 端口 443 适用于任何环境(酒店等),这是一个合理的假设,但它不是 UDP。——我发现 DNS UDP 端口 53 也适用于许多环境,您可以在那里配置 OpenVPN!
- 适用于更多 Windows 平台(当然还有其他平台),可用作客户端和服务器
- 可以隧道网络
我在这里只保留“Windows 版”……但如果你想在酒店房间连接一个团队,可能会很棘手……一种选择是带着一个小型路由器(运行 OpenVPN)到达那里,让电脑/手机在那里连接。你也可以用运行 Linux 的电脑或 root 的 Android 智能手机来做到这一点……
我使用运行 OpenWRT 或 Freetz(“售后固件”)的路由器完成了此操作。
- 可以配置以适应网络变化
使用“浮动”选项,我的智能手机可以在 WiFi 覆盖区域和 3G 移动网络之间切换,而不会丢失连接!(一个长期存在的错误使此功能仅在对等模式下有效。)
我到此结束。