OK I'm admin noob.

Is there a way for adding static DNS entry?

I already tried to modify /etc/hosts file but without success.

Here is my hosts file:   localhost   hitsu   www.deviantart.com   deviantart.com   www.youtube.com   youtube.com

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Eveyrything is fine, but when I enter for example adc.deviantart.com I still get the page.

Is there a way to block that sites?

I am trying to increase productivity in work via disabling off-topic sites.


Well I would like to block all sites from deviantart something like *.deviantart.com

Browser add-ons/extensions are a good solutions, but I use multiple browsers (chrome, opera etc) so it will be probably easier to block this in linux.


There are some solutions for this problem eg https://github.com/leftnode/get-shit-done

However it won't work for multidomains..

  • You could setup dnsmasq with some overrides, or configure a proxy like squid (in which you could even make non-productivity sites blocking time-dependent) – Wrikken May 14 '13 at 19:37

You cannot use wildcards in /etc/hosts. You will need to add every subhost separately.

Tell us more about the problem. Do you want to block traffic originating from your machine only, from the whole network? Only WWW traffic?

If you want to block all traffic to deviantart:

 host deviantart.com gives

 iptables -A OUTPUT -d -j DROP

This will DROP all packages going to deviantart.com. This IP can change of course but you can check it periodically. If you want this to be persistent you would probably need to add this line to some /etc/rc.local script or appropriate for your distro.

  • I want to block specific traffic only for my machine. – nothing-special-here May 14 '13 at 8:29
  • So you can add all subdomains to /etc/hosts or use iptables like in my eidt – Darek May 14 '13 at 8:38
  • I don't know bash. Can I use Ruby or other dynamic languages at /etc/rc.local scripts? Do you other tools which can do the same job? – nothing-special-here May 14 '13 at 11:55
  • Nope. Just write there: /usr/sbin/iptables -A OUTPUT -d -j DROP – Darek May 14 '13 at 12:36

Easiest way is probably to use dnsmasq

Install dnsmasq

$ sudo apt-get install dnsmasq

and add this line to /etc/dnsmasq.conf


This will block deviantart.com and all its subdomains.

Note: For ubuntu see this post.


You need to add adc.deviantart.com to /etc/hosts to block adc.deviantart.com.

But perhaps better way to boost productivity is to not visit deviantart.com voluntarily? You can also install Adblock Plus plugin for Firefox and use it to block these sites. Adblock lets you add pattern like deviantart.com and automatically block all subdomains - unlike /etc/hosts.


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.