Squidの設定と管理

〜 プロキシサーバーを通じて安全・効率的なネットワーク通信を実現 〜


目次

📌 概要

Squid は、Webアクセスを中継・キャッシュする プロキシサーバー です。ネットワークの通信制御、キャッシュによる高速化、ユーザー認証、フィルタリングなどに活用されます。

本記事では、以下のスキルを習得できます:

  • Squid のインストールと設定
  • ACLや http_access によるアクセス制御
  • ユーザー認証の設定
  • リソース利用制限の基本

🛠 1. Squidのインストール

Debian/Ubuntu 系:

sudo apt update
sudo apt install squid

RHEL/CentOS 系:

sudo dnf install squid

📁 2. 基本構成と設定ファイル

🔧 主な設定ファイル

パス説明
/etc/squid/squid.confメイン設定ファイル
/var/log/squid/ログディレクトリ
/etc/squid/passwdユーザー認証用ファイル(Basic認証)

✅ 設定反映と操作コマンド

操作コマンド例
設定ファイルの構文チェックsquid -k parse
再起動systemctl restart squid
ステータス確認systemctl status squid

📄 3. squid.confの基本構成

Squidの設定は非常に柔軟ですが、以下のような構成が一般的です。

# ポート番号(デフォルトは3128)
http_port 3128

# アクセス制御リストの定義(ACL)
acl allowed_network src 192.168.1.0/24

# アクセス許可
http_access allow allowed_network

# すべてのその他アクセスを拒否
http_access deny all

🧱 4. ACLとhttp_accessの基本

🔹 ACL(アクセス制御リスト)の定義方法

acl <名前> <タイプ> <値>

主なACLタイプの例

タイプ意味
src192.168.1.0/24アクセス元のIPアドレス
dstexample.com宛先
port80ポート番号
url_regexyoutubeURL内の文字列一致
timeMTWHF 08:00-18:00曜日と時間制限

🔹 http_accessの記述

ACLで定義したルールに基づきアクセスを「allow」「deny」します。

http_access allow work_hours_users
http_access deny all

※ 最後に http_access deny all を記述しておかないと、無制限で通過します。


🔐 5. 認証(Basic 認証)の設定

① 認証ヘルパー設定

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic realm Squid Proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

② ユーザー追加(htpasswdで生成)

sudo apt install apache2-utils  # Debian系なら必要
sudo htpasswd -c /etc/squid/passwd user1

📊 6. squidclientでの管理

squidclient コマンドを使うと、Squid に対する統計・管理操作が可能です。

squidclient mgr:info       # Squidの基本情報を取得
squidclient mgr:client_list # クライアント一覧

⚙️ 7. その他の代表的な設定

🔹 キャッシュディレクトリの設定

cache_dir ufs /var/spool/squid 100 16 256
  • ufs:キャッシュ方式
  • 100:キャッシュサイズ(MB)
  • 16, 256:ディレクトリ構造

🔹 ログ設定

access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log

✅ まとめ表

項目設定ファイル・コマンド説明
ポート番号http_port 3128プロキシの待受ポート
ACL設定aclアクセス元・時間などを制御
アクセス制御http_access allowACLに基づき許可・拒否
ユーザー認証auth_param, proxy_authBasic認証で制限
クライアント管理squidclientステータス取得
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次