16

There's a website, www.example.com, that I tried to block myself from accessing because it wastes too much of my time. So I configured my /etc/hosts file. I added the following lines, to block the website on both IPv4 and IPv6:

127.0.0.1 www.example.com
::1 www.example.com
127.0.0.1 http://www.example.com
::1 http://www.example.com
127.0.0.1 example.com
::1 example.com

I restarted my computer, and I cannot wget www.example.com, and pinging www.example.com works as expected, but the website is not actually blocked in my browser! I can still access it in Firefox 28 and Chromium.

Questions

  • What's going on?
  • How do I block this site using systems-level tools instead of using browser extensions?
  • In your browser, did you type http://www.example.com (which should be blocked) or did you type http://example.com (which is not blocked)? – John1024 May 4 '14 at 5:51
  • @John1024 I amended my question to address yours. In the browser, example.com and http://example.com are blocked, but www.example.com, and http://www.example.com are not blocked. – Newb May 4 '14 at 7:14
  • 1
    @Newb: What Linux distro do you use? – cuonglm May 4 '14 at 8:21
  • Have a look at hostsblock: it automates this for you and works brilliantly... – jasonwryan May 4 '14 at 8:55
  • I configured DNS-level blocking at my home DNS server. For those with less technical aptitudes, pi-hole is an interesting project. pi-hole.net – Rui F Ribeiro Jan 4 '16 at 8:44
10

Rather then make this block using /etc/hosts I'd suggest using a browser addon/plugin such as this one named: BlockSite for Firefox or StayFocusd for Chrome.

BlockSite

  ss #1

StayFocusd

                    ss #2

But I want to really use /etc/hosts file

If you must do it this way you can try adding your entries like this instead:

0.0.0.0   www.example.com
0.0.0.0   example.com
::0       www.example.com
::0       example.com

You should never add entries to this file other than hostnames. So don't put any entries in there that include prefixes such as http:// etc.

  • 9
    The OP does expressly ask for solutions that don't involve browser plugins/extensions... – jasonwryan May 4 '14 at 7:46
  • 1
    @jasonwryan - thanks, missed that last sentence in the Q. – slm May 4 '14 at 7:53
  • 2
    The last part of your answer was correct --- my mistake was that I had written http://www.example.com instead of www.example.com. Now the site is blocked. – Newb May 4 '14 at 18:14
  • This is useful, and both chrome & firefox has an extension named block site, both great. – Eric Wang Oct 14 '15 at 21:03
  • Alas, what I needed was a plug-in that would ignore all the links to other sites than the current one and would be activated to sites of my own choice. – Rui F Ribeiro Dec 24 '16 at 9:50
3

You need to flush your DNS cache. According to this article, you can do that by restarting the following services:

  • nscd
  • dnsmasq
  • named
  • The article is from 2008 and appears to be out of date. My linux mint install doesn't have nscd or rndc. – Ben Crowell Jan 5 '17 at 23:53
  • that means you do not have dns caching enabled. so you are not dealing with the similar issue op has. if your issue is dns caching, that may be result of any other machine on your network caches nameservers and responses queries instead of the actual dynamic name server. – totten Jan 6 '17 at 0:41

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.