パケットを2つの異なるサーバーに転送するためのubuntu vpsの設定

パケットを2つの異なるサーバーに転送するためのubuntu vpsの設定

iptables3つの別々のUbuntu VPSサーバー(A、B、C)があります。以前は、着信パケットを11.22.33.44ポート443のIPアドレス(サーバーB)に転送し、55.66.77.88サーバーAをゲートウェイとして使用するサーバーAに関連付けられたIPアドレスが1つしかありませんでした。クライアント領域でブロックをバイパスするための私のTCP接続

PREROUTIN以下を使用してルールを追加してこれを実行しました。

$ iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 55.66.77.88:443

そしてルールを追加してくださいPOSTROUTING

$ iptables -t nat -A POSTROUTING -j MASQUERADE

99.10.11.12サーバーA()のVPSプロバイダーからeth1そのアドレスに接続し、サーバーC(13.14.15.16)にパケットを転送する別のIPアドレスを購入したいと思います。ここに画像の説明を入力してください。

ただし、2番目のIPを購入して有効にすると、すべてが機能しなくなり、着信パケットも11.22.33.44サーバーBに到達できません。

私が望むものを得るためにルールをどのように整理する必要があるのか​​わかりませんiptables

ベストアンサー1

サーバーに複数のネットワークインターフェースがある場合、非対称ルーティングが問題になります。たとえば、パケットはを介してeth0転送server Aできますserver B。リターンパケットserver Bがからに戻ると、インターネットにserver Aエスケープしようとすることができます。eth1インターネットがデフォルトゲートウェイを指すからです(またはその逆)。

この例では、server A4つのインターフェースが構成されています。

eth0 - 1.0.0.1 (WAN-1 facing)
eth1 - 1.1.1.1 (WAN-2 facing)
eth2 - 10.2.2.1/24 (LAN-B facing)
eth3 - 10.3.3.1/24 (LAN-C facing)

Server B10.2.2.2/24サーバーAのeth2インターフェース(10.2.2.1)を指すデフォルトゲートウェイを持つIPアドレスがあります。

Server C10.3.3.2/24サーバーAのeth3インターフェース(10.3.3.1)を指すデフォルトゲートウェイを持つIPがあります。

IPアドレスはserver A4つで、デフォルトゲートウェイは一度に1つしかないため、非対称ルーティングの問題が発生する可能性があります。

ではserver A、次のコマンドを実行してトラフィックを制御できます。

eth2(LAN-Bに向かう)を介したトラフィックは、eth0(1.0.0.1)のパブリックIPに変換する必要があります。

$ sudo iptables -t nat -A POSTROUTING -o eth2 -s 10.2.2.0/24 -j SNAT --to-source 1.0.0.1

eth3(LAN-Cに向かう)を通るトラフィックは、インターネットへの途中でeth1のパブリックIP(1.1.1.1)に変換する必要があります。

$ sudo iptables -t nat -A POSTROUTING -o eth3 -s 10.3.3.0/24 -j SNAT --to-source 1.1.1.1

おすすめ記事