iptables:パブリックプロキシを介してパケットをexample.comにルーティングします。

iptables:パブリックプロキシを介してパケットをexample.comにルーティングします。

パブリックプロキシを介して一部のWebサイトにアクセスしたいのですが、iptablesを使用してそのWebサイトに正しくアクセスできないようです。 5.6.7.8:8080のパブリックプロキシを介してIPアドレス1.2.3.4でexample.comにアクセスするとしましょう。私がしたことは次のとおりです。

iptables -t nat -A PREROUTING --dst 1.2.3.0/24 -p tcp --dport 80 -j DNAT --to-destination 5.6.7.8:8080
iptables -t nat -A POSTROUTING --dst 5.6.7.8 -p tcp --dport 8080 -j SNAT --to-source 1.2.3.4:80
iptables -t nat -A OUTPUT --dst 1.2.3.0/24 -p tcp --dport 80 -j DNAT --to-destination 5.6.7.8:8080

しかし、Webページをまったくロードできません(プロキシにアクセスできないようですが、ルーティングルールを設定せずにブラウザのプロキシ設定で設定してテストしたためです)。私は何が間違っていましたか?

ベストアンサー1

1つ目は、次のコマンドを使用してIP転送を有効にすることです。

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

次に、次を使用して事前ルーティングルールを追加します。 (1.2.3.0/24 ネットワーク全体に言及する必要はないようです。)

iptables -t nat -A PREROUTING --dst 1.2.3.4 -p tcp --dport 80 -j DNAT --to-destination 5.6.7.8:8080

次のコマンドを使用してポストルーティングルールを追加します。

iptables -t nat -A POSTROUTING -j MASQUERADE

おすすめ記事