如何将来自公共服务器的流量转发到不公开的计算机?

Modified on: Sat, 30 Jun 2018 07:22:30 +0800

我的家用电脑支持ISP级NAT,因此不允许我托管游戏服务器。

我有一个VPS,我用它作为Web服务器。我想主持一个Minecraft游戏服务器,但VPS不够强大。

我的电脑和VPS都在运行Linux。我的计算机可以连接到我的服务器,但服务器无法打开与家用计算机的连接。

我想要达到的目的是:

  • 某些用户连接到我服务器上的端口27015。
  • 然后,服务器通过我在家用计算机上打开的某些连接,将所有流量从服务器上的端口27015转发到家用计算机上的端口27015。

ssh可以这样做吗?我知道它可以做相反的事情。是否有其他程序可以做到这一点?

作者:Macha

最佳答案

简短回答:是的, ssh 可以做到这一点。答案在你的问题中:“反向”隧道。请参阅 ssh 客户端的-R选项:

  

-R [bind_address:] port:host:hostport
               指定将远程(服务器)主机上的给定端口转发到给定的
               本地端的主机和端口。这可以通过分配一个套接字来监听 port
               远程端,只要与此端口建立连接,就会转发连接
               通过安全通道,并从本地连接到主机端口 hostport
               机。

阅读更多有用的如何伪造反向SSH隧道),但基本原则是你从私有主机到公共主机 ssh ,指定要映射回的端口。请记住在命令中设置绑定地址,否则默认情况下它只会绑定到本地循环。

希望这有帮助。


相关问答

添加新评论