有趣的是,当我搜索“OpenVPN vs IPsec”时,我没有找到任何好的搜索结果。所以我的问题是:
我需要在不受信任的网络上设置私有 LAN。据我所知,这两种方法似乎都有效。但我不知道哪一种更好。
如果您能列出这两种方法的优缺点以及关于使用方法的建议和经验,我将不胜感激。
更新(关于评论/问题):
在我的具体案例中,目标是让任意数量的服务器(具有静态 IP)透明地相互连接。但一小部分动态客户端(如“公路战士”(具有动态 IP))也应该能够连接。然而,主要目标是在不受信任的网络上运行“透明安全网络”。我是个新手,所以我不知道如何正确解释“1:1 点对点连接”=> 解决方案应该支持广播和所有这些东西,因此它是一个功能齐全的网络。
答案1
我已经在我的环境中设置了所有场景。(openvpn 站点到站点,road warriors;cisco ipsec 站点到站点,远程用户)
到目前为止,openvpn 速度更快。openvpn 软件对远程用户的开销较小。openvpn 可以在端口 80 上使用 tcp 进行设置,以便它在免费互联网有限的地方通过。openvpn 更稳定。
在我的环境中,Openvpn 不会强制最终用户遵守策略。Openvpn 密钥分发在安全方面有点困难。Openvpn 密钥密码由最终用户决定(他们可以有空白密码)。Openvpn 未获得某些审计员(只阅读不良商业杂志的审计员)的批准。Openvpn 需要一点脑子来设置(与思科不同)。
这是我使用 openvpn 的经验:我知道大多数负面问题都可以通过配置更改或流程更改来缓解。所以请对我的所有负面问题持怀疑态度。
答案2
OpenVPN 相对于 IPSec 的一个主要优势是,有些防火墙不允许 IPSec 流量通过,但允许 OpenVPN 的 UDP 数据包或 TCP 流畅通无阻地传输。
为了使 IPSec 发挥作用,您的防火墙需要识别(或者需要忽略并在不知道其是什么的情况下进行路由)IP 协议类型 ESP 和 AH 以及更常见的三种协议(TCP、UDP 和 ICMP)的数据包。
当然,您可能会发现一些企业环境恰恰相反:允许 IPSec 通过但不允许 OpenVPN,除非您进行一些疯狂的操作,例如通过 HTTP 建立隧道,所以这取决于您想要的环境。
答案3
OpenVPN 可以建立以太网层隧道,而 IPsec 无法做到这一点。这对我来说很重要,因为我想从任何只有 IPv4 访问权限的地方建立 IPv6 隧道。也许有一种方法可以使用 IPsec 来实现这一点,但我还没有看到。此外,在较新版本的 OpenVPN 中,您将能够建立可以建立 IPv6 隧道的 Internet 层隧道,但 Debian squeeze 中的版本无法做到这一点,因此以太网层隧道可以很好地工作。
因此,如果您想隧道传输非 IPv4 流量,OpenVPN 会比 IPsec 更胜一筹。
答案4
我曾管理过新西兰各地数十个站点,每个站点都通过 ADSL 连接到互联网。他们一直使用 IPSec VPN 连接单个站点。
客户的要求发生了变化,他们需要两个 VPN,一个连接到主站点,另一个连接到故障转移站点。客户希望两个 VPN 能够同时处于活动状态。
我们发现正在使用的 ADSL 路由器无法应对这种情况。使用一个 IPSec VPN 时,它们没问题,但一旦启用两个 VPN,ADSL 路由器就会重新启动。请注意,VPN 是从办公室内部的服务器(位于路由器后面)发起的。我们让供应商的技术人员检查路由器,他们向供应商发送了许多诊断信息,但没有找到解决办法。
我们测试了OpenVPN,没有问题。考虑到成本(更换几十台ADSL路由器或更换VPN技术),我们决定改用OpenVPN。
我们还发现诊断更加容易(OpenVPN 更加清晰),而且对于如此庞大且分布广泛的网络,管理开销的许多其他方面也变得容易得多。我们再也没有后悔过。