(首先,如果这篇文章发错了网站,我深感抱歉。我并不是网络工程师或者网站管理员之类的。)
我要去上大学了,我和弟弟想继续为我们和几个朋友托管一个 minecraft 服务器。问题是我们要把它托管在我们的台式机上,我们会把台式机带在身边,不会留在我们父母家里。
我非常怀疑大学是否会允许我们转发端口或进行任何类型的路由器配置(尽管我愿意询问)。我读过关于此类事情的两种主要解决方法:
- 打洞 - 使用第三方来协调您的数据包发送,以便它们一致,并且执行 NAT 的路由器认为其中一个是响应并且已建立连接。
- 代理 - 即客户端不再尝试直接与服务器建立连接,而是与其他系统建立连接,而这些系统的互联网连接我们做控制,服务器也连接到该控制。代理将数据从客户端发送到服务器,然后特殊软件将其发送到实际的 minecraft 服务器程序并将输出重定向到代理。基本上是从 a->b 和 b -> c 而不是 a -> c 进行连接,因为 a->c 连接需要端口转发。
但是,我寻求一些建议来解决这些方法中存在的问题。我对打洞方法的问题是,它首先看起来不可靠(用于 TCP 流量),而且似乎需要将这种方法内置到程序本身中 - 这可以通过使用 iptables 或类似的东西和外部程序来实现吗?
我对代理方法的问题是,我们控制连接的唯一系统连接非常糟糕,数据限制也非常严格。如果所有流量都必须通过它,延迟会非常高。
您有什么方法可以改进这些方法/建议,以贡献/解释我似乎误解的事情?