首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过另一台服务器转发端口

如何通过另一台服务器转发端口
EN

Unix & Linux用户
提问于 2022-02-19 12:00:03
回答 2查看 718关注 0票数 1

我想设置一个小游戏服务器,与我的朋友玩,我支付一个vps,但它只是没有硬件来运行这个游戏服务器。我自己的pc机可以运行服务器,但从外部互联网向我的pc开放端口对我来说并不是一个真正的选择。

所以对我来说最理想的是通过我的vps从我的pc上转发一个端口,但是我真的没有任何网络知识,而且我在网上发现的信息对我来说是相当令人困惑的。

据我所知,也许可以通过ssh实现?

我看到这个人在做类似的事情:如何将端口从一台机器转发到另一台机器?

不过,我对这个问题的答案有点困惑。它提到了这样做:

代码语言:javascript
复制
ssh -L 2222:localhost:8888 -N -o GatewayPorts=yes hostname-of-M

在这个问题中,M应该是主机,S应该是机器服务器,流量应该通过机器服务器路由。person和anwsering提到:“您可以使用localhost而不是M”,这使我认为您应该从机器M运行此命令。

但是如果M是本地主机,那么在这个命令中,你实际上是连接到S的哪里呢?

我尝试使用我的ip的ip,而不是“主机名-M”,但这似乎没什么用。

所以这就是我所处的位置,我认为通过ssh应该是可能的?但我不能完全肯定这一点?这是不是只有在S看到M的ip,然后我才能从S那里运行ssh命令时,才有可能呢?我只是对这个命令到底要做什么感到很困惑。所以..。我在这里是不是走对了路,只是错过了一步?还是我需要一个完全不同的方法?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2022-02-20 06:45:36

我试过一件事--我希望你也能试试。我已经在VPS上安装了OpenVPN服务器,它有一个公共IP,并将我的本地机器连接到VPN服务器。在这种情况下

公开IP: x.x

内部开放隧道IP: 10.8.0.1

本地机器开放隧道IP: 10.8.0.2

在本地机器上启动python3 -m http.server,该机器在端口8000上服务器http服务器。

在vps服务器上运行ssh -L 8080:10.8.0.2:8000 -N -o GatewayPorts=yes username@10.8.0.2和boom!因此,从现在起,任何请求到端口8080将被转发到我的本地机器在端口8000。

我可以使用VPS公共IP x.x.x.x:8080从internet连接到本地机器。

票数 1
EN

Unix & Linux用户

发布于 2022-02-20 09:01:33

很抱歉,如果我的答案被证明是离题,但既然你的目标是让你的家庭电脑暴露在互联网上,我想知道-它真的必须通过你的VPS转发吗?

如果通过外部服务执行此操作也是可行的选择,您可以尝试ngrok --它非常容易使用,只需下载二进制文件,然后在运行./ngrok 协议之后,您将得到一个与您的朋友共享的服务器URL,比如哈希.ngrok.io (至少,在堆栈溢出上,似乎有人在玩这样的“我的世界”)。

但是,请注意,美国服务器的位置对您和您的朋友来说可能是不太理想的(在最坏的情况下,甚至可能使游戏不可玩,如果延迟敏感的话)--或者,您可以尝试选择最接近-region选项的位置,如上面的SO链接所述(查看医生们以获得详细的区域列表)。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/691329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档