TCPおよびUDPパケットがNATになるとどうなりますか?

TCPおよびUDPパケットがNATになるとどうなりますか?

2つの仮想プライベートサーバーがあり、異なる国にいる場合。次に、サーバー(139.162.131.242)をプロキシサーバーとして使用してtcpおよびudpトラフィックをプロキシし、プロキシプロセスがローカルポート8300でリッスンしたいと思います。他のサーバー(172.104.98.95)は、トラフィックをプロキシサーバーに中継するために使用されます。

誰かが私にIPTABLESを使ってこれを達成する方法を教えてくれました。
ステップ1:プロキシサーバー(139.162.131.242)でプロキシを設定して実行します。
ステップ2:中継サーバー(172.104.98.95)に、次のようにいくつかのiptablesルールを作成します。

iptables -t nat -A PREROUTING -p tcp --dport 8300 -j DNAT --to-destination 139.162.131.242:8300  
iptables -t nat -A PREROUTING -p udp --dport 8300 -j DNAT --to-destination 139.162.131.242:8300  
iptables -t nat -A POSTROUTING -d 139.162.131.242 -p tcp --dport 8300 -j SNAT --to-source 172.104.98.95  
iptables -t nat -A POSTROUTING -d 139.162.131.242 -p udp --dport 8300 -j SNAT --to-source 172.104.98.95  

ステップ3:すべてのtcpおよびudpトラフィックがリレーサーバーに移動するようにプロキシクライアントプログラムを設定します。

ところでこの方法が混乱していますね。たとえば、私はオンラインゲームをしていますが、udpまたはtcpを使用してゲームサーバーと通信します。このトラフィックがリレーサーバーに到達すると、DNA分析を経て最終的にプロキシサーバーに到達しますが、プロキシサーバーはこのトラフィックがどこに送信されるのかを知っていますか?プロキシサーバーがこのトラフィックをゲームサーバーに送信することを意味しますか?可能であれば、リレーサーバーでトラフィックの宛先アドレスが変更された後、プロキシサーバーは実際のゲームサーバーアドレスをどのように知ることができますか?

ベストアンサー1

IPデータパケットの関連情報は次のとおりです。ソースアドレス宛先アドレスソースポートそして宛先ポート。送信元ポートと宛先ポートのペアは、クライアントとサーバーで使用されます。イニシエータは宛先ポートにパケットを送信し、応答で送信元ポートを宛先ポートとして使用し、宛先ポートを送信元ポートとして使用して送信元ポートを選択します。

パケットが変更されるたびに、変更間のマッピングが保存されます。このマッピングにより、デバイスはパケットの処理方法を知っています。 NATはこの情報を使用してホスト間の接続をマッピングします。固定 NAT は事前設定されたルールに従ってマッピングを使用しますが、動的 NAT は新しい接続の開始時にマッピングを拡張し、接続が閉じるとマッピング項目を削除します。

クライアントとサーバー間でパケットがどのように転送されるかを段階的に説明します。私はあなたが使用しているプロキシの詳細を知らないので、プロキシへのすべてのトラフィックがサーバーに転送され、透過的に発生すると仮定します。

クライアントとサーバー間のステップ:

client <---> VPN <---> NAT <---> proxy <---> server

クライアントからサーバーへ:

  1. クライアントはパケットを次に送信します。宛先アドレス(代理人)。ルーティングは、VPN 経由でトラフィックを送信するために使用されます。
  2. NAT はパケットを転送します。 NATが変更されましたソースアドレスソースNATルールを使用して自分で試してください。宛先アドレス(プロキシ)は変更されません。
  3. プロキシは NAT からパケットを取得し、通常どおり中継します。
  4. 宛先サーバはプロキシからパケットを受信します。

サーバーからクライアントへ:

  1. 宛先サーバーはパケットをプロキシに送信します。
  2. プロキシはパケットをNATに中継します。
  3. NAT はパケットを転送します。宛先アドレスターゲットNATルールをクライアントアドレスに変更します。ソースアドレス(プロキシ)は変更されずに保持されます。
  4. クライアントがパケットを受信します。

おすすめ記事