別のインターフェイスのサーバーにパケットをリダイレクトする

別のインターフェイスのサーバーにパケットをリダイレクトする

さて、少し複雑ですが、これは私が必要とするものです。

IP 172.24.229.62 を使用する ZeroTier ネットワークに Minecraft サーバーがあり、ポート 25565 で接続を許可します。 ZeroTierという事実は特に重要ではありません。ただ通常のLANであるふりをするだけです。

同じネットワークのLAN(ZeroTier)側に、IPが172.24.229.65の一般的なAzureサーバーがあります。 LANはインターネットに接続されておらず、他のデバイスはありません。ユニバーサルサーバーはUbuntu Server 20.10を実行し、他のインターフェイスを介してインターネットに公開され、ポート25565への接続を許可します。

インターネット側ポート25565から着信パケットをLAN側Minecraftサーバーのポート25565にリダイレクトしてパケットを再送信するには、この汎用サーバーが必要です。

SEでこのスクリプトを見つけてみましたが、うまくいきませんでした。私は何が間違っていましたか?

#!/bin/sh

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -t nat -F
iptables -X

iptables -t nat -A PREROUTING -p tcp --dport 25565 -j DNAT --to-destination 172.24.229.62:25565
iptables -t nat -A POSTROUTING -p tcp -d 172.24.229.62 --dport 25565 -j SNAT --to-source 172.24.229.65

ベストアンサー1

ほぼすべて来た、友達。唯一欠けているのは、Minecraftサーバーのデフォルトゲートウェイを構成することです。この場合、Ubuntu Universal Serverはゲートウェイとして機能します。 Minecraftサーバーで次のコマンドを実行します。

$ sudo ip route add default via 172.24.229.65

おすすめ記事