将流量转发到不同 IP 上的特定端口

将流量转发到不同 IP 上的特定端口

我的朋友有一个 Minecraft 服务器,其 IP 为 206.217.128.131:25571。这显然不是理想的选择,因为真正的域名会更加方便用户使用。

虽然我与一个有域名的朋友共享一个 VPS,并且我们甚至有一个用于服务器的站点。

是否可以将流量发送到我们 VPS 的端口 25565(我的世界默认端口),然后让 VPS 将流量重定向到我们的服务器 IP?

这样的连接每次都要经过 VPS 吗?还是只有玩家连接时才需要经过?我不希望我朋友的 VPS 因此变慢。

谢谢您的帮助。

答案1

是的:有两种方法可以做到这一点。

一种方法是使用类似redir(1),它应该在大多数 Linux 发行版上可用,并建立第二个 TCP 连接,在两者之间传递数据。

另一种方法是使用系统上的防火墙进行重定向。您需要将目标重写为您的 minecraft 服务器,将源重写为您的 VPS,以便数据包通过 VPS 返回。(例如:与其他相同,但使用内核和 NAT 而不是转发数据的正常过程。)

更好的解决方案可能是minecraft.example.com在为 VPS 提供服务的域中添加一个子域。该子域可以直接指向目标服务器,人们可以连接到该服务器。

它不存在通过服务器反弹的任何缺点,特别是延迟,并且仍然给你一个好听的名字。

答案2

iptables 是一个解决方案。
我更喜欢这个:socat TCP-LISTEN:25571,fork TCP:yourVPS.com:25565

相关内容