現代のネットワーク環境では、セキュリティ対策やトラフィック管理、アクセス制御を目的にプロキシサーバーを導入するケースが増えています。
その中でも、オープンソースで高機能かつ柔軟な設定が可能な「Squid」は、企業から個人利用まで幅広く採用されています。
本記事では、人気のLinuxディストリビューションである「Ubuntu」を使ってSquidプロキシサーバーを構築する手順を詳しく解説します。
これからプロキシサーバーを構築したい方はぜひ参考にしてください。
\ 2週間無料でお試しできます! /
Unix/Linux系VPSをこの価格で!
・全プランSSD搭載でコストパフォーマンス◎
・豊富なOSラインアップ
・充実の無料サポート
VPSを使ってみる
目次
Squidとは
概要
Squidは、主にHTTPやHTTPSのトラフィックを中継・キャッシュするオープンソースのプロキシサーバーです。
Linux環境を中心に、企業ネットワークだけでなく自宅のルーターや小規模ネットワークでも幅広く利用されています。
Squidの代表的な機能は以下の通りです。
・Webキャッシュ
・アクセス制御
・basic認証/LDAP連携
・HTTPS中継
・ログ分析
さらに、公式のGitHubリポジトリや活発なコミュニティによる情報が豊富なため、トラブルシューティングやカスタマイズも行いやすいのが魅力です。
プロキシモード
Squidは、以下の4つのプロキシモードに対応しています。
・フォワードプロキシ
・多段プロキシ
・リバースプロキシ
・透過プロキシ
それぞれの特長について解説します。
フォワードプロキシ
フォワーディングプロキシ(順方向プロキシ)は、一般的に利用されるモードです。
クライアント(社内PCなど)がインターネットへアクセスする際、Squidを経由します。
例)PC→Squid→インターネット
主な特徴
・Webキャッシュによる回線負荷の軽減
・不適切なサイトへのアクセスをフィルタリング
・アクセスログの収集・管理
\ 2週間無料でお試しできます! /
VPSを使ってみる
多段プロキシ
多段プロキシは、複数のプロキシサーバーを段階的に経由させる構成です。
例)クライアント → Squid①(キャッシュ・フィルタリング) → Squid②(認証・ログ収集) → インターネット
主な特徴
・負荷や役割を分散
・障害時のリスク軽減
・セキュリティ強化
多段構成は設定が複雑になりますが、柔軟なネットワークポリシーを実現できるため、大規模ネットワークで採用されています。
リバースプロキシ
リバースプロキシは、SquidをWebサーバーの前段に配置し、外部からのリクエストを受けて裏側のWebサーバーへ転送する形態です。
主な特徴
・Webコンテンツをキャッシュによる応答速度向上
・Webサーバーの負軽減
・クライアントからWebサーバーのIPを隠すことによるセキュリティ強化
主に大規模なWebサービスやコンテンツ配信ネットワーク(CDN)でよく利用されるモードです。
透過プロキシ
透過プロキシは、クライアントがプロキシ設定を意識せずに通信を行えるモードです。
フォワーディングプロキシでは、ブラウザ設定でプロキシサーバーを指定する必要がありますが、透過プロキシは、ルーターやファイアウォールで特定ポートへの通信を自動的にSquidに転送します。
主な特徴
・クライアント設定不要
・ネットワーク全体のHTTP/HTTPSトラフィックを一括管理
・強制的なアクセスログ取得やフィルタリングが可能
\ 2週間無料でお試しできます! /
VPSを使ってみる
Ubuntu 22.04へのSquid構築手順
前提条件
今回はインストール環境としてミライサーバーのVPSを利用し、仮想マシン上に構築されたUbuntuを使用します。
仮想マシンのスペックは以下のとおりです。
・CPU:4コア
・Memory:4GB
・Disk:SSD300GB
Ubuntuは以下のバージョンを利用しています。
・Ubuntuのバージョン:Ubuntu 22.04.2 LTS
※ミライサーバーではUbuntu 22.04.2 LTSなどのOSがインストールされた状態から利用可能です。
手順1:サーバーの準備とアップデート
最初に、サーバーを最新の状態にアップデートします。
| $ sudo apt update $ sudo apt install squid -y |
アップデートの過程で、サービスの再起動を促す画面が表示されます。
「OK」を選択して進みます。
インストールが完了したら、バージョンを確認します。
| $ squid -v |
以下のとおりバージョンが表示されたら、インストールが成功しています。

