我想通过 VPN 连接到 REST Web 服务。Java有没有办法在不使用操作系统功能的情况下建立到VPN网关的pptp、l2tp ipsec连接和HTTP请求的隧道?这很重要,因为我将从一个 servlet 连接到几个休息服务。此服务可能位于不同的 VPN 后面,我不想将服务器的网络与此 VPN 连接。
有人知道这方面的 API 吗?
如果您想从外部连接到私有 VPN 后面的服务器,您在应用程序上无能为力的任何操作都无法/不会允许您进行连接。除非您启动一个 VPN 客户端并以编程方式将您的网络连接到该 VPN 服务器,否则您的 java 应用程序只会坐在那里等待 http 连接上的套接字。
您的问题在技术上是不正确的(不是从 SO 的角度来看)。
寻找会弹出对话框并获取用户名/密码的 VPN 客户端库。
VPN的目的是连接网络。如果您想通过 VPN 访问另一个系统,则必须建立网络连接。
所有这些协议的 Java API 将(几乎)不可能,因为在大多数情况下,VPN 由操作系统驱动程序处理,而不是在应用程序级别(Java 有它的位置)。
如果您不想让您的物理服务器与这些 VPN 连接,您也许可以使用 virtualbox 或 vmware(或其他)设置一个虚拟系统来处理所有这些连接并将其用作代理。但这不是java问题。
这是一个允许您使用 Nord 的简单 Java API。我制作了几个 bash 脚本,这些脚本还允许我开始、结束和循环 NordIKE-VPN 会话。我还没有使用它,但我打算将其重新用于 Android。