私はいくつかの異なるフォワード プロキシ ソフトウェア、主に CCProxy と Squid Proxy/Cache を試してきました。私が使用しているのは、複数の IP が割り当てられた単一の NIC を備えた専用サーバーです。1 つの IP は静的で、残りは動的です。静的 IP はプライマリ アドレスとして機能し、プロキシ サーバーにアクセスする方法です。他の IP は、Web スクレイピングやその他のタスク用の動的 IP アドレスです。私は CCProxy でプロキシを作成しました。これにより、ユーザーを特定の送信 IP アドレスにリンクできます。これは、私が行っている作業に非常に役立ち、さまざまなタスクをさまざまな IP に割り当てることができます。
それで、Squid Proxy でこれが実行できるかどうか疑問に思いました。
Squid のカスタマイズ性が気に入っていますが、この機能は本当に役立ちます。
よろしくお願いします、ジョー
答え1
これを行うためのオプションはtcp_outgoing_address
:
リクエストを行うユーザーのユーザー名または送信元アドレスに基づいて、リクエストを異なる送信 IP アドレスにマッピングできます。
「送信IPアドレス」は実際には「送信元IP」を意味します。これで、ACLacl ... src ...
利用可能な手段、クライアントのIP( )によってユーザーを区別するため、シンプルなプロキシ認証(auth_param
+basic_ncsa_auth
)など
192.0.2.0/24
ドキュメントから改変した例。セレクターとしてソース IP を使用します。Squid サーバーはプライマリ IP とともに LAN内のさまざまな IP を所有します192.0.2.1
。これを一般的なサンプルに追加しますsquid.conf
。
acl allowed_clients src 198.51.100.0/24
http_access allow allowed_clients
acl dedicated_client1 src 198.51.100.174
tcp_outgoing_address 192.0.2.174 dedicated_client1
tcp_outgoing_address 192.0.2.10 allowed_clients
tcp_outgoing_address 192.0.2.5
は、からのクライアントを許可しallowed_clients
、それらのクライアントに送信 IP を使用させます。192.0.2.10
ただし、 からのクライアントは198.51.100.174
を取得します192.0.2.174
。この例以外の場所で構成されている他のクライアントは を使用し192.0.2.5
、サーバーのプライマリ IP は使用されません。