On 30/04/2013 8:16 p.m., babajaga wrote:
Hi,

just my few cents:

Up to my understanding. what is going in here, the original simple

tcp_outgoing_address yyy.yyy.yyy.239

"forces" squid to use this outgoing interface for all connections,
yes.

overriding or taking precedence over the cache_peer condition.
Not quite.
On the peer connections it would create packets with src-IP yyy.yyy.yyy.239 and dst-IP 192.168.220.2.

Something (broken?) in Alex's configuration does not know how to handle those packets properly.

It will just depend upon the sequence of checks in squids  code.
In case, presence of  tcp_outgoing is checked first in squids internal
execution path, cache_peer will not be evaluated any more.

cache_peer is always checked first.

(It should be possible to verify my suspicion by debugging squid using very
generous debug_options. May be, debug_options ALL,5 33,2 28,9 could be worth
a first try)

However, it is possible to use ACLs with tcp_outgoing

So I would try to do something like this

tcp_outgoing_address yyy.yyy.yyy.239 !AMAZON !RACKSPACE

May be, also this one
#yyy.yyy.yyy.240 (bonded) interface to parent_squid

tcp_outgoing_address yyy.yyy.yyy.240 AMAZON
tcp_outgoing_address yyy.yyy.yyy.240 RACKSPACE

In fact, this even this would make cache_peer statements obsolete.

Yes indeed.

Amos

Reply via email to