わけあってプロキシサーバを立ててみたくなったので、 Windows環境でプロキシサーバをたてる方法について調べてみた。
Squidをつかう
フリーソフトのSquidを利用する。Squidはマルチプラットフォームなプロキシサーバソフト。
以下から、windows用のプログラムをダウンロードしてくる。
解凍したものを、C:に配置。
設定ファイルの設定
etc配下にある以下をリネーム。
- mime.conf.default -> mime.conf
- squid.conf.default -> squid.conf
600行目あたりに、acl (任意の名前) src (IPアドレス)/(サブネットマスク)を追加。
入力するIPアドレスは コマンドプロンプトから ipconfigコマンドで調べることができる。
#Recommended minimum configuration:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
# 以下を追加
acl net localsrc 192.168.1.0/255.255.255.0
650行目あたりで定義したネットワーク指定をアクセス許可。
ここではhttp_access に localnetを追加。
# Only allow cachemgr access from localhost
http_access allow manager localhost localnet
http_access deny manager
1100行目あたりでプロキシ用ボートを8080に設定。
# Squid normally listens to port 3128
# http_port 3128
http_port 8080
コマンドプロンプトでの操作。
まずは、管理者権限でコマンドプロンプトを起動する。
キャッシュエリア作成
C:で以下のコマンドを実行。
C:\squid\sbin>squid -z
2014/04/04 21:39:46| Creating Swap Directories
サービスの起動
以下のコマンドで、Windowsの管理のサービスに追加して起動。
C:\squid\sbin>squid -i
C:\squid\sbin>net start squid
停止はnet stop squid。サービスから外すには以下。
C:\squid\sbin>squid -r
たとえばInternet Exploreの設定
IEにプロキシ経由でネットにアクセスするように設定。
[接続] > [LANの設定] > [プロキシサーバ]と移動して、入力欄に自分のIPアドレスとポート番号を入れる。
ここでは、192.168.100.101と8080.
BASIC認証をかける
squidのダウンロードページにおいてある、NCSAsupport.zipをおとして解凍する。
なかに、htpasswd.exe があるので、C:にコピー。以下を実行してpasswdファィルを作成。
C:\squid\etc>htpasswd.exe -c passwd tsu-nera
Adding password for tsu-nera.
New password:**************
Re-type new password:**************
passwd生成用のWebサービスもあるようだ。
C:.confの288行目あたりをコメントアウト。認証用プログラムとパスワードファイルを指定する。
auth_param basic program C:/squid/libexec/ncsa_auth.exe C:/squid/exc/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
以下を追加。
acl password proxy_auth REQUIRED
http_access allow password
さきほど追加したnetはコメントアウトしておく。
# http_access allow net
再起動すれば設定完了。IEからネットにアクセスしてユーザ名とパスワードを効かれたらOK.