squid

プロクシサーバです。
キャッシュを設置サーバに保存することにより、2度目以降のアクセスを高速化させます。複数人で利用することで本領を発揮すると言う感じで、初めて訪れたページや、更新の有ったページヘのアクセスは、体感出来るほどではないものの、遅くなると言う話があります。

以前はバージョン選択できたのですが、現在は新規にインストールするとv3.5.xがインストールされます。

 

☆ 秘匿設定

プロキシ経由のアクセスに対してコメント投稿を禁止しているサイトが多いので秘匿設定をすることになるのですが、これはv3.3の頃から非推奨設定となり、ただ設定ファイルに追記するだけでは機能しなくなりました。そのためインストール作業をする前に、強引に設定を追記する必要があります。

秘匿設定が必要ないなら、この作業は必要ありません。

 

vi /usr/ports/www/squid/Makefile

# Finally, add additional user specified configuration options:』と書かれている部分(最後の方にある)を探し、その真下に設定を追記する。

 

CONFIGURE_ARGS+= -enable-http-violations

この設定は、バージョンアップ時にも設定する必要があります。この設定自体は、あくまで現状の最新v3.5.12で有効な設定なだけで、他のバージョンでも有効とは限りません。設定すべき場所が変更になった場合は追記しますが、変更の無い場合はバージョンが上がっても特に追記はしません。
v3.5.20 OK

☆インストール

cd /usr/ports/www/squid
make config-recursive
make install clean && rehash

 

◆追記

v3.5.16以降からか、ファイアーウォールの設定がデフォルトで『IPFW』が選択されていて、それ以外のファイアーウォールを使用している場合はエラーが出るようになりました。

新規でインストールする場合、この辺の設定を確認してください。

アップデートでこの問題に遭遇した場合、portsでのオプションを選択し直すことにより解決するかと思います。

cd /usr/ports/www/squid
make rmconfig
make config-recursive
make reinstall clean && rehash

ports参照

◆追記2

v3.5.21頃からなのか『GSSAPI』の設定がデフォルト(BASE)のままだと警告が出て先に進まないことが有るようです。

 

☆rc.confの設定

vi /etc/rc.conf
squid_enable="YES"

☆squid.confの設定

cd /usr/local/etc/squid/
chmod 644 squid.conf
vi squid.conf

 

該当箇所をコメント化&追加

#acl localnet src 10.0.0.0/8
#acl localnet src 172.16.0.0/12
#acl localnet src 192.168.1.0/24
#acl localnet src fc00::/7
#acl localnet src fe80::/10
acl localnet src 192.168.1.0/24
acl localhost src 192.168.1.0/24

 

該当箇所のコメント解除&修正

cache_dir ufs /var/squid/cache/squid 2000 16 256

 

ページ最後にでも追加。
最後の三行は秘匿設定なので、必要ないなら追記しなくても良い

forwarded_for off
visible_hostname unkown
request_header_access X-FORWARDED-FOR deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

visible_hostname』を『unkown』ではなく適当なホスト名にする必要があるかもしれません。その辺の確認と判断は『診断くん』などを利用すると良いかと思います。

☆キャッシュディレクトリの準備

chown -R squid:squid /var/squid
/usr/local/sbin/squid -z

私の環境では、何故かディレクトリ作成が終了しない。
一旦[Ctrl]+[C]で強制終了させ、該当ディレクトリ内に00~0Fまでのディレクトリが作成されていたなら特に気にしなくても良いらしい。

ls /var/squid/cache/squid

☆ squidの起動

/usr/local/etc/rc.d/squid start

 

◆追記

環境によっても違いが有るだろうが、私の環境ではSquidをstopしても『top』コマンドで確認するとプロセスが完全に終了していない。qjailの一分環境のみの再起動でも、これが原因で再起動が出来ず、最悪の場合、環境そのものが壊れてしまう場合もあります。squidのシステムを停止する場合は、stopをした後topコマンドで確認し、squidが停止していないようなら、下のコマンドを使うようにする方が良いかもしれません。

pkill -f 'squid'

 

☆ ブラウザからの確認

FireFoxの場合

  1. FireFoxを起動
  2. ツール
  3. オプション
  4. [詳細]→[ネットワーク]
  5. [接続]→[接続設定]

手動でプロキシを設定するを選択し、HTTPプロキシの欄にsquidを設置したFreeBSDのIPアドレスを記入。ポートの欄には[3128]と記入。
(ポート番号を変更しているなら、変更した番号を記入する)

InternetExplorerの場合

  1. InternetExplorerを起動
  2. [ツール]→[インターネットオプション]
  3. [接続]
  4. [LANの設定]
  5. [プロキシサーバー]

[LANにプロキシサーバーを使用する]にチェックし、アドレスにsquidを設置したFreeBSDのIPアドレスを記入。ポートの欄には[3128]と記入。
(ポート番号を変更しているなら、変更した番号を記入する)

ブラウザでのプロキシ設定画面の表示方法は、OSやブラウザのバージョンによって変わる場合があります。

設定は即反映されるので、設定が済んだら、何ヶ所かのサイトを回ってみます。エラーが出なければ設定は問題無いと言えます。

☆ログローテーション

squidのログは、ディフォルトで10個まで貯めこむ事が出来ますが、この数値は変更可能です。『squid.conf』の適当な所に『logfile_rotate 30』みたいに追記してやれば良いです。まぁ、私は面倒なのでしてませんが・・・。

個人宅で大量のログを抱え込んでいてもあまり意味は無いと思うので、私は1日1回のローテーションで10日間のログを保有しています。それ以上のログは、古い順から消えていきます。

ローテーションはcronにて行っています。

30 14 * * * root /usr/local/sbin/squid -k rotate

crontabの詳しい設定は、crontabを参照して下さい。

 

☆ たわごと

プロキシサーバを介したコメントを拒否するブログが多いです。
大手ブログサイト数社のブログコメント欄に、秘匿設定の有る無しで書き込みテストのような事をしてみましたが、結論として、ここでしている秘匿設定で書き 込みの出来ないブログサイトは有りませんでした。とは言え、全てのサイトで確認したわけでは有りませんので、場合によってはコメントが一切受け付けられな いサイトが有るかもしれません。プロキシの有る無しで状況が変わるような場合は、ブラウザの機能で、プロキシを使用しないサイトを設定して下さい。
ここではブラウザの設定説明はしません。
(確認できるサンプルも無いですし)

 

役に立ちましたか?
  • 役に立った (0)
  • 少しだけ (0)
  • これじゃない! (0)