今日、いくつかのゲーム サーバーを別のサーバーに移行することができ、古い IP から新しい IP にトラフィックをリダイレクトするのに助けが必要でした。
SERVER1 1.1.1.1 ----- (インターネット) -----> SERVER 2.2.2.2
これを実行するには iptables を使用すると思います。そのために、server1 の CentOS ボックスでこのルールを使用しました。
/etc/sysctl.conf: net.ipv4.ip_forward = 1
iptables -t nat -A PREROUTING -p udp --dest 1.1.1.1 --dport 27015 -j DNAT --to-destination 2.2.2.2:27015
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A POSTROUTING -d 2.2.2.2 -p udp --dport 27015 -j SNAT --to 1.1.1.1
しかし、クライアントは古い IP からサーバーに接続できず、リダイレクトは開始されません。
答え1
次のようなことができます:
iptables -t nat -A OUTPUT -p all -d 1.1.1.1 -j DNAT --to-destination 2.2.2.2
iptables -t nat -A POSTROUTING -p all -j MASQUERADE
答え2
このサーバーで以前に NAT が設定されていなかった場合、カーネルが IPv4 トラフィックを通過させるように設定されていない可能性があります。
以下の内容を確認してください/etc/sysctl.conf
:
net.ipv4.ip_forward = 1