Ubuntu Server 22.04 中的端口转发对我来说不起作用

Ubuntu Server 22.04 中的端口转发对我来说不起作用

我对 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

相关内容