LPIC202 squid.conf基本設定
ディレクティブごとに覚えるのが苦手だと思ったので、1つの設定ファイルに書き込んでみました。
備忘として書き込んだだけですが、暗記には使えると思います。
squid.conf
########################################
## 基本設定(General Settings)
########################################
http_port 3128
# Squid が待ち受けるポート番号。一般的には 3128 または 8080 を使用。
# 透過プロキシ設定では 80 や 443 を指定することもある。
visible_hostname proxy.local
# Squid が外部に通知するホスト名。管理画面やエラーページに表示される。
# 未設定だと起動時に警告(WARNING: no visible_hostname)となる。
hierarchy_stoplist cgi-bin ?
# キャッシュ階層をたどらずに処理する URL のパターン。
# “cgi-bin” や “?” を含む動的ページはキャッシュしないのが一般的。
cache_mgr admin@example.com
# cachemgr.cgi(管理インタフェース)に表示される管理者メール。
# LPICでも「管理者情報を示す設定」として覚えておく。
########################################
## アクセス制御(Access Control)
########################################
acl localnet src 192.168.0.0/16
# ACL(アクセスリスト)。“localnet” として内部ネットワークを指定。
acl localhost src 127.0.0.1/32
# ローカルホストの ACL。最も基本的な ACL の1つ。
http_access allow localhost
# ローカルホストからのアクセスは許可する。
http_access allow localnet
# 内部ネットワークも許可。
http_access deny all
# すべてのアクセス制御の最後は通常 “deny all”。
# LPICでは「ACLの評価は上から順に行われる」点が重要。
########################################
## キャッシュ設定(Cache Settings)
########################################
cache_mem 256 MB
# メモリキャッシュのサイズ。大きくすると RAM を消費しすぎる場合がある。
cache_dir ufs /var/spool/squid 10000 16 256
# ディスクキャッシュディレクトリの指定。
# 第1引数:キャッシュタイプ(ufs が最も基本)
# その他のキャッシュタイプ:
# aufs → Linux の非同期I/O対応で高速
# diskd → 非同期I/O(古い方式)
# 試験では "ufs" と "aufs" の違いが問われやすい。
ipcache_size 1024
# IP→FQDN の逆引きキャッシュのサイズ。
# 大きすぎても効果が薄いため適度な値でよい。
########################################
## ログ設定(Logging)
########################################
access_log /var/log/squid/access.log squid
# アクセスログ。クライアントのアクセス履歴が記録される。
# フォーマット:
# squid(デフォルト)
# common(Apache 形式)
# combined(より詳細)
cache_log /var/log/squid/cache.log
# Squid 自体の動作ログ。エラー解析に必須。
cache_store_log /var/log/squid/store.log
# キャッシュ格納・削除ログ。
# 不要であれば "none" を指定して無効化することも可能。
logfile_rotate 30
# ログ保存世代数。30世代なら約1ヶ月分のログを保持。
########################################
## パフォーマンス(Performance)
########################################
maximum_object_size 50 MB
# ディスクに保存する1オブジェクトの最大サイズ。
# 動画や大きなファイルをキャッシュしたくない場合、10MB などに変更。
minimum_object_size 0 KB
# キャッシュする最小サイズ。通常は 0KB のままで良い。
maximum_object_size_in_memory 512 KB
# メモリキャッシュに保存する最大オブジェクトサイズ。
# 値を上げると RAM 使用量が増えるため調整が必要。
########################################
## セキュリティ(Security)
########################################
forwarded_for off
# X-Forwarded-For ヘッダの扱い。クライアント IP をどこまで伝えるか。
# オプション:
# on → クライアントIPを追加(デフォルト)
# off → 追加しない(匿名性向上)
# delete → ヘッダ自体を削除
# truncate → 最後のIPのみ残す
httpd_suppress_version_string on
# Squid のバージョン情報を応答ヘッダから隠す。セキュリティ強化。
########################################
## DNS設定(DNS Settings)
########################################
dns_nameservers 8.8.8.8 1.1.1.1
# Squid が利用する DNS サーバを明示的に指定。
# OS の resolv.conf を使わせたい場合は未設定でよい。
########################################
## FTP関連(FTP)
########################################
ftp_user anonymous@example.com
# FTPアクセス用のユーザー名。
# “anonymous@メールアドレス” を使うのが慣習。
ftp_passive on
# Passiveモードの使用。ファイアウォール越えで必要になることが多い。
########################################
## その他の制限(Other Limits)
########################################
reference_age 30 days
# キャッシュされたオブジェクトを「古い」と見なすまでの期間。
request_header_max_size 64 KB
# クライアントのHTTPヘッダサイズ上限。
# 大きなヘッダを使った攻撃対策にも利用される。
request_body_max_size 512 MB
# POST などのリクエストボディの最大サイズ。
reply_body_max_size 100 MB allow all
# サーバからクライアントに返す応答ボディの最大サイズ。
# “allow all” の部分を ACL に置き換えると細かい制御が可能。