
パブリックプロキシを介して一部の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