我的 ISP 和当今的许多 ISP 一样,不允许传入连接,因此,如果我尝试在家用电脑上托管服务器软件,那么任何人(甚至是我自己)尝试通过我的公共 IP 地址连接到该服务器软件时都无法建立连接。这会成为一个问题,因为无法托管在线游戏。
我确实租了一台 VPS Linux 机器;我是否可以在上面安装 VPN 软件,以便从我的家用电脑连接到它,然后任何连接到该 VPS 上的特定端口的人都会将流量隧道传输到我的家用电脑,这样我就可以通过这种方式托管游戏了?如果是这样,我需要什么软件(在我的电脑和 VPS 上),以及如何配置它?
编辑:我应该指出,我对任何(最好是免费的,否则低成本也可能是一种选择)实现这一目标的解决方案都感兴趣;我并不一定被束缚于必须以某种方式使用 VPN,但我(也许是错误的)假设 VPN 软件是实现这一目标的软件。
最后,我对任何能提供具体的,带有链接的分步解决方案,可让我监听传入连接,以便我可以托管多人游戏,例如《星际争霸 1》、《魔兽争霸 III》、《凯夫林王国》等。我对升级到我的 ISP 的“商业”帐户不感兴趣(我已经和他们谈过这件事了,我的互联网账单将从每月 30 美元增加到每月 200 美元左右……这根本不是一个现实的选择)。
答案1
答案2
如果你真的想使用 VPN,将路由器设置为 VPN 服务器并在 VPS 上设置 VPN 客户端可能会更简单。例如,DD-WRT 路由器可以轻松设置为VPN服务器,您就可以在VPS上安装OpenVPN客户端。
其他可能更简单的选择:
您可以更改 PC 上的服务器端口,或者在路由器上更改端口(如果有)。您的 ISP 不太可能会阻止所有端口,很可能只会阻止常用端口。显然,您可能违反了 ISP 的服务条款。
如果服务器软件在 Linux 上运行,您可以将其安装在 VPS 上。很有可能它的上行链路比您的家庭连接更好,并且根据游戏的不同,这可能是一个优势。
如果服务器软件在 Windows 上运行,您可以获得 Windows VPS。速度考虑与上述相同。
许多 ISP 提供价格更高的商业连接。通常,您可以使用此类连接运行服务器。
答案3
您需要一个在您的计算机之外完成的握手服务,这样您的 ISP 就不会看到传入连接,而是看到传出连接。
你可以尝试以下任何一个远程访问网络上提供的服务,例如TeamViewer,LogMeIn 免费版或其他,直到您找到一个可以通过其网站以正确的方式进行连接以绕过您的 ISP。
你可能需要动态 DNS。 也可以看看开放目录动态 DNS 服务. 有些路由器可以自动连接到这样的服务。
答案4
可以通过 SSH 远程隧道执行类似操作,但这可能会使连接的客户端或服务器本身感到困惑。无论如何,这个想法是:
- 在本地计算机上运行
ssh -R :<<port to listen>>:localhost:<<same port>> <<your vps' address>>
。注意前面的:
。除非被 sshd 的设置阻止GatewayPorts
,否则这将在服务器中设置一个监听端口,当联系时,该端口将在 ssh 连接内转发到本地计算机(因此localhost
),联系正在监听的任何内容<<same port>>
(即您的游戏)。- 如果你使用 PuTTY 作为 SSH 客户端,请阅读http://oldsite.precedence.co.uk/nc/putty.html了解如何设置。选中“远程端口执行相同操作”复选框(前面的
:
),将 放在字段<<port to listen>>
中Source port
,然后将放在 字段localhost:<<same port>>
中Destination
。确保选中单选Remote
按钮并单击Add
。
- 如果你使用 PuTTY 作为 SSH 客户端,请阅读http://oldsite.precedence.co.uk/nc/putty.html了解如何设置。选中“远程端口执行相同操作”复选框(前面的
- 如果可能的话,让您的服务器“认为”它正在您的 VPS 的 IP 地址上运行。如果此方法有效并且服务器向某个服务器列表进行通告,这将有助于减少客户端的困惑。
- 尝试通过客户端连接到 VPS 的 IP 地址来连接服务器。如果成功,则表示您已成功。
编辑:这可能只适用于 TCP 端口