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_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

安心してネットワークを利用するために プロキシの仕組みを理解する
増田 若奈
ディーアート
売り上げランキング: 174,046
小さな会社の新米サーバー/インフラ担当者のためのLinuxの常識
中島 能和
ソシム
売り上げランキング: 18,121

参考

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 という設定でいけます。

何かありましたらコメントをどうぞ

comments powered by Disqus

人気の記事

950 Points チリ出身のギタリストが弾くドラゴンボールZがむちゃくちゃかっこいい…
774 Points Wordpress + Heroku + PostgreSQL + Amazon S3 = ¥0 / 無料でサイト運営
700 Points Rubyのチートシート 変数 / クラス / モジュール
524 Points Rubyのチートシート / アクティブサポート
451 Points 紙のデザイナーがウェブ開発できるようになるまでに必要なこと
435 Points Rails / Google Analyticsのデータを使って分析や管理画面のためのグラフをつくる
323 Points RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い
222 Points Rails / RSpec テスト書いたことない メンドクサイ(n´Д`)という時のチートシート
193 Points Rails / Ajaxを使って画面遷移しない一時保存機能をつける
193 Points Protractorでスクレイピングしてみた