我想设置一个小游戏服务器,与我的朋友玩,我支付一个vps,但它只是没有硬件来运行这个游戏服务器。我自己的pc机可以运行服务器,但从外部互联网向我的pc开放端口对我来说并不是一个真正的选择。
所以对我来说最理想的是通过我的vps从我的pc上转发一个端口,但是我真的没有任何网络知识,而且我在网上发现的信息对我来说是相当令人困惑的。
据我所知,也许可以通过ssh实现?
我看到这个人在做类似的事情:如何将端口从一台机器转发到另一台机器?
不过,我对这个问题的答案有点困惑。它提到了这样做:
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命令时,才有可能呢?我只是对这个命令到底要做什么感到很困惑。所以..。我在这里是不是走对了路,只是错过了一步?还是我需要一个完全不同的方法?
发布于 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连接到本地机器。
发布于 2022-02-20 09:01:33
很抱歉,如果我的答案被证明是离题,但既然你的目标是让你的家庭电脑暴露在互联网上,我想知道-它真的必须通过你的VPS转发吗?
如果通过外部服务执行此操作也是可行的选择,您可以尝试ngrok --它非常容易使用,只需下载二进制文件,然后在运行./ngrok 协议之后,您将得到一个与您的朋友共享的服务器URL,比如哈希.ngrok.io (至少,在堆栈溢出上,似乎有人在玩这样的“我的世界”)。
但是,请注意,美国服务器的位置对您和您的朋友来说可能是不太理想的(在最坏的情况下,甚至可能使游戏不可玩,如果延迟敏感的话)--或者,您可以尝试选择最接近-region选项的位置,如上面的SO链接所述(查看医生们以获得详细的区域列表)。
https://unix.stackexchange.com/questions/691329
复制相似问题