Linux

目次

proxy ソフト、squid のインストール

yum install squid

proxy ソフト、squid の自動起動

chkconfig squid on

squid の設定

  • vi /etc/squid/squid.conf
    acl localnet src 192.168.1.0/24
    
    http_access allow localnet
    
    cache_mem 256 MB
    
    maximum_object_size 160384 KB
    
    fqdncache_size 10240
    
    cache_dir ufs /var/spool/squid 20000 16 256
    
    visible_hostname unknown
    
    forwarded_for off

pac ファイル

  1. 自分は以下の方法にしました(簡単なので(^^)
  2. pac ファイルの例
    function FindProxyForURL(url,host)
    { if(isPlainHostName(host)||
               isInNet(host,"192.168.0.0","255.255.0.0")) return "DIRECT"; 
     else return "PROXY 192.168.0.10:8080; DIRECT";
    }
  3. 自動認識までの流れ
    1. DHCPINFORMメッセージによるJavaScript?のURLの取得が失敗する
    2. 「wpad」という名前を持つホストを探す
    3. httpプロトコル(ポート番号は80番)を使って、「/wpad.dat」という名前の設定ファイルを取得しようとする。
      要は
       http://wpad.hogehoge.net/wpad.dat
      のようなファイルを作って上げればいいわけだ。
    4. このファイルの内容は、先のproxy.pacと同じ
    5. 「wpad」という名前は、クライアントが属しているドメイン名を、
      先頭から順番に切り詰めながら試行される。
      たとえばWebブラウザが動作しているマシンのFQDNが
      「pc1.lab.d-advantage.com」なら、
      「wpad.lab.d-advantage.com」、
      「wpad.d-advantage.com」を検索し、
      見つかればそこから設定ファイルを取得しようとする。
    6. よって、wpad というDNSレコードを登録する
      (AレコードもCNAMEレコードでもよい)
    7. そのホストのWWWサーバのルート・ディレクトリ上に自動設定ファイル(wpad.dat)を置く。

pac ファイルによる proxy サーバーの冗長化設定

  1. 例)
    function FindProxyForURL(url,host)
    { 
    //    return "PROXY proxy.foo.hoge:8080; proxy2.foo.hoge:8080; DIRECT";
        return "PROXY proxy.foo.hoge:8080; proxy2.foo.hoge:8080";
    }

squid の proxy で有害サイトのシャットアウト

  • これらの操作は CentOS 6 で行なっています。
  • squidguard のインストール
    yum install squidguard
  • squid.conf の編集
    • vi /etc/squid/squid.conf
    • 以下の行を追加
      url_rewrite_program /usr/bin/squidguard -c /etc/squid/squidguard.conf
  • ブラックリストのダウンロードと展開
    • ブラックリストのダウンロード
      wget http://www.shallalist.de/Downloads/shallalist.tar.gz
    • 展開
      tar xzfv shallalist.tar.gz
    • db ファイルを移動
      mv BL/* /var/lib/squidguard/db/
  • squidguard の設定
    • vi /etc/squid/squidguard.conf
      dbhome /var/lib/squidguard/db
      logdir /var/log/squidguard
      
      dest adv{
             domainlist adv/domains
             urllist adv/urls
      }
      
      dest porn {
             domainlist porn/domains
             urllist porn/urls
      }
      
      acl {
             default {
                     pass    !adv !porn all
                     redirect http://admin.foo.bar.de/cgi/blocked?clientaddr=%a+clientname=%n+clientuser=%i+clientgroup=%s+targetgroup=%t+url=%u
             }
      }
  • squidguard 設定ファイルの所有者を変更
    chown -R squid:squid /etc/squidguard/squidguard.conf
  • ブラックリスト db の更新
    squidguard -C all
  • ブラックリストDBのファイル所有者を変更
    chown -R squid:squid /var/lib/squidguard/db
  • squid の再起動
    /etc/init.d/squid restart

squid の解析

webalizer

ubuntu

  • export LC_TIME の変更
    • sudo vi /etc/default/locale
      • 以下を追加

        LC_TIME="en_US.UTF-8"


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-02-23 (土) 14:58:08 (149d)