Edited at

CentOS 7 (64bit)でのSquid構築方法

More than 1 year has passed since last update.


はじめに

 ・あくまでも忘れっぽい自分向けのメモ。φ(・ω・ ) メモメモ

 ・使用しているサーバは、DTIさんのServersMan@VPS(Standardプラン・シンプルセット)。

  安いし、初期化も簡単だから検証用とかで使う分には重宝する。

  http://dream.jp/vps/

 ※途中で眠くなってきたから書き方が雑い。おいおい改修予定。


インストール

 普通に"yum"コマンドでSquidをインストール

 [root@dti-vps-srv740 ~]# yum -y install squid


環境設定

 自分自身の環境に合わせて"squid.conf"を書き換え。

 今回は、Squidに仕立て上げるサーバが外部にある仮想化サーバとなるため、外部から

 アクセスできるように設定。

 vi /etc/squid/squid.conf

 以下、"squid.conf"の中身を丸々転載&一部解説。(英語はわからんのぉ・・・)

 とりえあず、赤文字のところだけ追記してればSquidは利用可能。

#

# Recommended minimum configuration:

#

# Example rule allowing access from your local networks.

# Adapt to list your (internal) IP networks from where browsing

# should be allowed

↑上の3行にアクセスを許可する自身のIPアドレス帯を記載してね。以下は例だよ。的なことが書いてある。なので↓に"mynetwork"(※変更可)という名前を付けて許可したいIPアドレス帯を記載(赤文字の部分)。

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 mynetwork src 153.231.166.79/32

以下には、通信を許可するポート番号を記載する。

ポート番号を追加する場合は、既存の番号の横にスペースを1つ空けて追記。

("acl SSL_ports port 443 8821" みたいな感じ。)

acl SSL_ports port 443

acl Safe_ports port 80      # http

acl Safe_ports port 21      # ftp

acl Safe_ports port 443      # https

acl Safe_ports port 70      # gopher

acl Safe_ports port 210     # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280     # http-mgmt

acl Safe_ports port 488     # gss-http

acl Safe_ports port 591     # filemaker

acl Safe_ports port 777     # multiling http

acl CONNECT method CONNECT

#

# Recommended minimum Access Permission configuration:

#

# Deny requests to certain unsafe ports

http_access deny !Safe_ports

↑は、(上のほうで)"Safe_ports"で許可すると記載したもの以外は拒否するよ。的な設定となる。

# Deny CONNECT to other than secure SSL ports

http_access deny CONNECT !SSL_ports

↑は、"SSL_ports"に記載したポート番号以外でのSSL接続を拒否するよ。的な設定となる。

# Only allow cachemgr access from localhost

http_access allow localhost manager

http_access deny manager

↑は、ローカルホスト以外からのキャッシュマネージャーへのアクセスを

拒否するよ。的な設定となる。

# We strongly recommend the following be uncommented to protect innocent

# web applications running on the proxy server who think the only

# one who can access services on "localhost" is a local user

#http_access deny to_localhost

#

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

#

# Example rule allowing access from your local networks.

# Adapt localnet in the ACL section to list your (internal) IP networks

# from where browsing should be allowed

#http_access allow localnet

#http_access allow localhost

http_access allow mynetwork

↑は、許可したいIPアドレス帯として上のほうで作成したACL名を記載。

デフォルトで設定が入っている不要なものはコメントアウト(#)する。

# And finally deny all other access to this proxy

http_access deny all

↑は、上のほうで"http_access allow (ACL名)"で許可したもの以外は全部拒否するよ。

的な設定となる。。

# Squid normally listens to port 3128

http_port 3128

↑は、受け付けポートの設定値。

よく使われてるのは8080。

# Uncomment and adjust the following to add a disk cache directory.

#cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir

coredump_dir /var/spool/squid

↑は、コアダンプの吐き出し先を指定した設定。

#

# Add any of your own refresh_pattern entries above these.

#

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

最終行に以下を追記。匿名性を高めるためのものだとのこと。

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"を起動。

 [root@dti-vps-srv740 ~]# service squid start


起動後について

 起動後、ブラウザでプロキシを使用してみたところ、「ESTAB」や

 「TIME-WAIT」で大量にポートが食い潰されている模様。

 今日はもう眠いしよくわからないから後日確認して原因追及予定。