Назад | Перейти на главную страницу

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

Я играл с несколькими различными программами прямого прокси, в первую очередь CCProxy и Squid Proxy / Cache. У меня есть выделенный сервер с одним сетевым адаптером и несколькими назначенными ему IP-адресами. Один IP-адрес является статическим, а остальные - динамическими. Статический IP-адрес действует как первичный адрес, по которому я получаю доступ к своему прокси-серверу, остальные - это динамические IP-адреса для парсинга веб-страниц и других задач. Я создал прокси в CCProxy, и он позволяет вам связать пользователя с определенным исходящим IP-адресом, это действительно полезно для того, что я делаю, позволяя мне назначать разные задачи на разные IP-адреса.

Так что же мне было интересно, можно ли это сделать в Squid Proxy?

Мне нравится настраиваемость Squid, но я действительно могу использовать эту функцию.

Заранее спасибо, Джо

Вариант сделать это tcp_outgoing_address:

Позволяет сопоставлять запросы с разными исходящими IP-адресами на основе имени пользователя или исходного адреса пользователя, выполняющего запрос.

«исходящий IP-адрес» на самом деле означает «исходный IP-адрес». Теперь вы можете выбрать acl чтобы отличить вашего пользователя любым доступным способом, IP-адрес клиента (acl ... src ...), простая проверка подлинности прокси (auth_param + basic_ncsa_auth) и т.д.

Пример, адаптированный из документации, с использованием исходного IP-адреса в качестве селектора, где сервер squid будет владеть различными IP-адресами в 192.0.2.0/24 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-адрес сервера никогда не будет использоваться.