Squid 4.2 — Разные исходящие IP-адреса для каждого клиента/пользователя

Squid 4.2 — Разные исходящие IP-адреса для каждого клиента/пользователя

Я играл с несколькими различными программами прямого прокси-сервера, в основном с 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 сервера никогда не будет использоваться.

Связанный контент