トップ > Fedora Core4によるサーバーの構築 >

Squid(プロキシサーバー)の構築

Squidのインストールと設定

  1. rootでログインする。
  2. 以下のコマンドを実行して,Squidをインストールする。
    # yum install squid
  3. /etc/squid/squid.confを以下のように作成する。

    # 使用するポート番号を8080に設定
    http_port 8080
    # 親子関係のプロキシの場合(上位サーバがSquidでない場合,icp-portには0を設定)
    #cache_peer [親プロキシのアドレス] parent 8080 0
    # 兄弟関係のプロキシの場合
    #cache_peer [兄弟プロキシのアドレス] sibling 8080 3130
    # キャッシュメモリのサイズを128MBに指定
    cache_mem 128 MB
    # キャッシュするサイズを1GB(1000MB)に設定(キャッシュメモリのサイズの100倍以下)
    cache_dir ufs /var/spool/squid 1000 16 256
    # Apacheと同じログ形式を指定
    emulate_httpd_log on
    # ftpユーザのメールアドレスを指定
    ftp_user squid-admin@

    # デフォルトの名前定義
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl SSL_ports port 443 563
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 563 # https, snews
    acl Safe_ports port 70 # gopher
    acl Safe_ports port 210 # wais
    acl Safe_ports port 1025-65535 # unregistered ports
    acl Safe_ports port 280 # http-mgmt
    acl Safe_ports port 488 # gss-http
    #acl Safe_ports port 554 # rtsp
    acl Safe_ports port 591 # filemaker
    acl Safe_ports port 777 # multiling http
    acl CONNECT method CONNECT

    # デフォルトのアクセス制御設定
    http_access allow localhost
    http_access deny manager
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports

    # 指定するURLリストのファイルをblacklistと定義
    acl blacklist url_regex "/etc/squid/blacklist.txt"
    # blacklistのアクセスを拒否
    http_access deny blacklist

    # 192.168.0.*のIPアドレスをSHITOMIと定義
    acl SHITOMI src 192.168.0.0/24

    # 192.168.0.*のアクセスを許可
    http_access allow SHITOMI

    # 全てのアクセスを拒否
    http_access deny all

    # プロキシのローカルIPアドレスの漏えい防止
    forwarded_for off

  4. アクセス制御するURLリストの/etc/squid/blacklist.txtを,以下のように正規表現で作成する。
    ^http://.*sex.*
    ^http://.*realgals\.com.*
  5. 以下のコマンドを実行して,エラーメッセージを日本語に変更する。
    # rm /etc/squid/errors
    # ln -s /usr/share/squid/errors/Japanese /etc/squid/errors
  6. 以下のコマンドを実行して,Squidを起動する。
    # /etc/init.d/squid start
  7. 以下のコマンドを実行して,Squidの標準のラン・レベルをonにする。
    # chkconfig squid on

クライアント(Windows 2000)の設定

  1. メニューバーから,[ツール] - [インターネット オプション] - [接続]タブを選択して,[LAN の設定]ボタンをクリックする。
  2. 『ローカル エリア ネットワーク (LAN) の設定』を,以下のように設定する。
    Windows2000のプロキシサーバ利用設定/Squid/Fedora Core

(参考)プロキシ設定ファイルの作成

 Webサーバー構築後に,プロキシ設定ファイルを同サーバーに登録して,クライアント(Windows 2000)のプロキシ設定の自動化を図ります。

  1. サーバーにrootでログインする。
  2. /etc/mime.typesの最終行に,以下の行を追加する。
    application/x-ns-proxy-autoconfig pac
  3. 以下のコマンドを実行して,Apacheを再起動する。
    # /etc/init.d/httpd restart
  4. /var/www/html/proxy.pacを以下のように作成する。
    
    function FindProxyForURL(url, host) {
    	// hostのIPアドレスが指定された文字列と一致する場合,真
    	if (isInNet(host, "192.168.0.0", "255.255.255.0")
    		// hostが指定したドメイン名と一致する場合,真
    		|| dnsDomainIs(host,"shitomi.jp")
    		// urlが指定した文字列と一致する場合,真
    		|| shExpMatch(url,"http://www.shitomi.net/*")
    		|| shExpMatch(url,"http://www.shitomi.com/*")) {
    		// プロキシサーバーを使用せず,直接接続
    		return "DIRECT";
    	} else {
    		// プロキシサーバーに192.168.0.1(192.168.0.1の障害時は192.168.0.2)を使用
    		return "PROXY 192.168.0.1:8080; PROXY 192.168.0.2:8080";
    	}
    }
    
    • このファイルをUTF-8で保存して利用すると,コメント行の日本語の文字化けにより不具合を起こすことに注意
  5. 以下のコマンドを実行して,/var/www/html/proxy.pacのパーミッションを変更する。
    # chmod 744 /var/www/html/proxy.pac
  6. クライアントのPC(Windows 2000)において,Internet Explorerを起動する。
  7. メニューバー[ツール] - [インターネット オプション] - [接続]タブを選択して,[LAN の設定]ボタンをクリックする。
  8. 『ローカル エリア ネットワーク (LAN) の設定』を,以下のように設定する。
    proxy.pacの利用設定/Squid(プロキシサーバー)/Fedora Core

 このサイトに書かれていることが原因でトラブルが発生しても,私は責任を取ることができません。したがいまして,ここで述べられていることに関する実行は,自己責任でお願いいたします。なお,このサイトはリンクフリーで,リンク時の連絡も不要です。

サイト内関連リンク:なし