OSX Sierra hosts file is ignored
For some reason, two days ago my hosts file started being ignored.
I'm using Mac with Sierra OSx .
This is the current content of the /etc/hosts file
##
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhostage
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 localkur.com
Pinging localkur.com returns
ping: cannot resolve localkur.com: Unknown host
I have restart the system, clean the cache using these commands
sudo killall -HUP mDNSResponder;
sudo discoveryutil mdnsflushcache;
sudo discoveryutil udnsflushcaches;
Reopen the file in different text editing programs, vm, sublime etc.
Double checked if space or tab (or double space or double tab) - tested with all possibilities.
Also monitor the file with this command
sudo fs_usage | grep "/etc/hosts"
And got that result when refreshing the browser or saving it with sublime
12:23:35 open private/etc/hosts 0.000019 Google Chrom
12:23:36 open private/etc/hosts 0.000019 Google Chrom
12:23:41 stat64 /private/etc/hosts 0.000022 Sublime Text
12:23:43 stat64 /private/etc/hosts 0.000019 Sublime Text
12:23:45 stat64 /private/etc/hosts 0.000019 Sublime Text
12:23:45 open /private/etc/hosts 0.000019 Sublime Text
What am I missing ?
Why is this file ignored ?
How to enable it again ?
Solution 1:
The file might be corrupted/damaged, it has to be an ASCII file. You should recreate it:
- move the old file with
mv -f /etc/hosts /etc/oldhosts
- create a new file with
nano
- populate it with the values of the old file
- save it as
/etc/hosts
That should do it.
Solution 2:
Look at System Preferences -> Network
If the currently active "Location" has one or more DNS servers listed then the system will create the file "/etc/resolv.conf" which will list those nameservers as the place to go for resolution, bypassing /etc/hosts entirely
resolv.conf is created dynamically by "Network" prefs, and overwritten based on the "DNS Server" field of the currently active "Location" or removed if that field is blank
Solution 3:
Also, make sure your list of hostnames doesn't exceed 20 names. I frequent a site which likes to put advertisements in your face, so I assign the FQDN from the popup as an alias of localhost. Recently I found my hosts file wasn't working. Seems the limit is 20 hosts... Example:
127.0.0.4 www.slutroulette.com static.exoclick.com www.gameskwala.com www.thefreecamsecret.com www.slutroulette.com cdn1.adexpert.com cdn2.adexpert.com cdn3.adexpert.com cdn3.adexperts.com abine.com www.abine.com e1.static.hoptopboy.com.rncdn1.com gameinvite.24trk.com main.exoclick.com 0427d7.se syndication.exoclick.com 0427d7.se gamingruff.com www.gamingruff.com mackeeperapp.zeobit.com 127.0.0.5 ads.adplxmd.com mackeeperapp3.mackeeper.com onclickads.net onclick.net fundownloads108.com pussl10.com rumorsleague.com kitsfilesdll.com pussl8.com nowsetup.enterworldofupgrading.review playgr8.com autoupdate.thebigandgoodfree4upgrading.trade om.elvenar.com www.hitcpm.com www.ibtimes.co.uk mysagagame.com
Solution 4:
This is an old thread for sure but I was facing the same problem today and I found the solution. Leaving this here in case someone else needs it.
sudo dscacheutil -flushcache
Flushing the DNS cache did the trick in my case.