Linux

目次

CentOSのいずれかのバージョン(すみません、忘れました。。。)

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 [#d0b59cad]
    • export LC_TIME の変更
      • sudo vi /etc/default/locale
        • 以下を追加
          LC_TIME="en_US.UTF-8"
  • 「DNS キャッシュファイルを開けません」エラー。
    • 以下のディレクトリを作成
      mkdir /var/lib/webalizer
    • 以下のコマンドを実行
      webazolver

squid の再起動に時間がかかる

  • 以下を設定
  • sudo vim /etc/squid3/squid.conf
    shutdown_lifetime 10 seconds

proxy 情報の漏れ診断

/etc/squid.conf ファイルのチェック

sudo squid3 -k check

Ubuntu 20.04 へ squid をインストールする。

squid Install

sudo apt install squid

squidguard のインストール

sudo apt install squidguard
  • squidguard は前回設定した conf ファイルがそのまま使えました。

squid, confファイルの編集

  • 前回の設定ファイルで squid3 となっていた箇所は、 squid に変更になっています。
  • とりあえず、 conf ファイルでコメント・アウトされていない squid3 は squid に 直した所、動きました。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-03-27 (土) 08:44:05 (21d)