In this Article
Squid プロキシは、Linux で最も広く導入されているオープンソースのプロキシサーバーの一つであり、それには十分な理由があります。高速で安定しており、自社ネットワーク内でのキャッシュとアクセス制御に優れています。このガイドでは、Squid が何をするのか、どのようにインストールして設定するのか、認証をどう追加するのか、そしてその限界がどこにあるのかを説明します。
また、多くのチームがいずれ直面する率直な疑問にも触れます。自己ホスト型の Squid プロキシが適しているのはどんな場合か、また実際にはローテーティングなレジデンシャル IP のプールが必要になるのはどんなときか、ということです。
DataImpulse は倫理的なプロキシプロバイダーで、195 か国にわたって 9,000万を超えるレジデンシャル、モバイル、データセンター IPを提供しています。1GB あたり 1 ドルからのペイアズユーゴー方式を採用し、トラフィックは失効せず、ウェブスクレイピング、広告検証、価格モニタリング、市場調査、複数アカウント管理に利用されています。
重要なポイント
- Squid プロキシ: Squid は HTTP と HTTPS 向けのオープンソースのキャッシュ型フォワードプロキシで、IP ローテーションのためではなく、キャッシュとアクセス制御のために自分のサーバーで実行します。
- 最適なプロキシの種類: ローテーティングなレジデンシャルプロキシ。実際の消費者 IP を利用して検知を回避します。
- 価格: 1GB あたり 1 ドルから、ペイアズユーゴー、トラフィックは失効せず、サブスクリプション不要。
- カバレッジ: 195 か国にわたる、倫理的に調達された 9,000万以上の IP。
- 信頼性: 99.51% の成功率、G2 で 5 段階中 4.8 の評価。
- プロトコルとターゲティング: HTTP、HTTPS、SOCKS5 に対応し、標準で国別ターゲティングに対応しています。
Squid プロキシとは何ですか?
Squid プロキシは、クライアントマシンとインターネットの間に位置し、HTTP および HTTPS リクエストを転送する、オープンソースのキャッシュ型フォワードプロキシサーバーです。GNU GPL の下で公開されているフリーソフトウェアで、主に Linux やその他の Unix 系システムで動作します。
フォワードプロキシとして、Squid はネットワーク内のクライアントからリクエストを受け取り、オリジンサーバーからコンテンツを取得してクライアントに返します。その際、レスポンスをキャッシュし、アクセスルールを適用し、トラフィックをログに記録できます。Squid は HTTP、HTTPS、FTP に対応し、学校、オフィス、インターネットサービスプロバイダーでプロキシ層としてとして一般的に利用されています。自分でホストするため、すべてのリクエストは依然として Squid を実行するサーバーのパブリック IP アドレスから出ていきます。
Squid プロキシは何に使われますか?
Squid は主に、ローカルネットワークや企業内でのキャッシュ、帯域幅の節約、アクセス制御、コンテンツフィルタリング、トラフィックのログ記録に使われます。ネットワーク管理ツールであり、匿名化サービスではありません。
- キャッシュと帯域幅の節約: Squid は頻繁にリクエストされるオブジェクトのコピーを保存するため、繰り返しのリクエストはインターネットから再取得する代わりに、ローカルのディスクやメモリから提供されます。多くのユーザーが同じリソースにアクセスするネットワークでは、これにより帯域幅の使用量が削減され、応答時間が短縮されます。
- アクセス制御とフィルタリング: アクセス制御リスト(ACL)を使えば、管理者はクライアント IP、宛先ドメイン、ポート、時間帯、ユーザーの識別情報ごとにトラフィックを許可または拒否できます。組織はこのようにして特定のサイトをブロックしたり、承認された宛先だけに閲覧を制限したりします。
- ログ記録とモニタリング: Squid は詳細なアクセスログを書き出し、これは利用状況の監査、トラブルシューティング、レポート作成に役立ちます。
Squid プロキシはどう設定しますか?
Squid プロキシは、Linux サーバーにパッケージをインストールし、/etc/squid/squid.conf を編集して待受ポートとアクセスルールを定義し、その後サービスを再起動することで設定します。デフォルトの待受ポートは 3128 です。
Debian または Ubuntu では、sudo apt update && sudo apt install squid でインストールします。RHEL、Rocky、AlmaLinux では sudo dnf install squid を使います。メインの設定ファイルは /etc/squid/squid.conf にあります。ローカルネットワークを定義して許可し、デフォルトポートでリッスンする最小限の設定は次のようになります:
# /etc/squid/squid.conf (minimal)
http_port 3128
# Define which clients may use the proxy
acl localnet src 192.168.1.0/24
# Allow the local network, deny everything else
http_access allow localnet
http_access deny all
# Where to store logs
access_log /var/log/squid/access.log
ファイルを編集した後は、squid -k parse で構文を検証し、サービスを再起動して適用します: sudo systemctl restart squid。クライアントのブラウザやコマンドラインツールで、サーバー IP のポート 3128 をプロキシとして指定します。http_access deny all の行は最後に置いてください。Squid はルールを順番に評価し、その上で明示的に許可されていないものはすべて拒否するためです。
Squid に認証をどう追加しますか?
認証は、squid.conf で 認証ヘルパーを設定して追加します。最も一般的なのは、パスワードファイルを使用する HTTP Basic 認証 です。これにより、プロキシがリクエストを転送する前に、ユーザーはユーザー名とパスワードの入力を求められます。
一般的な方法では、htpasswd 形式のファイルとともに basic_ncsa_auth helper を使います。htpasswd のようなツールでファイルを作成し、squid.conf で auth_param basic ブロックと acl authenticated proxy_auth REQUIRED のような ACL を使って helper を参照し、続けて http_access allow authenticated を記述します。Basic auth はリクエストごとに認証情報を送信するため、パスワードが漏洩しないようにするには、信頼できるネットワーク上でのみ、または HTTPS と組み合わせて使用すべきです。Squid は、企業のディレクトリ統合のために digest、NTLM、Kerberos といったより強力な方式にも対応しています。
自前で Squid プロキシを運用する場合の制限は何ですか?
主な制限は、Squid プロキシがすべてのトラフィックを、それをホストするサーバーの単一のパブリック IP を通してルーティングすることです。IP ローテーションはなく、レジデンシャル IP としての信頼性もなく、地理的な出口ポイントのプールもなく、すべてのメンテナンスを自分で負うことになります。
内部のキャッシュとアクセス制御にはこれで問題ありませんが、保護された外部サイトに Squid を使おうとすると問題が生じます:
- 単一の静的 IP: すべてのリクエストが同じアドレスから出ていきます。トラフィックの多いサイトはその量を検知し、フラグを立て、その IP にすぐレート制限をかけたりブロックしたりします。
- データセンター由来: Squid をクラウドやホスティングのサーバーで実行している場合、その IP はデータセンター IP です。アンチボットシステムは、データセンターの IP 範囲を家庭ユーザーの接続より厳しく警戒します。データセンタープロキシがレジデンシャルとどう異なるかをご覧ください。
- ジオプールがない: Squid は別の国や都市のユーザーとして振る舞うことができません。サーバーが物理的に置かれている場所に縛られます。
- 保守は自社で実施: パッチ適用、キャッシュのチューニング、ログローテーション、TLS の処理、稼働時間はすべて自分の責任です。
要するに、Squid はあなたが運用するプロキシであり、外部から利用する ID のネットワークではありません。この区別は、多数の異なる信頼されたユーザーに見せることに依存するあらゆるタスクにとって重要です。
Squid の代わりにレジデンシャルプロキシを使うべきなのはどんなときですか?
ウェブスクレイピング、地理的に制限されたアクセス、複数アカウントの管理など、多くの場所にいる実ユーザーのように見せる必要があるときは、Squid の代わりにレジデンシャルプロキシを使います。これらのタスクには、自己ホスト型の Squid サーバーが提供する単一のデータセンター IP ではなく、ローテーティングな IP アドレスのプールが必要です。
レジデンシャルプロキシはリクエストを実際の消費者デバイスを通してルーティングするため、ターゲットサイトには繰り返される単一のアドレスではなく、一般的な家庭用回線からの接続に見えます。これにより、大量のリクエストも簡単にはブロックされにくくなります。目標が公開データを大規模に収集することであれば、ローテーティングなレジデンシャル IP プールと適切なリクエスト管理を組み合わせるのが標準的なアプローチであり、これはブロックされずにスクレイピングする方法のガイドで解説されています。
ここで DataImpulse が役立ちます。DataImpulse は、195 か国にわたって倫理的に調達された 9,000万を超えるレジデンシャル、モバイル、データセンターの IP を提供し、ローテーティングセッションとスティッキーセッション、HTTP、HTTPS、SOCKS5 のサポート、そしてトラフィックが失効しない 1GB あたり 1 ドルからのペイアズユーゴー価格を備えています。これは外部サイトへ大規模にアクセスするためのプロキシネットワークであり、Squid が得意とする内部のキャッシュやフィルタリングとは別の仕事です。多くのチームは両方を運用します。LAN 上の Squid と、アウトバウンドのデータ収集のためのレジデンシャル IP プールです。
適切なプロキシの導入はどのように始めればよいですか?
まず、用途に合ったツールを選びます。内部のキャッシュとアクセス制御には Squid を実行し、保護された外部サイトに大規模にアクセスする必要がある用途にはレジデンシャルまたはモバイルのプロキシネットワークを使います。
作業が完全に自分のネットワーク内で、閲覧を高速かつ管理可能な状態に保つことが目的なら、適切に構成された Squid プロキシは堅実で無料の選択肢です。公開データを収集したり、地域をまたいで広告や価格を検証したり、複数アカウントを運用したりしているなら、ローテーティングなプールが実用的な選択です。DataImpulse は国別ターゲティングを標準で提供し、州、市、ZIP、ASN は有料アドオンとして利用できるため、まず広く始めて、プロジェクトが必要とする場合にだけ絞り込めます。
よくある質問
Squid プロキシは無料ですか?
はい。Squid は GNU GPL の下で公開されているオープンソースソフトウェアなので、ソフトウェア自体はダウンロードして使用するのは無料です。それでも、実行して維持するために必要なサーバー、帯域幅、時間の費用はかかります。
Squid プロキシはスクレイピングのために私の IP を隠せますか?
効果的には隠せません。Squid はすべてのトラフィックを、それが動作するサーバーの単一のパブリック IP、通常はデータセンター IP を通してルーティングするため、保護されたサイトには繰り返される一つのアドレスが見え、すぐにブロックされます。スクレイピングには、代わりにローテーティングなレジデンシャル IP のプールが必要です。
Squid はデフォルトでどのポートを使いますか?
Squid はデフォルトで TCP ポート 3128 をリッスンします。これは /etc/squid/squid.conf の http_port ディレクティブで変更でき、8080 も一般的な選択肢です。
Squid とレジデンシャルプロキシの違いは何ですか?
Squid は、一つの IP を持つ一台のサーバーで自分でホストするキャッシュ型フォワードプロキシで、LAN のキャッシュとアクセス制御に最適です。レジデンシャルプロキシネットワークは、多くの場所にある実際の消費者デバイスから多数のローテーティングな IP を提供し、これがスクレイピングやジオアクセスに必要とされるものです。
Squid は HTTPS トラフィックを扱えますか?
はい。Squid はデフォルトで CONNECT メソッドを通じて HTTPS をトンネリングでき、自分の証明書を展開すれば SSL-bump で HTTPS を検査することもできますが、それには慎重な構成と信頼の管理が必要です。
DataImpulse が適さないのはどんなときですか?
静的な ISP プロキシ、フルマネージドのスクレイピング API、または銀行や政府のサイトへのアクセスが必要な場合、DataImpulse は適切なツールではありません。DataImpulse は、公開データの収集とコンテンツへのアクセスのための、ローテーティングなレジデンシャル、モバイル、データセンターのプロキシに焦点を当てています。
用途に適したプロキシを選びましょう
あなたのタスクが、自分のネットワーク内でのキャッシュではなく、外部サイトへ大規模にアクセスする必要があるなら、レジデンシャル IP プールの方が適しています。DataImpulse アカウントを作成して、国別ターゲティングを含み、サブスクリプション不要の、1GB あたり 1 ドルからのペイアズユーゴートラフィックで始められます。
