概要(What)
本記事では、Linux上にSquidプロキシサーバーをインストール・構成し、クライアント側での接続設定を行う方法を解説します。
利点(Why)
Squidは高性能なキャッシュ型プロキシサーバーで、ブラウジングの高速化、Webフィルタリング、アクセス制御を可能にします。クライアントを適切に設定することで、安全かつ効率的に通信を中継できます。
手順(How)
ステップ1:Squidのインストール
RHEL系(AlmaLinux, Rocky, CentOS)の場合:
sudo dnf install squid -y
Debian系(Ubuntu)の場合:
sudo apt update
sudo apt install squid -y
ステップ2:Squidの設定
設定ファイル /etc/squid/squid.conf
を編集:
sudo nano /etc/squid/squid.conf
最小限の動作構成例:
http_port 3128
acl localnet src 192.168.0.0/16
http_access allow localnet
http_access deny all
dns_v4_first on
推奨される追加設定:
cache_mem 64 MB
maximum_object_size_in_memory 512 KB
maximum_object_size 20 MB
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
ステップ3:Squidの有効化と起動
sudo systemctl enable --now squid
ステップ4:ファイアウォールの設定
firewalld使用時:
sudo firewall-cmd --add-port=3128/tcp --permanent
sudo firewall-cmd --reload
UFW使用時:
sudo ufw allow 3128/tcp
ステップ5:クライアントの設定
Linux(シェルで一時的に設定):
export http_proxy="http://<squid-ip>:3128"
export https_proxy="http://<squid-ip>:3128"
Linux(永続設定):
/etc/environment
を編集:
http_proxy="http://<squid-ip>:3128"
https_proxy="http://<squid-ip>:3128"
Windows(PowerShellで現在のユーザーに適用):
netsh winhttp set proxy <squid-ip>:3128
リセットするには:
netsh winhttp reset proxy
ステップ6:接続確認
クライアント側から:
curl -x http://<squid-ip>:3128 http://example.com
Squidサーバー上でログ確認:
sudo tail -f /var/log/squid/access.log
結論
PACファイルなしでシンプルにプロキシ環境を構築できます。通信制御、ログ取得、柔軟な管理が可能で、ネットワーク管理の一環として有用です。