我需要设置与 iOS 设备兼容的 VPN(IPSec / L2TP / IKEv2,请勿使用 PPTP)。我的要求是:
- 与单个服务器的加密连接(服务器上有一个不应暴露在互联网上的关键应用程序)
- 只有到此特定服务器的流量才应通过 VPN,到其他站点的流量不得通过 VPN
- 多个客户端应该能够连接到 VPN 以使用服务器上的应用程序
- 这些客户端有动态 IP 地址
- 他们不需要“见面”,但如果见面了也不会有问题
最近几天我读了很多书,但 VPN 的组合和可能性似乎是无穷无尽的。StrongSwan 有一些不错的配置示例,但似乎没有一个符合我的要求。我不需要隧道或桥接站点。许多教程展示了如何设置 L2TP over IPSec VPN 来访问互联网(例如从防火墙后面),但这对我的情况没有多大帮助。
- 对于这种用例我需要 L2TP 吗?
- 我不能只在传输模式下使用 IPSec 吗?
- 我该如何设置 IPSec 身份验证?
- 传输模式下的 IPSec 是否允许多个客户端?
- IPSec 传输模式可以与客户端的动态 IP 一起工作吗?
欢迎提供任何提示或指导,说明下一步该读什么或使用什么技术。如果能提供配置示例就更好了 :)
答案1
是的,传输模式下的 IPSec 可以很好地满足您的需求,并且对于具有动态地址的多个客户端来说没有任何问题。根据我的经验,它比其他协议更快、更高效,并且一旦设置好,当您想要访问服务器时就无需手动连接/断开连接。但缺点是,我还没有找到任何合适的配置工具,因此弄清楚如何在命令行上进行所有设置可能有点麻烦。
您需要安装 IKE 客户端/服务器守护程序racoon
并对其进行配置,以便当客户端想要连接时,他们可以调用 IKE 服务器,提供合适的身份验证(密码、RSA 或 x.509),并生成和配置会话密钥。