There are plenty of programs that I can use to block websites, but as Anthony Volodkin notes:

On the other hand, I noticed that when faced with a slow Internet connection (say, tethering via EDGE in Ukraine), the desire to browse distracting sites quickly fades on its own as the amount of wait time outweighs the need for distraction (it seems so obviously silly to wait 10-15 sec to read some silly headlines on cnn.com). In other words, impatience easily defeats the desire to be briefly distracted, and since the distraction is no longer brief, the slowness makes it intuitively obvious how much time is really spent.

His article uses Mac OS X's ipfw tool to manage the connections. Is there a way to match that functionality in Linux, using iptables?

Relatedly, the command to slow down these websites should be fairly similar on both a single-user workstation or a gateway/router, correct?

EDIT: A better way, perhaps, to phrase this question. Is there a way to limit the network speed or bandwidth for a specific outgoing domain? (Where said domain is Reddit, Facebook, etc.)

  • Are you basically asking how to keep your employees, or yourself, from browsing non-work related websites because they or yourself can't stay on task? Is the work actually getting done so that blocking these things isn't going to be a morale buster? – Bart Silverstrim Mar 5 '12 at 3:37
  • This is more focused on preventing me from being distracted. My work has suffered a bit. I'm asking about the network-wide settings as well to not only apply it to my own computer, but also the Linux box I use as a router. – evaryont Mar 6 '12 at 4:11

If this is a business you set up everyone on the network to run through a proxy server, then use the proxy to log websites being visited and use that to remind employees of proper use of resources, and if there's continued abuse they can be terminated (if it's in their contracts or whatever the laws are in your area related to work termination issues.)

The proxy can also be set up to block websites, using something like SquidGuard if you're runnign squid or with a dedicated appliance.

If you want to risk making your employees resort to things like using their phones to waste time instead of their desktops and laptops, you can set up your proxy server to allow only whitelisted sites instead of blocking by blacklist. Then you can completely restrict what they're allowed to visit to a small subset of websites.

Blocking on a per-system basis will quickly become an unmanageable mess as there are many time-wasting sits available, and usually people will find a way to waste time whenever they are bored or have an issue that needs to be thought out by diversion. Sometimes the solution to a problem comes when they're no longer focused on the problem. I would suggest that unless productivity is really being harmed then implementing strict blocks may actually be detrimental, or you'll find more paperclip animals and various other time-wasting activities used instead (or phones or other bypasses to policy used). Otherwise, your employees may need to work on self control and staying on task, and as long as the work is getting done as required, allowing for some slack. This is especially true in businesses that are asking more of employees in the US and trying to get business to encroach on what used to be personal time, as it's getting harder and harder for employees to separate their personal from business lives.

  • This is the approach that most people use, but I'd like to avoid. An out-right, quick response block isn't as effective as the network being "weird" or "slow". – evaryont Mar 6 '12 at 4:13

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.