Я играл с несколькими различными программами прямого прокси-сервера, в основном с CCProxy и Squid Proxy/Cache. У меня есть выделенный сервер с одной сетевой картой, на которой назначено несколько IP-адресов. Один IP-адрес статический, а остальные — динамические. Статический IP-адрес выступает в качестве основного адреса, с помощью которого я получаю доступ к своему прокси-серверу, остальные — динамические IP-адреса для веб-скрапинга и других задач. Я создал прокси-сервер в CCProxy, и он позволяет привязывать пользователя к определенному исходящему IP-адресу. Это действительно полезно для того, что я делаю, позволяя мне назначать разные задачи разным IP-адресам.
Так вот, мне интересно, возможно ли это сделать в Squid Proxy?
Мне нравится, насколько настраиваемым является Squid, но эта функция мне бы очень пригодилась.
Спасибо заранее, Джо.
решение1
Возможность сделать это:tcp_outgoing_address
:
Позволяет сопоставлять запросы с различными исходящими IP-адресами на основе имени пользователя или исходного адреса пользователя, сделавшего запрос.
"исходящий IP-адрес" на самом деле означает "исходный IP-адрес". Теперь вы можете выбратьаклчтобы отличить вашего пользователя любым доступным способом, IP клиента ( acl ... src ...
),простая прокси-аутентификация(auth_param
+basic_ncsa_auth
) и т. д.
Пример, адаптированный из документации, с использованием исходного IP в качестве селектора, где сервер squid будет владеть различными IP в локальной 192.0.2.0/24
сети с его основным 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 сервера никогда не будет использоваться.