This configuration targets Squid 6.13, including Debian 13's package. Confirm the installed version with squid -v: Squid's directive reference marks http_access unavailable in version 8.

Choose the addresses first

The listener needs an address assigned to the server. The client rule needs the source address Squid observes, which may be a NAT network's public egress address rather than a laptop's private address.

Replace the documentation addresses below. The client restriction is one address, expressed as a /32.

http_port 192.0.2.10:3128
acl proxy_client src 198.51.100.27/32
acl Safe_ports port 80 443
acl SSL_ports port 443
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny manager
http_access deny to_localhost
http_access deny to_linklocal
http_access allow proxy_client
http_access deny all

Replace the corresponding listener, ACL definitions, and access rules in the package configuration while keeping its logging and filesystem settings. Appending these rules below an earlier client allow can bypass the restriction. Repeated definitions of a list ACL can also add values.

How requests pass through the rules

The initial denials reject unwanted destination ports, management requests, and local or link-local destinations. The known client is allowed after those checks; all other requests reach the final denial. The destination safeguards remain necessary because a source allowlist alone does not constrain destinations.

Restrict the host or network firewall to the intended source before exposing the listener. Binding chooses where Squid accepts connections; access rules determine which requests it permits.

sudo squid -k parse -f /etc/squid/squid.conf

Fix parse errors before reloading the managed service. Test from the permitted client and a second controlled source that should be denied. Confirm that the target receives only the authorized request: a TCP connection alone does not establish forwarding permission.

ХӀокхунах тера йаззамаш