Przez pewien czas działał w starej konfiguracji, ale z jakiegoś powodu przestał działać.
Oto mój plik / etc / hosts z mojego Mountain Lion MacBook Air:
127.0.0.1 reddit.com www.reddit.com
127.0.0.1 facebook.com www.facebook.com
##
# 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
To blokuje Reddit, ale nie Facebook.
Próbowałem opróżnić pamięć podręczną DNS komputera („sudo killall -HUP mDNSResponder”), Bowserów (FF i Chrome) i próbowałem ponownie uruchomić komputer.
Przesunąłem wpisy na początek pliku zgodnie z zaleceniami tego artykułu , ale nie działało to wcześniej, gdy znajdowało się na dole. Za każdym razem blokowałoby Reddit, ale nie Facebooka.
macos
osx-mountain-lion
hosts-file
seanieb
źródło
źródło
dig facebook.com
lubnslookup facebook.com
?Odpowiedzi:
harrymc jest blisko, ale z jakiegoś powodu OS X (od 10.8.2) nie respektuje adresu sprzężenia zwrotnego IPv6 :: 1 (prawdopodobnie błąd), więc musisz użyć fe80 :: 1% lo0. Powodem, dla którego musisz zablokować IPv6, jest to, że Facebook będzie ci udostępniał swoją witrynę przez V6, jeśli Twój dostawca usług internetowych go obsługuje. Możesz to łatwo zweryfikować, instalując wtyczkę do przeglądarki, która wyświetla ikonę, gdy witryna jest obsługiwana przez IPv6. Powodem, dla którego nie było to dla ciebie problemem, jest fakt, że Facebook prawdopodobnie dopiero niedawno zaczął udostępniać swoją witrynę przez IPv6.
Prawidłowa odpowiedź to:
źródło
Spróbuj dodać następujący wiersz
/etc/resolv.conf
Powinno to zmusić OS X do korzystania z / etc / hosts przed dns. Jedynym problemem jest to, że jeśli używasz dhcp, ten plik zostanie nadpisany przy każdym ponownym uruchomieniu.
źródło
Byłem tym także podeptany. Lubię robić tylko niezbędne kroki i włamać się tylko do niezbędnych plików konfiguracyjnych i nic więcej. Oto podsumowanie tego, co działa, a co nie, co jest konieczne lub nie jest na dzień dzisiejszy :
Hack @ jesse-endahl działa dokładnie. Trzeba użyć
fe80::1%lo0
dla pętli zwrotnej IPv6, wpisy dla::1
wydają się być ignorowane.sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
-- nie są potrzebneDodanie
lookup file, bind
w/etc/resolv.conf
- nie są potrzebnePodczas testowania należy pamiętać o tym, że niektóre aplikacje mają własną pamięć podręczną DNS. Na przykład przeglądarka Chrome: wyszukiwanie adresów IP na każdej stronie nie ma sensu, jeśli adres IP
facebook.com
był173.252.110.27
minutę temu powinny być nadal tak samo teraz, prawda? Utrudnia to testowanie rzeczy, ponieważ Chrome potrzebuje kilku minut na wygaśnięcie pamięci podręcznej. Chyba że znasz metodę jego zniszczenia.Jedną z metod testowania, która działała dla mnie dobrze, jest korzystanie z funkcji Nowe okno incognito w Chrome. Za każdym razem, gdy coś zmieniasz
/etc/hosts
, otwórz nowe okno incognito, aby wyświetlić wynik, i powinno działać natychmiast. Okna bez incognito również będą działać, w końcu zajmuje to tylko kilka minut.źródło
Wypróbuj to :
Jeśli to nie zadziała, zobacz artykuł Zablokuj Facebook który również sugeruje:
Jeśli to nadal nie działa, możesz wypróbować aplikację SelfControl .
źródło
Mac OS X El Capitan: wersja 10.11.5
Safari: 9.1.1
Musiałem użyć kombinacji wszystkich powyższych odpowiedzi, aby móc w końcu zablokować Facebooka. Oto zawartość mojego
/etc/hosts
pliku:I dziwnie ... zadziałało!
Kroki:
Na swoim terminalu uruchom
sudo vi /etc/hosts
lubsudo pico /etc/hosts
Zapisz powyższą zawartość. (z komentarza
# Block Facebook
)Na terminalu uruchom
dscacheutil -flushcache
.W przeglądarce Safari wyczyść pamięć podręczną. Wybierz pasek menu
Develop
->Empty Cache
Może być konieczne ponowne uruchomienie komputera. I problem rozwiązany!
źródło
Spróbuj dodać te
127.0.0.1 www.facebook.com
127.0.0.1 facebook.com 127.0.0.1 static.ak.fbcdn.net
127.0.0.1 www.static.ak.fbcdn.net
127.0.0.1 login.facebook.com
127.0.0.1 www.login.facebook.com
127.0.0.1 fbcdn.net
127.0.0.1 www.fbcdn.net
127.0.0.1 fbcdn.com
127.0.0.1 www.fbcdn.com
127.0.0.1 static.ak.connect.facebook.com
127.0.0.1 www.static.ak.connect.facebook.com
Następnie powinno zostać zablokowane.
źródło