I have a Dell PowerEdge Server and I want to make it into a whole site (location) proxy server so if anyone in the building uses our internet connection, they will have to go through this proxy to get out. I want to be able to block certain internet sites as well as monitor unproductive internet usage. (Search by user, date, time, site visited...) I would also like to restrict with username and password who is allowed to connect to the proxy.

I have a PowerEdge server running Ubuntu and an Ethernet switch. Do you know what hardware I need to do this and what software I need to be running and how to configure it? It would also be nice if it had a nice web interface and/or GUI to configure/search/monitor usage.

I have already looked into Squid, but it didn't seem like it did everything I am looking to do. Maybe I am not configuring it correctly or I need other software to run along side it?


How many users you need to support in total and concurrently will determine how much hardware you need. A single server can potentially handle many users but it depends on the number of users and the hardware capabilities.

I don't know of a turn-key solution on top of Ubuntu that does exactly what you are describing, but I think you are definitely right to look at Squid. As you saw Squid by itself does not do everything you want, but it has good authentication capabilities you can configure depending on your environment.

For content filtering and blocking Squid will work with Dan's Guardian which lets you block sites according to your own customization or pre-defined blacklists or keywords and such.

Finally, there are a number of ways to view and analyze the logs which are general or specific to Squid. /var/log/squid/access.log is in a plaintext format and you can view it in a nice graphical format with Squid-specific log viewers such as SqStat or Calamari (which seem to be no longer maintained) or SquidAnalyzer which looks like it is more current. You can even import it into Excel or OpenOffice Calc or similar to create a custom report based on the data.

  • I will look into using Squid and SquidAnalyzer. How do I setup Squid to allow other users to connect to the internet through my proxy? To clarify, I am not sure how to setup the hardware. Do I connect one port of the server to the internet router, and the second port from the server to the switch for other computers to connect to? – Jason Aug 6 '12 at 21:33
  • There are two ways I can think of to do it: you can put the Squid server between the router and the switch, or you can just hang the Squid server off the switch. In both cases you will need to configure clients to authenticate with Squid. If the Squid server is between the switch and router, then you may also need to configure the Squid server to forward additional non-HTTP traffic to the gateway -- otherwise they will only be able to access upstream network resources that Squid retrieves on their behalf. – DELL_JonathanS Aug 9 '12 at 15:29
  • Do you think Zentyal would do what I am looking for? – Jason Aug 10 '12 at 16:35
  • I don't have experience with Zentyal, but judging by doc.zentyal.org/en/proxy.html it seems like it does a lot of what you want -- a nice-looking GUI and supports content filtering and authentication. It also supports logging: doc.zentyal.org/en/logs.html Does the log sample look like what you want? doc.zentyal.org/en/_images/02-full-report.png Zentyal may be a good choice for you! – DELL_JonathanS Aug 10 '12 at 21:59
  • I think this is exactly what I am looking for. Thanks! – Jason Aug 11 '12 at 10:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.