web-dev-qa-db-ja.com

iptablesを使用してプロキシサーバーに接続する方法

私の会社では、すべてのhttpとhttpsがプロキシサーバーに接続する必要があります。つまり、Webブラウザでプロキシを設定する必要があります。

私たちの部門には内部ネットワークがあります(192.168.0.xxx)。 Linuxサーバーをルーターとして使用し、iptablesを使用してNATをセットアップします。

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

これで、Linuxルーターは正常に機能します。インターネットにアクセスするためのプロキシを設定できます。

私の質問は、Linuxルーターを使用してプロキシサーバーに接続し、次に内部ネットワーク内のコンピューターに接続したい(192.168.0.xxx)プロキシを設定せずにインターネットにアクセスできます。

これは可能ですか?

3
siyuan

テストしていなければ、ソリューション@ymnはHTTPに有効だと思いますが、HTTPSに相当する行を指定することはできないと思います。実際、このようなソリューションでは、事実上、証明書エラーなどがスローされるはずです。自分のネットワークに対してman-in-the-middle攻撃を実行します。

(これをある程度回避できるかもしれませんが、SSLが提供するセキュリティを取り除いているので、お勧めできません。sslstripをご覧ください--- http://www.thoughtcrime.org/software/sslstrip /

おそらく、より良い中間点は、プロキシ自動構成(DHCPを使用したWPAD)を試してみることかもしれません http://wiki.squid-cache.org/SquidFaq/ConfigureBrowsers#Fully_Automatically_Configure_Browsers_for_WPAD

1
davidgo

このルールを試してください:

iptables -t nat -A PREROUTING -i eth0 -s ! 192.168.0.2 -p tcp --dport 80 -j DNAT --to 192.168.0.2:3128
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -d 192.168.0.2 -j SNAT --to 192.168.0.1
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.2 -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT

どこ:

192.168.0.2 - proxy server IP (Squid, etc);
192.168.0.1 - router IP (where started iptables);
192.168.0.0/24 - your local network

私は間違っている可能性があります、注意深く確認してください。

1
ymn