CentOS でプロキシサーバー(Squid)を構築

はじめに

CentOS 6.7 で Squid を構築する簡易手順を紹介します。

Squid の構築

squid インストール

yum -y install squid

squid.conf 設定編集

vi /etc/squid/squid.conf

squid.conf 編集内容

http_access allow all
# http_access deny all 
# http_port 3128 

## 最終行に以下を追加
# ホストネーム"myproxy"を設定
visible_hostname myproxy

# ポートを8080に指定
http_port 8080

# 接続を許可する IP"192.168.1.0/24"を設定する。
acl myacl src 192.168.1.0/255.255.255.0
http_access allow myacl
http_access deny all

# プロキシサーバーを使用している端末の IP を隠蔽化
forwarded_for off

# プロキシサーバー経由のアクセスを、アクセス先に知られないようにする。
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

初回キャッシュクリア

squid -z
service squid start

Squid 動作確認

アクセスログの取得

tail -f /var/log/squid/access.log
Squid3 系において、squid.conf に header_access を設定していると、以下のエラーが出力されます。
ERROR: Directive ‘header_access’ is obsolete.
この場合、header_access を、request_header_access とすると解消します。

セッション数の確認

netstat -lanput | grep squid | grep -i ESTABLISHED | wc -l

設定ファイルのリロード

squid.conf を編集した際、設定ファイルを reload する事で、既存セッションに影響を与える事なく、設定を反映させる事が可能です。以下は HUP シグナル[1]Hang Up Signalを使用して、設定ファイルを reload する例になります。

/usr/local/squid/sbin/squid -k reconfigure

reload コマンドで代用可能です。

/etc/rc.d/init.d/squid reload

以上

脚注

脚注
1Hang Up Signal