On 23/02/2013 9:47 p.m., Magnus wrote:
I am setting up a Linux machine that will run behind a corporate web
proxy with authentication (NTLM and basic) but since I will for
development purposes run a lot of different software, VMs etc it is a
pain to manage proxy configuration in them all (some programs also
have buggy or non existing proxy support and the password in the
corporate firewall must be changed regularly making the pain worse).
The corporate proxy does not seem to do a very good job in
accelerating web traffic either :-(
To address these problems I would like to set up a "transparent proxy"
"transaprent proxy" means many different things. What you are talking
about here is "transparent interception proxy" or just "interception proxy".
on my own box for my private use that intercepts all http traffic,
accelerates it and directs it to the corporate proxy (including
performing the authentication with my own user name password) - this
way I should only have to set and update it in one place and also
solve the other issues at the same time!
My question is if it is possible to set up Squid in this way?
Sort of. Yes to all of the above _except_ sending NTLM authentication to
the upstream proxy.
Squid can only generate Basic or Negotiate authentication credentials
for upstream Proxy-Auth headers. If the corporate proxy were upgraded to
Negotiate/Kerberos authentication the Squid sending your credentials
would be an option. NTLM is just too complicated with several
round-trips of request/reply, nobody can be bothered implementing it
(particularly since NTLM is an obsolete and insecure protocol these days).
NTLM and Digest authentication requires the software on your end to
generate the credentials and Squid can be configured to relay them to
the upstream.
... NP: the proxy generating credentials for you is called "transparent
authentication proxy". The relaying of credentials is part of "HTTP
transparent proxy".
I
already know that it is good at speeding up web traffic and that it
can be set up as transparent proxy but I am not sure if it could be
done on a single machine as described or if it can redirect traffic to
another proxy that sits between it and internet?
If it is possible how hard would it be? Are there some guides I could
use? I know a bit about networking but is not a guru by any means...
I think you want to look at DHCP or software auto-configuration
(otherwise known as "transparent configuration") to push out a PAC file
using WPAD settings. A lot of software will pick up the proxy details
from the PAC file and use the proxy without any manual configuration needed.
The http://wiki.squid-cache.org sevice seems to be down as of right now.
When it comes up take a read through
http://wiki.squid-cache.org/SquidFaq/ConfiguringBrowsers for the best
way to configure Squid. Even if you go with interception proxy for most
of the traffic you should have a forward-proxy port configured anyway
for the objects which are served directly out of Squid.
Amos