また、以下のコマンドでSquidの稼働状況を確認できます。
「active (running)」と表示されていれば、squidは稼働しています。
| $ sudo systemctl status squid |
squidが起動していない場合は、以下のコマンドで起動します。
| $ sudo systemctl start squid |
\ 2週間無料でお試しできます! /
VPSを使ってみる
手順2:Squidの基本設定
Squidの設定ファイルは /etc/squid/squid.conf です。
このファイルを編集して、アクセス制限やキャッシュの設定を行います。
| $ vi /etc/squid/squid.conf |
代表的な設定項目を以下にまとめました。
| 設定 | 意味 | 設定例 |
| http_port | HTTPプロキシサーバのデフォルトポート。デフォルト:3128 | http_port 3128 |
| http_access | HTTP通信を許可(allow)、拒否(deny)するネットワークを設定 | http_access allow localnet http_access deny all |
| acl localnet src | 通信を許可する通信元のネットワーク | acl localnet src 192.168.0.0/16 |
| acl SSL_ports | HTTPSプロトコルを使用するポート。デフォルト:443 | acl SSL_ports port 443 |
| acl Safe_ports | 通信を許可するポート。 | acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https
|
これらの設定はデフォルトでも一部設定されているので、環境にあわせて適宜変更します。

設定を変更したら、Squidを再起動します。
| $ sudo systemctl restart squid |
手順3:basic認証の設定
Squidの不正利用を防ぐため、basic認証を設定できます。
basic認証を設定することで、許可されたユーザーのみがプロキシサーバーを経由して通信できるようになります。
最初に、apache-utilsパッケージをインストールして、htpasswdコマンドを利用できるようにします。
| $ sudo apt install apache2-utils -y |
次に、認証のためのユーザーを設定します。
以下では「user1」に対するパスワードを設定します。
| $ sudo htpasswd -c /etc/squid/.htpasswd user1 |
/etc/squid/squid.confに以下の内容を追記します。
| auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/.htpasswd auth_param basic realm Proxy acl authenticated proxy_auth REQUIRED http_access allow authenticated http_access deny all |
設定が完了したら、squidを再起動し、接続テストを行います。
プロキシの設定を行い、ブラウザで通信を行ってみましょう。
Windows11であれば、設定画面の「ネットワークとインターネット」ー「プロキシ」を選択し、手動プロキシ セットアップから「セットアップ」ボタンを押下すると、設定画面が表示されます。
設定を有効にすると、ブラウザでサイトにアクセスした際に以下のようにID/パスワードを求められます。
認証できなければ、サイトを閲覧できません。
まとめ
本記事では、Ubuntu 22.0.4 にSquidを構築し、basic認証を設定する手順まで解説しました。
プロキシサーバー「Squid」を利用すると、Webキャッシュやアクセス制御、ログの分析などの機能を使ってセキュリティ対策やトラフィック管理、アクセス制御を実現できます。
さらに、リバースプロキシや複数のプロキシサーバーを利用させる多段プロキシなどを活用することで、目的に応じた柔軟な構成も可能です。
オープンソースのため無料で利用できますので、プロキシサーバー構築ではsquidの導入を検討してみるとよいでしょう。
ミライサーバーでは、ハイスペックなVPSや専用サーバーを低価格でご提供しています。
VPSは初期費用も無料であり、ツールの検証や動作確認にもおすすめです。
本記事の手順の検証やプロキシサーバーとしての利用も可能ですので、ぜひご活用ください。
UbuntuをVPSで利用するならミライサーバー
ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。
ミライサーバーのVPSでは、高速処理が可能なSSDを全プランに搭載しています。
OSは、UbuntuやDebian、AlmaLinuxなどの豊富なラインアップから選択することができます。
2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。
プランの選択でお困りの場合は、ぜひ一度お問い合わせください。
2023.08.03
VPSに申込み、SSH接続するまでの流れ【ミライサーバー】
オンラインビジネスやWebサイトの運営を始める際には、ホスティングサービスの中から自分の用途に合ったサーバー環境を利用することが一般的です。...


