我对 ubuntu 还不太熟悉,需要帮助。我在我的 vps 和家庭服务器上运行 ubuntu 服务器。它们通过 Wireguard 连接,我想将端口 25565/tcp、udp 转发到我的家庭服务器。我尝试了许多不同版本的 prerouting 命令,例如简单端口转发和https://devstorage.eu/blog/linux-port-forwarding-mit-iptables/但它们似乎只能部分工作。我可以连接到 minecraft 服务器,但在“加入世界”时超时。请帮助我,如果这不是提问的正确地方,我很抱歉。我很确定这是可能的,因为我让它在 Windows 笔记本电脑上作为家庭服务器和我的 vps 上运行,但我忘了我是怎么做的。
根据这些规则,我遇到了“加入世界”的问题:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere ubuntu tcp dpt:25565 to:10.7.0.2:25565
DNAT udp -- anywhere ubuntu udp dpt:25565 to:10.7.0.2:25565
DNAT tcp -- anywhere anywhere tcp dpt:25565 to:10.7.0.2:25565
DNAT udp -- anywhere anywhere udp dpt:25565 to:10.7.0.2:25565
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 10.7.0.0/24 !10.7.0.0/24 to:82.165.127.112
MASQUERADE all -- !localhost anywhere
SNAT tcp -- anywhere 10.7.0.2 tcp dpt:25565 to:10.7.0.1
SNAT udp -- anywhere 10.7.0.2 udp dpt:25565 to:10.7.0.1
我试过:
iptables -t nat -A PREROUTING -j DNAT -d 10.7.0.1 -p udp --dport 25565 --to 10.7.0.2:25565
iptables -t nat -A PREROUTING -j DNAT -d 10.7.0.1 -p tcp --dport 25565 --to 10.7.0.2:25565
sudo iptables -t nat -A PREROUTING -i ens6 -p tcp --dport 25565 -j DNAT --to-destination 192.168.178.57:25565
sudo iptables -t nat -A PREROUTING -i ens6 -p udp --dport 25565 -j DNAT --to-destination 192.168.178.57:25565
and socat: socat TCP-LISTEN:25565,fork,reuseaddr TCP:10.7.0.2:25565
这些命令导致“加入世界”问题:
sudo iptables -t nat -A PREROUTING -i ens6 -p tcp --dport 25565 -j DNAT --to-destination 10.7.0.2:25565
sudo iptables -t nat -A PREROUTING -i ens6 -p udp --dport 25565 -j DNAT --to-destination 10.7.0.2:25565
iptables -t nat -A POSTROUTING ! -s 127.0.0.1 -j MASQUERADE
主服务器 10.7.0.2/192.168.178.57 接口:enp12s0 VPS 10.7.01 接口 ens6 + 公网 IP:82*
IP 10.7.0.1/.2 是通过 wiregard 分配的,我认为您可以交替使用 10.7.0.2 和 192.168.178.57。
我希望当连接到 vps 公共 IP 时,您最终会到达主服务器 10.7.0.2。
sudo iptables -xvnL 输出:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
150991 18835792 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:51820
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
273154 551566308 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
53 3381 ACCEPT all -- * * 10.7.0.0/24 0.0.0.0/0
sudo iptables -t nat -xvnL 输出:
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
40 2088 DNAT tcp -- ens6 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25565 to:10.7.0.2:25565
0 0 DNAT udp -- ens6 * 0.0.0.0/0 0.0.0.0/0 udp dpt:25565 to:10.7.0.2:25565
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
37 2345 SNAT all -- * * 10.7.0.0/24 !10.7.0.0/24 to:82.165.127.112
57 7372 MASQUERADE all -- * * !127.0.0.1 0.0.0.0/0
0 0 SNAT tcp -- * ens6 0.0.0.0/0 10.7.0.2 tcp dpt:25565 to:10.7.0.1
0 0 SNAT udp -- * ens6 0.0.0.0/0 10.7.0.2 udp dpt:25565 to:10.7.0.1