Re: Multiple outgoing addresses for squid?

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Fri, 11 May 2012 03:15:10 +1200

On 11/05/2012 1:55 a.m., Chris Ross wrote:
> On 03/29/2012 08:45 PM, Robert Collins wrote:
>> 2012/3/30 Henrik Nordström<henrik_at_henriknordstrom.net>:
>>>> Can tcp_outgoing_address take multiple addresses now? Does it
>>>> just round-robin through them?
>>>
>>> It can only select one per request at the moment.
>>
>> Thats probably something we should fix. For now though an external ACL
>> could deliver round robin answers, one per request - and it could look
>> a tthe log file to learn about size of objects/ estimate bandwidth
>> etc.
>
> Reviving this old question again. So, I understand that I can
> make external ACLs, and from looking at the config documentation,
> I suspect I can have a single external_acl_type definition, and
> invoke the same class for N "acl external" lines.
>
> To be more clear about my needs, I'm not really looking to have
> two or three external IP addresses. I want to have *lots*. If I
> have a host with 20, or 100, external addresses, and write an
> external ACL helper to figure out (based on client IP, username,
> server, or whatever) which IP to assign; I'd have to write 100
> ACL definitions, then 100 tcp_outgoing_address lines, each one
> passing the right parameters to determine whether the suggested
> IP address was the "right" one. While I suppose this could work,
> it would require the external ACL helper be queried 100 times,
> which just *can't* be fast.

Quite. So instead you implement *one* external helper lookup and it
returns a tag=value. for example; the IP you want to assign. Then you
have your 100 ACLs of type "tag" just testing the string tag value
received from that one helper lookup.

Amos
Received on Thu May 10 2012 - 15:15:18 MDT

This archive was generated by hypermail 2.2.0 : Thu May 10 2012 - 12:00:05 MDT