SquidをつかってWindows環境化でプロキシサーバを立ててみる

    わけあってプロキシサーバを立ててみたくなったので、 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.