Pacファイルを使用してインターネットアクセスを構成するWindows環境でLinuxボックス(Lubuntu 12.04)を実行しています。
proxy.pacファイル:
function FindProxyForURL(url, Host){
var proxy_yes = "PROXY xxx.xxx.xxx.xxx:8000";
var proxy_no = "DIRECT";
if (shExpMatch(url, "*//yyy.*")) { return proxy_no; }
if (shExpMatch(url, "*//zzz.zzz.*")) { return proxy_no; }
if (shExpMatch(url, "*foo.com*")) { return proxy_no; }
//Proxy anything else
return proxy_yes;
}
私の知る限り、Lubuntuにはグローバルプロキシシステムがありません。
一部のプログラム(たとえばChromiumではない)のみが尊重するHTTP_PROXYのようなシェル変数をいじくり回そうとする代わりに、iptablesを使用して、プロキシを介してすべてのトラフィックを透過的にリダイレクトし、グローバルプロキシを効果的に実装できると考えていました。
これは可能ですか?可能であれば、どうすればよいですか?
編集:私は管理者ではなく、プロキシを設定しようとしていないことを明確にする必要があります。プロキシはすでに設定されており、マシンをインターエントに接続するには、自動プロキシ構成を有効にして、上記のpacファイルを指定する必要があります。直接接続はブロックされます。
すべてのアプリケーションを個別に構成する代わりに、iptablesを使用してトラフィックをプロキシ経由で自動的にルーティングしたいと考えていました。
これは私がやったことです:
ALL_PROXY
に環境変数HTTP_PROXY
、HTTPS_PROXY
、FTP_PROXY
、NO_PROXY
、および/etc/environment
を設定します。/etc/apt/apt.conf.d/80proxy
でaptのhttp、https、およびftpプロキシを設定します(構文Acquire::http::proxy "http://xxx.xxx.xxx.xxx:8000";
を使用)これまでLubuntu
を使用したことがないことを告白しますが、これは仮想マシンで実行されているUbuntu
派生物にすぎないと思います。プロキシを実行するためにjavascriptに依存することは、非常にばかげたことです。多くの場合、JavaScriptは簡単にバイパスされるか、完全に無視されるためです。
squid
を使用して適切なプロキシシステムを設定することから始めます。 ubuntu
派生物の場合、リポジトリにはsquid
またはapt
を使用して簡単にインストールできるsynaptic
パッケージがあります。インストール後、まず/etc/squid/squid.conf
を編集し、適切と思われる設定で次の設定を追加または変更します。
httpd_accel_Host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_Host_header on
acl lan src 192.168.1.1 192.168.2.0/24
http_access allow localhost
http_access allow lan
使用できる構成オプションは他にもたくさんありますが、これらはほとんどの用途にとってかなり良いスタートです。その後、次のステップは、デフォルトルーターのiptablesをDNAT
に設定し、トラフィックをsquid
プロキシにリダイレクトすることです。
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
もちろん、ルーターが起動するたびにルールが適用されるように、それをある種の起動スクリプトに入れたいと思うでしょう。さらに、これはhttps
トラフィックに影響を与えないことに注意してください。これは、https
がトラフィックのプロキシ(または途中の誰かによる傍受/復号化など)を許可しないように意図的に設計されているためです。 (疑わしいサイトへの)トラフィックを除外したい場合は、 SquidGuard
をミックスに投入することもできます。
Httpsトラフィックをプロキシすることは可能ですが、お勧めしません。あなたが本当に-その機能を実装したいのであれば、良いガイドがあります ここ 。