さて、子供向けのアクセス制限の Proxy の設定が完成。 最近、マリオ&ゲームの検索で、YouTube で他人のゲーム風景動画を見るのが 好きだったみつくんは、文句言うだろうなぁ…
目標は当初のとおり、既存の 8080 ポートの squid を動かしつつ、 子供向けのアクセス制限 Proxy を 8081 で動かすこと。 先日の失敗は、squid-2.6.18 より squidGuard を呼び出すための設定が redirect* でなく、url_rewrite* になっていたこと。
≪ インストール ≫ # aptitude install squidguard
≪ /etc/squid/squid.conf ≫ # 2つのポートで Squid を動かす http_port 8080 http_port 8081 # 接続してくるポートが 8081 なら squidGuard に redirect する。 acl proxy_normal myport 8080 acl proxy_guard myport 8081 acl SSL_ports port 443 563 acl localhost src 127.0.0.1/255.255.255.255 acl all src 0/0 # 無駄があるような... # https等は rewriter に送らない(甘いか?) url_rewrite_access deny SSL_ports # 自分自身は rewriter に送らない。 url_rewrite_access deny localhost # 8081 ポート以外は、rewriter に送らない → 8080 は rewriter に送らない。 url_rewrite_access deny !proxy_guard # その他は、rewriter に送る → 8081 は rewriter に送る url_rewrite_access allow all url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
≪ /etc/squid/squidGuard.conf ≫ dbhome /var/lib/squidguard/db logdir /var/log/squid time work-hours { weekly mtwhf 08:00-17:30 } time kids-hours { weekly smtwhfa 05:30-22:00 } src local-clients { ip 127.0.0.1 192.168.2.0/24 } dest good { domainlist good/domains urllist good/urls expressionlist good/expressions } dest porn { domainlist porn/domains } acl { local-clients within kids-hours { pass good !porn none # 許可ページ以外は、kids.goo.ne.jp で表示のOK/NGを判断させる。 redirect http://search-kids.goo.ne.jp/cgi-bin/kgbody.php?TP=%u } default { pass good !porn none redirect http://192.168.2.2/system/sg.php?url=%u } }
≪ /var/www/system/sg.php ≫