OSX Sierra hosts file is ignored

62,565

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.

Solution 5

It could be use of TAB instead of SPACE. Was in my case. Fixed it nicely!

Share:
62,565

Related videos on Youtube

T1000
Author by

T1000

Updated on September 18, 2022

Comments

  • T1000
    T1000 almost 2 years

    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 ?

    • Admin
      Admin over 7 years
      What are checked lines in System Preferences > Network > Advanced ... > Proxies? Anything special?
    • 13dimitar
      13dimitar over 7 years
      the file might be corrupted/damaged, it has to be an ascii file - why don't you recreate it?
    • T1000
      T1000 over 7 years
      @FarazX there is "Bypass proxy settings for these Hosts & Domains:" and the value is "*.local, 169.254/16"
    • T1000
      T1000 over 7 years
      @13nilux how to recreate it properly ?
    • 13dimitar
      13dimitar over 7 years
      with nano - move do old file to /etc/oldhosts, create a new file with nano, populate it with the values of the old file and save it as /etc/hosts
    • T1000
      T1000 over 7 years
      @13nilux dude ! You are genious! Apparently something happened to the file ... and now is ok! Can you please make it like normal answer so I can upvote you! Thanks
  • T1000
    T1000 over 7 years
    Thanks, that was the problem in my case! The file was looking totaly normal but it was apparently with changed encoding or something else. It was visible by 'cat /etc/hosts' because cat wasn't listing the whole content of the file, just last line....
  • PhilR
    PhilR about 6 years
    This resolved the issue for me. Thanks for posting this solution.
  • Toto
    Toto about 6 years
    Can you elaborate on this a little more?
  • MCCCS
    MCCCS almost 6 years
    It'd be wise to check file -I /etc/hosts output first. If it outputs charset=us-ascii, this answer won't work for you.
  • jetset
    jetset almost 6 years
    My system uses DHCP to receive the DNS resolver, and has an /etc/resolv.conf file. How can I override normal DNS query to block popunders? My intent was to add lines to /etc/hosts.
  • BenL
    BenL almost 6 years
    How do you plan to distinguish between valid DNS queries and popunders? Sounds like it might be a browser level problem. Might it be better served by a browser solution like "Privacy Badger" or "uBlock Origin"?
  • multigoodverse
    multigoodverse over 5 years
    So what's the solution? Removing the DNS listed on the DNS tab.
  • Conor
    Conor over 4 years
    In my case, I couldn't remove the DNS (i use pi-hole), but wanted some domains to be blackholed before they were even sent to the pi-hole DNS to resolve. For some reason, having 127.0.0.1 example.com in /etc/hosts did not work and sent dns queries to the pi-hole which were then resolved in browser, but changing 127.0.0.1 to 0.0.0.0 such that my entry read 0.0.0.0 example.com in /etc/hosts instead worked.
  • yashhy
    yashhy about 4 years
    This was my case too! see superuser.com/a/1364469/496456
  • wogsland
    wogsland almost 4 years
    This is not exactly what I need, but maybe I'm doing some other formatting wrong or something. Will keep looking....
  • oarfish
    oarfish over 3 years
    -rw-r--r-- looks like other and group already have read permission, no?
  • Timo Ernst
    Timo Ernst over 3 years
    @oarfish The first grey box shows what we want, NOT the state prior to the chmod commands. That's why I put "The correct permissions SHOULD be" above it.
  • ku_thai
    ku_thai over 3 years
    What is the solution? What are the explicit steps?
  • Mattia
    Mattia over 2 years
    This is what ended up working for me. What's strange is that this was on a brand new MacBook (running 12.1) so I'd assume the stock configuration would have a functioning hosts file.