Resetowanie / etc / hosts w Lionie

22

Aby wykonać tworzenie stron internetowych na moim komputerze lokalnym, używam tego /etc/hostspliku do definiowania hostów, które wskazują na 127.0.0.1, do których mam serwer Apache obsługiwany przez VirtualHosts. Działa to świetnie, tyle że teraz wydaje się, że Lion co jakiś czas resetuje mój plik / etc / hosts.

Czy ktoś jeszcze tego doświadczył? Czy jest jakiś sposób, aby temu zapobiec?

Nigdy nie miałem tego problemu w Snow Leopard.

Jimmy Z
źródło
masz plik hosts.ac? lub jakieś inne kopie pliku hosts?
user570144,
@ user570144 Wygląda na to, że miałeś rację.
Daniel Beck
Tak. użytkownik570144 miał rację. Przepraszamy, nie widziałem tutaj komentarza.
Jimmy Z
Ten problem występuje w
systemie

Odpowiedzi:

37

Właśnie odkryłem, co resetuje mój plik / etc / hosts. Jest to klient VPN Cisco AnyConnect. Za każdym razem, gdy łączyłem się z siecią VPN mojej organizacji, plik hostów był resetowany do wartości domyślnej. Tak rzadko łączę się z VPN, że sprawia, że ​​problem wydaje się sporadyczny.

Jeśli używasz klienta AnyConnect VPN firmy Cisco, pamiętaj, że spowoduje to zresetowanie pliku hosts do zawartości następujących elementów: /etc/hosts.ac

Aby rozwiązać problem, wprowadź zmiany w hostach zarówno /etc/hostsw /etc/hosts.acpliku, jak i w pliku.

Mam podpowiedź od MacWorld.

Jimmy Z
źródło
1
To samo doświadczenie, ale zgadywanie pochodzi z Cisco Unified Personal Communicator (cupcake). PEWNA NADZIEJA TO NAPRAWIA. Nie używam VPN wystarczająco, aby dopasować się, gdy mi się to zdarza. Zdarza się to również po ponownym uruchomieniu.
doublejosh
1
Chciałbym przeczytać wyjaśnienie od Cisco, dlaczego to robi
mat
1
To zachowanie zostało naprawione / zmienione w AnyConnect v3.0.5080 (lub nowszym), wydanym wiosną 2013 roku. Informacje o wydaniu - wyszukaj hosts.ac.
BrianC
2

Usługi katalogowe (NetInfo w Tiger i wcześniejszych wersjach) mają własną statyczną mapę hostów, która będzie wcześniej używana przez przelicznik adresów /etc/hosts. Można nimi manipulować za pomocą Directory Utility lub 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
efemeryczny
źródło
1

Nie widziałem tego zachowania na Lionie i mam niestandardowego / etc / hosts.

Czy cały plik jest przywracany, czy też kilka pierwszych wierszy dla popularnych wpisów, takich jak 127.0.0.1?

Możliwe, że niektóre działania systemu operacyjnego ponownie zastosują kilka pierwszych „standardowych” linii / etc / hosta, więc mogę spróbować dodać linie zamiast edytować te ...

Mój wygląda mniej więcej tak i nigdy się magicznie nie zmienił:

##
# Baza danych hosta
#
# localhost służy do konfigurowania interfejsu pętli zwrotnej
# podczas uruchamiania systemu. Nie zmieniaj tego wpisu.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
:: 1 localhost
fe80 :: 1% lo0 localhost

# trasuj niektóre żądania sieciowe lokalnie
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
źródło
Z jakiegoś powodu dodanie dodatkowych wierszy adresu 127.0.0.1 nie działało, kiedy po raz pierwszy aktualizowałem / etc / hosts po migracji do nowej maszyny Lion. Dodałem więc wpis po localhost w górnym wierszu 127.0.0.1. Teraz działa, więc dodałem nowe linie i sprawdzę, czy resetuje się ponownie. Musiałem początkowo robić coś złego. Oznaczę to jako rozwiązanie mojego problemu po tym, jak będę mógł zweryfikować trochę dłużej. Dzięki!
Jimmy Z
Wymieniłem mapowanie domen poniżej dolnego domyślnego hosta lokalnego i zostało zresetowane dziś rano.
Jimmy Z
1

Byłem świadkiem tego samego problemu co Jimmy Z. Naprawdę frustrujące, zwłaszcza, że ​​mam wielu niestandardowych hostów. Dopiero po trzecim lub czwartym wystąpieniu zdałem sobie sprawę, że zawsze miało to miejsce po ponownym uruchomieniu.

W końcu natknąłem się na ten post na blogu, który sugerował usunięcie i ponowne utworzenie pliku hosts. Postępowałem zgodnie z sugestiami, zrestartowałem komputer i odetchnąłem z ulgą, znajdując / etc / hosts w stanie przed uruchomieniem. Oto podsumowanie tego, co zrobiłem.

cat /etc/hosts | pbcopy 
sudo rm /etc/hosts{,.ac}
sudo touch /etc/hosts
sudo su root -c 'pbpaste > /etc/hosts'
Jeff Poulton
źródło