[squid-users] Squid MAC address ACL is not worked, and how to get the MAC address Squid see?

Billy.Zheng (zw963) zw963 at 163.com
Thu Jan 21 08:37:52 UTC 2016


> Why that requirement?

I hope connection to squid server with only my own laptop no
password is need.

> This port receives TLS (HTTPS) connections. You need special browser
> configuration to connect to a proxy using TLS. The only browser that
> supports this is Chrome when configured with a PAC file or when run
> manually with special command line options.
>

I use stunnel for this, it work well for this.
for my browser, I only need proxy 127.0.0.1:8087

> ?? you have both Squid format and Apache format log records being put
> into the same log?

I specify access.log format, I don't upload those config for this
discuss.

> The access.log says the request came from a remote Internet IP address
> outside your LAN. That is why ARP is not working.

Thanks, this is what I need. seem like, not exist a way to auto-verify
a special computer. could you please tell me, should squid exist some
verify method like ssh public key/private key based auto login?

Amos Jeffries writes:

> On 14/01/2016 3:29 a.m., Billy.Zheng (zw963) wrote:
>> 
>> It seem like i missing so many reply, Sorry for all.
>> 
>> I try to reproduce everything about what I did in this reply.
>> 
>> Currently, I use newer compile version Squid (3.5.12), see wiki, it
>> should support arp acl originally, following is copy from WIKI.
>> 
>>> The arp ACL requires the special configure option --enable-arp-acl in
>>> Squid-3.1 and older, for newer Squid versions EUI-48 (aka MAC address)
>>> support is enabled by default. Furthermore, the ARP / EUI-48 code is
>>> not portable to all operating systems. It works on Linux, Solaris,
>>> and some *BSD variants.
>> 
>> So, I think squid arp acl support is not the key.
>
> If you mean that you think it will not work, you are correct.
>
>> 
>> following is my whole config worked for CentOS 7, my need is connection
>> to Squid server with my own laptop(with MAC address), no password is need.
>
> Why that requirement?
>
>> 
>> following is my network info, hope can help.
>> 
>> my laptop is connection to internet through a old WIFI router.
>> when I run traceroute in my laptop with WIFI conn, can not found any useful info.
>> 
>> traceroute to MY_VPS_IP (MY_VPS_IP), 30 hops max, 60 byte packets
>>  1  localhost (192.168.1.1)  2.017 ms  3.294 ms  3.549 mspp
>>  2  MY_VPS_IP (MY_VPS_IP)  101.182 ms !X  101.965 ms !X  104.812 ms !p
>> 
>> unless I connection my laptop directly to router with wired conn,
>> can output meaningful route infomation.
>> 
>> ------------------------- config begin ------------------------------
>> 
>> debug_options 11,2
>> 
>> auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid.passwd
>> auth_param basic children 5
>> auth_param basic realm Squid proxy-caching web server
>> auth_param basic credentialsttl 2 hours
>> auth_param basic casesensitive on
>> 
>> acl localnet src 10.0.0.0/8	# RFC1918 possible internal network
>> acl localnet src 172.16.0.0/12	# RFC1918 possible internal network
>> acl localnet src 192.168.0.0/16	# RFC1918 possible internal network
>> acl localnet src fc00::/7       # RFC 4193 local private network range
>> acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
>> 
>> acl SSL_ports port 443
>> acl Safe_ports port 80		# http
>> acl Safe_ports port 21		# ftp
>> acl Safe_ports port 443		# https
>> acl Safe_ports port 70		# gopher
>> acl Safe_ports port 210		# wais
>> acl Safe_ports port 1025-65535	# unregistered ports
>> acl Safe_ports port 280		# http-mgmt
>> acl Safe_ports port 488		# gss-http
>> acl Safe_ports port 591		# filemaker
>> acl Safe_ports port 777		# multiling http
>> acl CONNECT method CONNECT
>> acl proxy_ports localport 8087       # http proxy port
>> 
>> http_access deny !Safe_ports
>> http_access deny CONNECT !SSL_ports
>> 
>> http_access allow localhost manager
>> http_access deny manager
>> 
>> acl advance_users arp MY_LAPTOP_MAC_ADDRESS
>> http_access allow advance_users proxy_ports
>> 
>> acl superuser proxy_auth zw963
>> http_access allow superuser proxy_ports
>> 
>> acl authorized_users proxy_auth REQUIRED
>> acl over_conn_limit maxconn 3
>> 
>> http_access deny over_conn_limit authorized_users
>> http_access allow authorized_users proxy_ports
>> 
>> http_access allow localnet
>> http_access allow localhost
>> http_access deny all
>> 
>> https_port 8087 cert=/etc/squid/cert.pem key=/etc/squid/key.pem
>
> This port receives TLS (HTTPS) connections. You need special browser
> configuration to connect to a proxy using TLS. The only browser that
> supports this is Chrome when configured with a PAC file or when run
> manually with special command line options.
>
>
>> ------------------ config end ---------------------
>> 
>> When I use w3m connection to google, w3m tell me user/password is need.
>> 
>> following is squid log:
>> 
>> ==================================== log begin =====================================
>> 
>> ==> /var/log/squid/cache.log <==
>> 2016/01/13 14:19:07.952 kid1| 11,2| client_side.cc(2345) parseHttpRequest: HTTP Client local=*** remote=*** FD 14 flags=1
>
> Your rules are al IP and port based. You elided the IP:port information
> with "***"
>> 
>> ==> /var/log/squid/access.log <==
>> 1452694747.953      1 60.221.132.137 TCP_DENIED/407 4130 GET http://www.google.com/ - HIER_NONE/- text/html
>> ****** - - [13/Jan/2016:14:19:07 +0000] "GET http://www.google.com/
>> HTTP/1.0" 407 4130 "-" "w3m/0.5.3+debian-15" TCP_DENIED:HIER_NONE
>
> ?? you have both Squid format and Apache format log records being put
> into the same log?
>
>
>> 
>> ======================================= log end ================================
>> 
>> I have no idea why squid  Auth is need when I connection from my laptop.
>> this situation is same as when no following acl is used.
>> 
>>>> acl advance_users arp MY_LAPTOP_MAC_ADDRESS
>>>> http_access allow advance_users proxy_ports
>> 
>
> The access.log says the request came from a remote Internet IP address
> outside your LAN. That is why ARP is not working.
>
> ARP / MAC address in IPv4 only works within a single flat subnet where
> all devices are directly connected. As soon as packets go through a
> router the MAC/ARP address is changed.
>
> IPv6 this is somewhat better, since SLAAC configuration sends the EUI-64
> address as part of the client IPv6 address. When that happens the MAC is
> visible through router hops. But when DHCP or "Privacy" addressing is
> used the EUI/MAC is not available at all even in the same subnet.
>
> Amos
>
> _______________________________________________
> squid-users mailing list
> squid-users at lists.squid-cache.org
> http://lists.squid-cache.org/listinfo/squid-users

-- 
Geek, Rubyist, Emacser
Homepage: http://zw963.github.io



More information about the squid-users mailing list