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