テスト設定があります。
- サーバー1:1.1.1.1
- サーバー2:2.2.2.2
- クライアント:3.3.3.3
1.1.1.1サーバーからHTTP要求を作成するためにクライアントIP 3.3.3.3を取得しようとしています。しかし、私は1.1.1.1サーバーがこの要求を実際のHTTPDサーバー2.2.2.2に転送したいと思います。
私は2.2.2.2がHTTP応答を使用してクライアント3.3.3.3と直接通信したいと思います。
私の考えでは、HTTPリクエストを受け入れてからリクエストを2.2.2.2に渡し、2.2.2.2に応答するようにしてから、3.3.3.3に戻り、この問題を解決するには1.1.1.1が必要だと思います。それ以外の場合、クライアント3.3.3.3は2.2.2.2で応答を受け取りますが、なぜ1.1.1.1ではなく2.2.2.2が応答して無視するのか疑問に思いますか?
iptables
とにかく、1.1.1.1で試したことは次のとおりです。
iptables -t nat -A POSTROUTING -o venet0:0 -j SNAT --to-source 2.2.2.2
iptables -t nat -A PREROUTING -i venet0:0 -j DNAT --to-destination 2.2.2.2
iptables -t nat -A PREROUTING -d 3.3.3.3 -j DNAT --to-destination 2.2.2.2
iptables -t nat -A POSTROUTING -s 2.2.2.2 -j SNAT --to-source 3.3.3.3
これは変わっていないようです。
答え1
私はそれを見つけました:
iptables -t nat -A PREROUTING -d 3.3.3.3 -j DNAT --to-destination 2.2.2.2
iptables -t nat -A POSTROUTING -s 2.2.2.2 -j SNAT --to-source 3.3.3.3