以下では、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 をインストールしたなら、squid.conf ファイルに次のような最小限の設定を行うことで Squid を利用できるようになります。
上記の設定の内容は以下の通りです。(文字がグレーの場所は必要に応じて設定してください)
設定内容 | 備考 |
---|---|
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" にします。 |
参考: