Help us understand the problem. What is going on with this article?

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

More than 3 years have 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」で大量にポートが食い潰されている模様。
 今日はもう眠いしよくわからないから後日確認して原因追及予定。

t-morisoba
自分が忘れないため、今後、流用できるためのメモとして利用。 他の誰の役にも立たないどころか、邪魔となる可能性もあるかも。すまぬぬぬです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away