プロキシ・サーバ squid のインストールと設定(Ubuntu 上)

Ubuntu でのSquidプロキシサーバの基本的な構築方法。設定ファイル`/etc/squid/squid.conf`でのアクセス許可設定、サービスの起動・停止、ファイアウォール設定、クライアントからの接続テスト、ログ確認方法。

自分が管理しているマシンにプロキシサーバを稼働させ、 同じ LAN 内の別のマシンの Web アクセス(Web ブラウザや wget など)を、このプロキシ・サーバを経由できるようにする. 利点として、 プロキシ/サーバのキャッシュ機能を使って、ネットワークへの負担を減らすことができる場合がある.

前もって決めておく事項

インストールと設定

  1. Squidパッケージのインストール:
    以下のコマンドを実行してSquidをインストールする.Ubuntu 24.04 LTSでは、このコマンドでSquidパッケージ(バージョン6.10が提供されることが多い)がインストールされる.
    sudo apt update && sudo apt -y install squid
  2. 設定ファイル /etc/squid/squid.conf の編集:
    プロキシのポート、アクセス許可するネットワークなどを設定する.編集前にオリジナルファイルのバックアップを作成することを推奨する(例: cp /etc/squid/squid.conf /etc/squid/squid.conf.bkp).設定ファイルを編集し、以下の例のようにhttp_portaclhttp_accessなどの項目を設定または追記する.以下の例は、ポート3128で待ち受け、IPアドレス範囲 XXX.YYY.ZZZ.0/24 からのアクセスを許可する設定の一部である.
    # http_port ポート番号
    http_port 3128
    
    # アクセス制御リスト (ACL) の定義
    # src <ネットワーク名> <IPアドレス範囲 (CIDR表記)>
    acl my src XXX.YYY.ZZZ.0/24
    
    # HTTPアクセス制御
    # http_access allow <ネットワーク名>
    http_access allow my
    
    # その他のアクセスは拒否
    http_access deny all
  3. Squidサービスの再起動:
    設定変更を反映させるためにサービスを再起動する.Ubuntu 24.04 LTSでは systemctl コマンドの使用が推奨される.
    sudo systemctl restart squid
    サービスの現在の状態を確認し、エラーが出ていないことを確認する.
    sudo systemctl status squid
  4. (オプション)ファイアウォールの設定:
    ファイアウォールが有効な環境では、Squidが使用するポート(例: 3128)への外部からのアクセスを許可する必要がある.UFWを使用している場合の例を示す.
    sudo ufw allow 3128/tcp
  5. プロキシ経由でのWebアクセス・テスト:
    別のマシンからWebブラウザやコマンドラインツール(例: curl, wget)を使用し、プロキシ設定を行ってWebサイトにアクセスできるか確認する.クライアント側(別のマシン)のブラウザ設定などで、プロキシサーバのIPアドレスとポート番号(例: 3128)を指定する.Squidプロセスが指定ポートで待機しているか確認することも有用である(例: netstat -na | grep :3128).
  6. Squidログの確認:
    アクセスログやエラーログを確認することで、プロキシが正しく機能しているか、エラーが発生していないかなどを把握できる.Ubuntu 24.04 LTSでの一般的なログファイルの場所は /var/log/squid/ ディレクトリである.アクセスログをリアルタイムで確認する場合の例を示す.
    tail -f /var/log/squid/access.log