[squid-users] Unable to access local addresses
Alex Rousskov
rousskov at measurement-factory.com
Fri Aug 23 17:13:55 UTC 2024
On 2024-08-23 12:07, Piana, Josh wrote:
> The problem we’re having now is that we’re unable to access local
> resources on different subnets. For instance, our “main” networks are
> 10.46.x.x and 10.47.x.x, but the proxy is blocking us when we try to get
> to 172.26.x.x as well as 10.96.x.x.
Blocking how? What kind of error page does the client get? What does
Squid log to access.log (consider adding %err_code/%err_detail to your
custom logformat definition if you have not already).
If access is blocked by an "http_access deny" rule you do not expect to
match, then which "http_access allow" rule (located above the matched
deny rule[^1]) do you expect to match those blocked transactions? If
access is prevented due to connection establishment errors, then you may
need to adjust your IP routing rules/etc. outside of Squid. And there
are many other possibilities here...
[1]: If access is blocked by an "http_access deny" rule, you may be able
to figure out which deny rule has matched by enabling ALL,2 debugging
(see debug_options in squid.conf.documented), reproducing the problem
using a single transaction, and searching cache.log for "last ACL
checked". Older Squids have more bugs in determining that ACL name, but,
if you are lucky, you will get the right answer.
> When comparing our current config to
> the old, they are very nearly identical, and the old config works with
> no issue. Is there some change from 2.5 -> 5.5 that would stop some of
> our allow/deny rules from working as expected?
There are too many corner cases for me to give a reliable answer to that
question, especially without knowing which http_access rule is denying
access (assuming it is one of those rules). I recommend focusing on a
specific matching/mismatching ACL/rule instead of trying to make a
general statement regarding numerous v2-vs-v5 differences.
> Or maybe I need to open
> up the ACL’s a bit more or define those subnets explicitly now?
If your existing rules already reflect your business logic and do not
trigger any Squid configuration errors/warnings in cache.log, then it is
unlikely that you will need to add explicit rules for previously working
subnets. On the other hand, you are upgrading from an ancient Squid
version that most do not remember much about to an already unsupported
Squid version, so all bets are off.
> acl from_arc src 10.46.0.0/16
> acl from_arc src 10.46.0.0/15
Remove the line you do not need (I do not know which one, but the
combination does not make sense because one subnet includes the other).
> dsacl methods_std method GET HEAD POST PUT DELETE
If this is not a copy-paste typo, then edit this line to use a supported
directive name like "acl". "dsacl" is not a supported directive name.
HTH,
Alex.
> I can post our config below, I’ll skip the sections that most likely
> don’t pertain to the issue.
>
> ##############################################################################
>
> # Authentication
>
> ##############################################################################
>
> auth_param negotiate program /usr/lib64/squid/negotiate_kerberos_auth -k
> /etc/squid/HTTP.keytab -s HTTP/<domain>.ad.<domain>.com at AD.<domain>.COM
>
> auth_param negotiate children 10
>
> auth_param negotiate keep_alive on
>
> acl kerb-auth proxy_auth REQUIRED
>
> ##############################################################################
>
> # Access control - shared/common ACL definitions
>
> ##############################################################################
>
> # acl all src all
>
> acl src_self src 127.0.0.0/8
>
> acl src_self src 10.46.11.69
>
> acl dst_self dst 127.0.0.0/8
>
> acl dst_self dst 10.46.11.69
>
> acl from_arc src 10.46.0.0/16
>
> acl from_arc src 10.46.0.0/15
>
> acl local_dst_addr dst 10.0.0.0/8
>
> acl local_dst_addr dst bldg3.<domain>.com
>
> acl local_dst_addr dst bldg5.<domain>.com
>
> # not sure what this does
>
> acl local_dst_dom dstdomain <proxy hostname>
>
> # protocols
>
> acl proto_FTP proto FTP
>
> acl proto_HTTP proto HTTP
>
> # TCP ports for HTTP
>
> acl http_ports port 80
>
> acl http_ports port 81
>
> # TCP ports for HTTPS
>
> acl ssl_ports port 443
>
> acl ssh_ports port 22
>
> acl ftp_ports port 21
>
> # HTTP methods
>
> acl method_CONNECT method CONNECT
>
> # what are these used for?
>
> dsacl methods_std method GET HEAD POST PUT DELETE
>
> acl methods_std method TRACE OPTIONS
>
> #############################################################################
>
> # Access control - general proxy
>
> ##############################################################################
>
> http_access deny dst_self
>
> http_access deny src_self
>
> http_access deny !from_arc
>
> http_access allow local_dst_dom
>
> http_reply_access allow local_dst_dom
>
> http_access allow local_dst_addr
>
> http_reply_access allow local_dst_addr
>
> acl authless_src src "/etc/squid/authless_src"
>
> http_access allow authless_src
>
> http_reply_access allow authless_src
>
> acl authless_dst dstdomain "/etc/squid/authless_dst"
>
> http_access allow authless_dst
>
> http_reply_access allow authless_dst
>
> acl bad_domains_preauth dstdomain "/etc/squid/bad_domains_preauth"
>
> http_access deny bad_domains_preauth
>
> acl block_user proxy_auth_regex -i "/etc/squid/block_user"
>
> http_access deny block_user
>
> acl bad_exception_urls url_regex -i "/etc/squid/bad_exception_urls"
>
> acl exec_files url_regex -i "/etc/squid/exec_files"
>
> acl exec_users proxy_auth_regex -i "/etc/squid/exec_users"
>
> http_access deny !bad_exception_urls !exec_users exec_files
>
> deny_info ERR_BLOCK_TYPE exec_files
>
> acl mmedia_users proxy_auth_regex -i "/etc/squid/mmedia_users"
>
> acl mmedia_sites dstdomain "/etc/squid/mmedia_sites"
>
> http_access allow methods_std proto_HTTP http_ports
> mmedia_sites mmedia_users
>
> http_reply_access allow methods_std proto_HTTP http_ports
> mmedia_sites mmedia_users
>
> http_access allow method_CONNECT ssl_ports
> mmedia_sites mmedia_users
>
> http_reply_access allow method_CONNECT ssl_ports
> mmedia_sites mmedia_users
>
> acl bad_domains dstdomain "/etc/squid/bad_domains"
>
> http_access deny !bad_exception_urls bad_domains
>
> deny_info ERR_BLOCK_DST bad_domains
>
> acl bad_domains_regex dstdom_regex -i "/etc/squid/bad_domains_regex"
>
> http_access deny !bad_exception_urls bad_domains_regex
>
> deny_info ERR_BLOCK_DST bad_domains_regex
>
> acl bad_urls url_regex -i "/etc/squid/bad_urls"
>
> http_access deny !bad_exception_urls bad_urls
>
> deny_info ERR_BLOCK_DST bad_urls
>
> acl bad_files urlpath_regex -i "/etc/squid/bad_files"
>
> http_access deny !bad_exception_urls bad_files
>
> deny_info ERR_BLOCK_TYPE bad_files
>
> acl bad_types rep_mime_type -i "/etc/squid/bad_types"
>
> http_reply_access deny bad_types !bad_exception_urls
>
> deny_info ERR_BLOCK_TYPE bad_types
>
> acl fsoguest_user proxy_auth_regex -i fsoguest
>
> acl fsoguest_dst dstdomain .opm.gov
>
> acl fsoguest_dst dstdomain .google-analytics.com
>
> acl fsoguest_dst dstdomain pki.google.com
>
> acl fsoguest_dst dstdomain ajax.googleapis.com
>
> acl fsoguest_dst dstdomain fonts.googleapis.com
>
> acl fsoguest_dst dstdomain html5shiv.googlecode.com
>
> acl fsoguest_dst dstdomain fonts.gstatic.com
>
> acl fsoguest_dst dstdomain clients1.google.com
>
> acl fsoguest_dst dstdomain ajax.microsoft.com
>
> acl fsoguest_dst dstdomain ajax.aspnetcdn.com
>
> acl fsoguest_dst dstdomain .geotrust.com
>
> acl fsoguest_dst dstdomain .akamaihd.net
>
> acl fsoguest_dst dstdomain symcd.com
>
> http_access allow methods_std proto_HTTP http_ports fsoguest_dst
> fsoguest_user
>
> http_access allow method_CONNECT ssl_ports fsoguest_dst
> fsoguest_user
>
> http_access deny fsoguest_user
>
> http_access allow http_ports proto_HTTP methods_std
>
> http_access allow method_CONNECT ssl_ports
>
> http_access deny method_CONNECT
>
> # catch-all
>
> http_access allow ftp_ports proto_FTP
>
> http_access allow kerb-auth
>
> http_access deny all
>
> http_reply_access allow all
>
> ##############################################################################
>
> # END OF FILE
>
> ##############################################################################
>
>
> _______________________________________________
> squid-users mailing list
> squid-users at lists.squid-cache.org
> https://lists.squid-cache.org/listinfo/squid-users
More information about the squid-users
mailing list