Squidでのプロキシサーバー構築
プロキシサーバー。
ネットワークに弱い自分としては何それって感じ… なのでメモしておきます。
分からないながらもやってみた。
環境
- CentOS 7
- Squid
ググったらほとんどが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_access
は request_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でプロキシ使う場合は、
- System Preferences
- -> Network -> 自分の使ってるWifi選択して「Advanced」をクリック
- -> Proxiesタブ
- -> Web Proxy / Secure Web Proxy という設定でいけます。