尝试通过远程服务器代理 TCP 流量

尝试通过远程服务器代理 TCP 流量

在过去的几天里,我尝试了一些方法,让我的 VPS 代理 tcp 流量(取决于端口)到达我的家庭服务器(两个 ubuntu 服务器)。

客户端 <------> VPS <------> 家庭服务器

更具体地说,我有一个家庭服务器运行着一些应用程序,我想将这些应用程序隐藏在我的 VPS 后面(不在同一个子网中),并且我希望当客户端尝试访问我的家庭服务器上的应用程序时,源 IP 能够被保留。

目前我正在运行 NGinx 流作为反向代理。它工作得很好,但客户端 IP 丢失了(被我的 VPS IP 取代)。有一个选项可以保留它,proxy_bind $remote_addr transparent;但它需要我的家庭服务器像网关一样将流量输出到我的 VPS(并且如果没有将它们放在同一个网络上,我没有解决方案)。

我尝试使用 SSH 端口转发,但源 IP 也丢失了(被我的家庭服务器本地 IP 替换)。我还尝试了 IP Gre 隧道(最后没成功……)……

对我来说最好的是我的 VPS 和我的家庭服务器通过隧道连接,我认为?

客户端 <------> ( VPS <-tunneled-> 主服务器 )

但正如我所说的,我所需要的只是将 VPS 端口特定的流量发送到我的家庭服务器,保留源 IP 并将我的 VPS IP 作为服务器 IP。

希望有人能有解决方案!

祝你有美好的一天 !

答案1

最后,我放弃了寻找通用解决方案的想法,而是将 HAProxy 与 Postfix 和 Dovecot 结合使用。请参阅https://www.linuxbabe.com/mail-server/smtp-imap-proxy-with-haproxy-debian-ubuntu-centos

相关内容