重新路由并通过隧道将 UDP 连接连接到另一台服务器

重新路由并通过隧道将 UDP 连接连接到另一台服务器

一个月以来,我一直在尝试在 VPS 和专用裸机服务器之间建立连接。基本上,VPS 将充当连接到我的专用服务器的隧道,我这样做是为了改善某些用户访问我的游戏服务器的延迟,但它在此端使用 udp。我们国家的 ISP 似乎会根据其所在区域而改变延迟,即使是同一个 ISP,其中一些连接到 VPS 的延迟较低,而另一些连接到专用服务器的延迟较低,我希望能够让它们都以较低的 ping 连接到我的专用服务器。调查来自用户的跳数,其中一些跳数更多,具体取决于服务器。

到目前为止,我只尝试过 iptables 和一些程序(例如 Rinetd),但它们都不起作用。

供参考:专用:xxxx Vps:yyyy

VPS 和专用服务器有不同的数据中心和不同的托管服务

在vps中:sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1

iptables -t nat -A PREROUTING -i eth0 -p udp -d y.y.y.y --dport 16261:16264 -j DNAT --to-destination x.x.x.x:16261-16264

iptables -A FORWARD -p udp -d x.x.x.x --dport 16261:16264 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A POSTROUTING -i eth0 -t nat -p udp -m udp -s y.y.y.y --sport 16261:16264 -j SNAT --to-source x.x.x.x

iptables -t nat -A PREROUTING -i eth0 -p udp  -d y.y.y.y  --dport 16261:16264 -j DNAT --to-destination x.x.x.x:16261-16264

iptables -A FORWARD -p udp -d x.x.x.x --dport 16261:16264 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A POSTROUTING -i eth0 -t nat -p udp -m udp -s y.y.y.y --sport 16261:16264 -j SNAT --to-source x.x.x.x`

我对 udp 和 tcp 做了同样的事情,我没有添加 MASQUERADE,所以它只是转发可见 ip 的连接

据我了解,如果我使用 ip route,它应该显示 xxxx/29

vps 中的 ip 路由:默认通过 yyyy dev eth0 yyyy dev eth0 范围链接

但到目前为止,当连接到 yyyy 时,我的转发似乎根本不起作用,虽然我确实从 16261 端口的 iptables 获得了一些数据包,但它似乎停在那里,我认为有什么东西阻止了它,这里没有其他防火墙。我在这里做错了什么吗?我应该在我的 vps 中接受端口 16261-16264 吗?

欢迎所有建议和不同方法!

相关内容