我正在寻找一种“应用程序隧道”解决方案,其行为类似于 SSL 或 SSH 隧道,但通过 UDP 进行。在客户端,OpenVPN 提供了一个网络接口。我希望客户端只监听本地端口并通过它建立的隧道转发所有流量。
注意:我使用了术语应用程序隧道描述 ssh 隧道与 OpenVPN 的行为方式。使用 ssh 隧道,网络应用程序连接到 localhost:12345。使用 OpenVPN,网络应用程序与远程 IP 通信,该 IP 通过 tun 接口到达。OpenVPN 需要内核支持 tun/tap 接口,而应用程序隧道模型则不需要。如果有人知道这个的正确术语,请在评论中告诉我。
答案1
我想你正在寻找数据报传输层安全性。它本质上是 SSL/TLS,但略作修改,以便它可以通过 UDP 工作。这与 OpenVPN 用于加密的东西大致相同,只是 OpenVPN 早于 DTLS,因此实现细节可能略有不同,但差别并不大。
幸运的是,OpenSSL 等产品的较新版本已经支持 DTLS,因此艰苦的工作已经为您完成了。