Squidでのプロキシサーバー構築

Shunsuke Sawada

プロキシサーバー。
ネットワークに弱い自分としては何それって感じ… なのでメモしておきます。
分からないながらもやってみた。

  
環境

ググったらほとんどがCentOS 6のもので、結構ハマった。
きっかけはこの記事。
CentOS - 5分で作るPROXYサーバー - Qiita

でも全然5分でできなかったYO!

インストール

1
2
3
4
5
6
7
8
9
10
11
12
$ yum install squid

# Create missing swap directories and then exit.
$ squid -z

$ systemctl start squid

$ systemctl status squid
=> Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled)
=> Active: active (running) since Thu 2015-06-18 20:56:45 JST; 24min ago

認証付きのプロキシにする

パスワードファイルを作る
-c は初回のみつければいいらしい。

1
$ htpasswd -c /etc/squid/passwd USER_NAME

  
設定ファイルを編集

このファイルの書き方が分からなくてググりまくった。
参考サイトは記事最下部を参照してください。
でも古い記事だと自分の環境と違っていることが結構あった。

header_accessrequest_header_access で、
/usr/lib/squid/ncsa_auth/usr/lib64/squid/basic_ncsa_auth だった。

出来上がったファイルの追加部分はこんな感じ。↓
追加分の上の方にある http_access deny all はコメントアウトしておく。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$ vim /etc/squid/squid.conf

# -- 追加 -- #

visible_hostname YOUR_HOST

# Squid normally listens to port 3128
http_port 3128

# Hide IP adress
forwarded_for off

# Avoid to send infomation in HTTP request
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

# Basic auth
# Ref http://arashmilani.com/post?id=49
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

# Define ACL
acl ncsa_users proxy_auth REQUIRED

# Set permission to ACL
http_access allow ncsa_users
http_access deny all

参考

Squidの設定 【Squid Web プロキシ & キャッシュ(Squid Web Proxy Chche & squid.conf Manual)】
アクセスコントロール(ACL)
Squid バージョン2
How to configure Squid basic authentication on CentOs 6.5
プロキシサーバ/Squid - OSSでLinuxサーバ構築
特定ドメイン向けのbasic認証有りの proxy (squid-2.7) - As I Please
Squidによるプロキシサーバーの構築
genteel.org | squid 3.xで匿名串。
確認くん(ちゃんと通ってるか確認するやつ)

以上です。
サーバーって難しいね。
  
あ、ちなみにMacでプロキシ使う場合は、

30
Shunsuke Sawada

おすすめの記事

Chromeのリモートデバッギング / Virtual boxのローカル開発環境にあるアプリを確認する
30