最終更新日: 2014年1月13日
Squid Homeへ】

Squidに最小限の設定を行う

以下では、Squidを動作させるために必要な最小限の設定について説明します。 なお、設定を行うファイルは次のファイルとなります。

【設定ファイルの場所】
ファイル名 CentOS, Redhat Debian, Ubuntu 備考
squid.conf /etc/squid/squid.conf /etc/squid3/squid.conf (Squid3の場合)
/etc/squid2/squid.conf (Squid2の場合)
 
エラーメッセージ
フォルダ
/usr/share/squid/errors/ja
/usr/share/squid/errors/en
/usr/share/squid-langpack/Japanese
/usr/share/squid-langpack/English
(日本語)
(英語・デフォルト)
       


squid.confの編集

Squid をインストールしたなら、squid.conf ファイルに次のような最小限の設定を行うことで Squid を利用できるようになります。

::
::
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#acl localnet src fc00::/7 # RFC 4193 local private network range
#acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl localnet src 172.16.10.0/24
acl localnet src 192.168.0.0/16 2001:470:xxx:xxx::/64

::
#
http_access allow localnet
http_access allow localhost
http_access allow remortnet
::
# http_port 3128
http_port 8080
::
# Uncomment and adjust the following to add a disk cache directory.
# cache_dir ufs /var/spool/squid3 100 16 256
::
#Default:
# cache_mgr webmaster
#
cache_mgr webmaster@robata.org
::
#Default:
# cache_effective_user proxy
::
#Default:
# visible_hostname localhost
#
visible_hostname proxy.example.jp
::
#Default:
# none
# (CentOS) : error_default_language ja
# (Debian) : error_default_language Japanese
error_default_language Japanese
::
#Default:
# forwarded_for on
forwarded_for off
::
::


上記の設定の内容は以下の通りです。(文字がグレーの場所は必要に応じて設定してください)

設定内容  備考
acl localnet src 172.16.10.0/24
acl localnet src 192.168.0.0/16 2001:470:xxx:xxx::/64
squidを利用できる端末のネットワークセグメントを指定。
この例の場合、172.16.0.0/16と192.168.0.0/16およびIPv6で2001:470:xxx:xxx/64 のネットワークにつながっているクライアントを「localnet」という名前でACL定義している。 
http_access allow localnet アクセス制御ルールにおいて、ACLが「localnet」に対応するアクセスを許可する。 なお、アクセス制御は順に評価されるため、このステートメントの前でこのACLへの拒否のルール設定がされている場合、アクセスは拒否される。
また、このステートメントで
”http_access allow ACL-1 ACL-2 ....."のように同一のステートメントに2つ以上のACLを並べた場合、アンド条件(ACL-1とACL-2 .....を同時に満たす状態)でないと許可されない。
http_port 8080 squidがクライアントからの接続を待ち受けるポート番号:デフォルトは”3128”
cache_dir ufs /var/spool/squid3 100 16 256 通常はデフォルトのままで良いので、コメント(先頭を'#')のままでも構いません。
squidによってアクセスしたサイトの情報を、squidサーバーのディスク上にキャッシュする場合に、キャッシュエリアの場所とその最大サイズを定義します。
なお、このディレクトリのアクセス権は後述の「cache_effective_user」で指定したユーザがアクセスできるようになっている必要があります。
cache_mgr webmaster@robata.org squidの管理者のメールアドレス。
squidによって報告されるアクセスエラー等の画面にここで指定したメールアドレスが表示されます。
cache_effective_user 通常はデフォルトのままで良いので、コメント(先頭を'#')のままでも構いません。
ここで指定したユーザ権限でsquidを動作させる。
なおこれを指定する場合には、ログ関係のディレクトリや「cache_dir」で指定したディレクトリがこのユーザで書き込めるようにしておく必要があります。
visible_hostname proxy.example.jp エラー表示などで、どのsquidサーバなのかを表示させる。これを設定しない場合"localhost"として表示されてしまう。 
複数のsquidサーバを立てる場合などではどのサーバのエラーかを特定するために設定しておく事が望ましい。
error_default_language Japanese エラー表示の際の言語を指定。(Japanese, ja / English, en等)
指定しない場合は、英語でエラーは表示される。
forwarded_for off デフォルトは"on"状態です。
Proxyを経由した場合であっても通常はHTTPリクエストに、クライアントの(ローカル)IPアドレスが相手のサーバに判るようになっています。
セキュリティを強化したい場合など、クライアントのIPアドレスを相手に判らなくいようにしたい場合にはこれを "off" にします。 


Squid Homeへ】

参考: