在过去的几天里,我尝试了一些方法,让我的 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