/etc/hosts getting reset in Lion

22

4

In order to do web development on my local machine, I use the /etc/hosts file to define hosts that point back to 127.0.0.1 to which I have Apache serve up via VirtualHosts. This works great, except that now it seems that Lion resets my /etc/hosts file every so often.

Has anyone else experienced this? Is there any way to keep this from happening?

I never had this problem in Snow Leopard.

Jimmy Z

Posted 2011-11-07T21:26:24.570

Reputation: 691

do you have hosts.ac file ? or any other copies of hosts file ? – user570144 – 2011-11-25T01:51:37.147

@user570144 Seems you were right. – Daniel Beck – 2012-01-17T20:50:40.510

Yes. user570144 was right. Sorry I didn't see the comment here. – Jimmy Z – 2012-01-18T23:24:06.437

I do experience this problem in Snow Leopard 10.6.8 – bzx – 2012-05-18T12:34:33.993

Answers

37

I just discovered what is resetting my /etc/hosts file. It the Cisco AnyConnect VPN Client. Any time I would connect to my organization's VPN, it was resetting the hosts file to a default. I so rarely connect to the VPN, that it made the problem seem intermittent.

If you use Cisco's AnyConnect VPN Client, please be aware that it will reset your hosts file to the contents of the following: /etc/hosts.ac

To solve the problem, make your hosts changes in both the /etc/hosts and the /etc/hosts.ac file.

I got the hint from MacWorld.

Jimmy Z

Posted 2011-11-07T21:26:24.570

Reputation: 691

1Same experience, but guessing it's from Cisco Unified Personal Communicator (cupcake). SURE HOPE THIS FIXES IT. I don't use the VPN enough to match when this happens to me. Also this only happens when I restart. – doublejosh – 2012-05-07T19:15:04.890

1Would love to read an explanation from Cisco as to why it does this – matt b – 2013-02-05T16:23:50.933

1

This behavior was fixed/changed in AnyConnect v3.0.5080 (or higher), released in Spring 2013. Release Notes - search for hosts.ac.

– BrianC – 2013-05-20T18:24:48.683

2

Directory Services (NetInfo in Tiger and earlier) has its own static hosts map, which will be used by the address resolver before /etc/hosts. These can be manipulated through Directory Utility or dscl.

dscl localhost -create /Local/Default/Hosts/www.myhost1.com IPAddress 127.0.0.1
dscl localhost -create /Local/Default/Hosts/www.myhost2.com IPAddress 127.0.0.1
dscl localhost -create /Local/Default/Hosts/www.myhost3.com IPAddress 127.0.0.1
dscl localhost -create /Local/Default/Hosts/www.myhost4.com IPAddress 127.0.0.1

ephemient

Posted 2011-11-07T21:26:24.570

Reputation: 20 750

1

I haven't seen this behavior on Lion and I have a custom /etc/hosts.

Is the whole file reverting, or the top few lines for common entries like 127.0.0.1?

It might be possible that certain operating system actions re-apply the top few "standard" /etc/host lines, so I might try adding lines, instead of editing those...

Mine looks something like this and has never magically changed:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

# route some web requests locally
127.0.0.1       www.myhost1.com
127.0.0.1       www.myhost2.com
127.0.0.1       www.myhost3.com
127.0.0.1       www.myhost4.com

spkane

Posted 2011-11-07T21:26:24.570

Reputation: 133

For some reason, adding additional 127.0.0.1 address lines weren't working back when I was first updating the /etc/hosts after making the migration to a new Lion machine. So, I was adding an entry after the localhost on the top 127.0.0.1 line. It's working now, so I added new lines and I'll watch to see if it resets again. I must have been doing something wrong originally. I'll mark this as resolving my problem after I can verify with a bit more time. Thanks! – Jimmy Z – 2011-11-07T21:55:14.877

I listed the domain mapping below the bottom default localhost, and it was reset this morning. – Jimmy Z – 2011-11-14T16:20:17.280

1

I witnessed the same problem as Jimmy Z. Really frustrating, especially since I have numerous custom hosts. It wasn't until the 3rd or 4th occurrence that I realized it was always happening after a reboot.

I finally stumbled upon this blog post which suggested to delete and recreate the hosts file. I followed the suggestions, rebooted and was relieved to find /etc/hosts in the pre-boot state. Here's a recap of what I did.

cat /etc/hosts | pbcopy 
sudo rm /etc/hosts{,.ac}
sudo touch /etc/hosts
sudo su root -c 'pbpaste > /etc/hosts'

Jeff Poulton

Posted 2011-11-07T21:26:24.570

Reputation: 111