LinuxでSquidプロキシサーバーを構築する

概要(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ファイルなしでシンプルにプロキシ環境を構築できます。通信制御、ログ取得、柔軟な管理が可能で、ネットワーク管理の一環として有用です。

タイトルとURLをコピーしました