linux 个端点之间的加密隧道

encrypted tunnel between linux endpoints

我有 2 linux 个服务器,其中有一个应用程序通过简单的 telnet 协议(未加密)进行通信。

我想强制应用程序 运行 通过某种形式的加密 tunnel/etc。有没有一种简单的方法来创建点对点加密隧道,并只强制我的应用程序的流量通过该隧道(?(例如:创建一个加密流量的虚拟 NIC)我不想路由所有网络流量这条隧道。

使用 SSH 端口隧道。设置隧道后,您只需更改客户端的连接(IP 和端口)。

假设系统 1 侦听端口 AAAA 上的套接字,系统 2 连接到系统 1。使用从系统 2 上的任意端口(比如 PPPP)到系统 1 上的端口 AAAA 的 ssh 隧道。现在直接 'app' 在系统 2 上连接到 127.0.0.1:PPPP,连接将通过隧道连接到系统 1。

如果系统同时侦听和接受连接,则还要在相反方向设置隧道。

为了完整性,在两个系统上为您的 ssh 隧道设置一个自定义用户。将两个系统上的新用户登录 shell 设置为 /sbin/nologin 并且不要将他们放在他们自己以外的任何组中。现在使用 'sudo - u ' 在系统 2 上启动 ssh。假设您不再需要它,还阻止从外部接口到系统 1 上的端口 AAAA 的流量。还要分别在 ssh 和 sshd 配置中设置 ServerAliveInterval 和 ClientAlivalInterval。

此配置的替代方法是在两个盒子之间设置 VPN。