Squid 4.2: IP saliente diferente para cada cliente/usuario

Squid 4.2: IP saliente diferente para cada cliente/usuario

He estado jugando con algunas piezas diferentes de software de proxy directo, principalmente CCProxy y Squid Proxy/Cache. Lo que tengo es un servidor dedicado con una única NIC con varias IP asignadas. Una IP es estática y el resto son dinámicas. La IP estática actúa como una dirección principal, que es la forma en que accedo a mi servidor proxy, las otras son direcciones IP dinámicas para web scraping y otras tareas. He creado un proxy en CCProxy y te permite vincular un usuario a una dirección IP saliente específica, esto es realmente útil para lo que estoy haciendo, permitiéndome asignar diferentes tareas a diferentes IP.

Entonces, ¿me preguntaba si esto era posible hacer en Squid Proxy?

Me encanta lo personalizable que es Squid, pero realmente me vendría bien esta función.

Gracias de antemano joe

Respuesta1

La opción para hacer esto estcp_outgoing_address:

Le permite asignar solicitudes a diferentes direcciones IP salientes según el nombre de usuario o la dirección de origen del usuario que realiza la solicitud.

"Dirección IP saliente" realmente significa "IP de origen". Ahora puedes elegir unacclpara distinguir a su usuario por cualquier medio disponible, la IP del cliente ( acl ... src ...),autenticación de proxy simple(auth_param+basic_ncsa_auth) etc.

Ejemplo adaptado de la documentación, utilizando la IP de origen como selector, donde el servidor squid poseería varias IP en la 192.0.2.0/24LAN con su IP principal 192.0.2.1. Agregando esto a la muestra típica 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

permitirá a los clientes de allowed_clientsy les hará usar IP saliente 192.0.2.10, excepto el cliente del 198.51.100.174que obtendrá 192.0.2.174. Cualquier otro cliente configurado en otro lugar distinto de este ejemplo lo usaría 192.0.2.5y nunca se usará la IP principal del servidor.

información relacionada