Squid Proxy Serverの設定 その1

投稿者: | 2013年3月28日

二か月ぐらい前に読み終わった、Packet Publishingというイギリスのニッチな技術書を売っている出版社の、Squid Proxy Server 3.1: Beginner’s Guideという本の内容を忘れないうちに、Proxyサーバーの設定をまとめてみることにした。

ここでまとめるのはLANのGatewayとしてのSquidの設定、Reverse Proxyを作るならNginxのほうが性能出ると思う。

下記のようなネットワーク構成で、メモリを4GBぐらい積んだサーバーでの設定例を書きます。

この設定例は、CentOS6でデフォルトで入るSquid3.1の設定ファイルに手を加えたものです。Proxyアプライアンスとか、Web cache機能の付いたUTMが売ってるからほとんど需要がなさそうだな・・・

ネットワーク構成

「設定例」

# 基本設定
visible_hostname proxy.example.com
httpd_port 8080
snmp_port 3401
via disalbe
forwarded_for delete

# キャッシュ容量の設定
cache_mem 2500MB
maximum_object_size_in_memory 8MB

cache_dir aufs /var/pool/squid 30000 32 512
minimum_object_size 0KB
maximum_object_size 100MB

ipcache_size 15000
fqdncache_size 15000

coredump_dir /var/spool/squid

# ACLの設定
acl manager proto cache_object
acl snmp_public snmp_community public
acl from_localhost dst 127.0.0.1/32
acl from_localnet 192.168.0.0.24
acl to_localhost dst 127.0.0.1/8 0.0.0.0/32
acl to_localnet dst 192.168.0.0/24

acl SSL_ports port 443
acl Safe_ports port 21 # ftp
acl Safe_ports port 70 # gopher
acl Safe_ports port 80 # http
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 443 # https
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 1025-65535 # unregisterd ports
acl CONNECT method CONNECT

# キャッシュマネージャーのアクセス制限(ローカルネットワークのみ)
http_access allow manager from_localhost
http_access allow manager from_localnet
http_access deny manager

# 安全でないポートからのアクセス制限
http_access deny !Safe_ports

# 安全でないSSLポートへのアクセス制限
http_access deny CONNECT !SSL_ports

# Proxyサーバーへのアクセス制限
http_access allow from_localhost
http_access allow from_localnet
http_access deny all

# ローカルネットワークへのアクセス時のコンテンツのキャッシュを無効にする。
cache deny to_localnet
cache deny to_localnet

# キャッシュのストップリスト
hierarchy_stoplist cgi-bin ?

# キャッシュのリフレッシュパターン
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

# ログを読みやすく解析しやすいようにするためにApache互換のフォーマットに変換する設定
access_log /var/log/squid/access.log auto
emulate_httpd_log on

Squid Proxy Serverの設定 その2

[参考書籍]
英語版だけど、Proxyサーバーを設定するにあたって役に立ちました。なんで日本語でまともな本が出てないんだよ・・・


コメントを残す

メールアドレスが公開されることはありません。

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください