[squid-users] peer-select.cc, cache_peer and dns queries

Alex Rousskov rousskov at measurement-factory.com
Tue Jan 13 20:59:05 UTC 2026


On 2026-01-13 01:51, archer wrote:

> Please check full log at ...

Thank you for sharing that log.


> In this attempt, I tried to visit google.

The first corresponding DNS lookup is triggered by Squid NetDB feature. 
To disable that feature, ./configure Squid with `--disable-icmp`.

AFAICT, there is no squid.conf option that would disable those lookups 
in Squids built with `--enable-icmp` (which is also the default).


HTH,

Alex.


>> On Jan 13, 2026, at 9:48 AM, Alex Rousskov wrote:
>>
>> On 2026-01-12 20:22, Archer wrote:
>>
>>> I picked up this part of log as  evidence that Squid does conduct DNS 
>>> lookups AFTER a peer connection is selected( log ommited). In the 
>>> configuration, a cache peer (parent proxy) for specified domains 
>>> presents.
>>> And the relative part of config is already provided in some other 
>>> thread of this post. TY
>>
>>
>> FWIW, if I have access to a full debugging log collected while 
>> reproducing the problem, I may be able to tell you what causes DNS 
>> lookups in your specific environment. I discourage Squid admins from 
>> studying debugging logs because they are meant for Squid developers 
>> and can be very misleading.
>>
>> https://wiki.squid-cache.org/SquidFaq/BugReporting#debugging-a-single-transaction <https://wiki.squid-cache.org/SquidFaq/BugReporting#debugging-a-single-transaction>
>>
>> Without looking at the logs, and without investing a lot of time in 
>> trying to reproduce the problem locally based on the partial 
>> information you have shared, I can only offer guesses, and I have done 
>> that already.
>>
>> Alex.
>>
>>
>>> On 2026-01-09 17:19, archer wrote:
>>>> cache_peer a.b.c.d parent ... name=NodeNG
>>>> always_direct extranet_whitelist
>>>> never_direct extranet
>>>> I observed peer-select.cc still conducting DNS lookups on an 
>>>> extranet domain , which is a purely domain-based ACL. e.g.
>>>>
>>>> peer_select.cc(833) selectSomeParent: CONNECT www.example.com
>>>> ...
>>>> peer_select.cc(460) resolveSelected: Find IP destination for: 
>>>> www.example.com:443 via a.b.c.d
>>> The above debugging log snippet is unrelated to ACLs checking/code.
>>> Squid says that it needs to resolve a.b.c.d to connect to a peer at 
>>> that a.b.c.d address. If a.b.c.d is alerady an IP address, then that 
>>> resolution is going to be a no-op -- no actual DNS queries will be sent.
>>> I do not know what triggers other DNS queries in your case. If I have 
>>> to guess, I would guess that peer selection algorithm finds multiple 
>>> ways to satisfy that CONNECT-to-X request and some of those ways 
>>> include a direct connection to X, triggering X resolution.
>>>> So, what can I do to have extranet DNS handled by the parent proxy, 
>>>> while leaving the remainder to the child proxy, with a domain list ?
>>>> Squid Cache: Version 5.7
>>> FWIW, the above version is not supported by the Squid Project.
>>> Alex.
>>
> 



More information about the squid-users mailing list