Mountain Lion (OS X)에서 / etc / hosts를 사용하여 Facebook을 차단할 수없는 이유는 무엇입니까?


34

이전 구성에서는 잠시 동안 작동했지만 어떤 이유로 작동을 멈췄습니다.

다음은 Mountain Lion MacBook Air의 / etc / hosts 파일입니다.

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

이것은 Reddit을 차단하지만 Facebook은 차단하지 않습니다.

컴퓨터의 DNS 캐시 ( "sudo killall -HUP mDNSResponder"), 바우처 (FF 및 Chrome)를 플러시하고 컴퓨터를 다시 시작하려고했습니다.

그리고이 기사조언에 따라 항목을 파일 맨 위로 옮겼 지만 맨 아래에있을 때 이전에는 작동하지 않았습니다. 매번 Reddit을 차단하지만 Facebook은 차단하지 않습니다.


2
이상하다. 그것은 또한 나를 위해 작동하지 않았다-ML의 페이스 북 통합과 관련이 있는지 궁금합니다. 나는 그 이론을 시험하는 방법을 고민하고있다.
Jerry Seeger

1
facebook.com에 대한 모든 언급에 대해 시스템 폴더를 검색하면 (다른 것들 중에서) /System/Library/Caches/com.apple.internetaccounts.domainscache.plist가 가장 눈에 띄는 범인으로 보입니다. 나는 그것을 망치려고 시도하지 않았지만 그것이 당신이 찾고있는 것일 수 있습니다. 그래도 정말 조심해야합니다.
Jerry Seeger

1
@JerrySeeger에 동의합니다. Facebook 통합의 기능 일 것입니다. 즉, 왜 그런 까다로운 방법으로 사이트를 차단하고 있습니까? 인터넷 액세스를 제어하려면 프록시를 받으십시오.
ta.speot.is는

낮에는 생산성이 떨어지기 때문에 차단하고 싶습니다. 그렇게 큰 문제는 아니지만 더 중요한 것은 차단할 수없는 기술적 이유에 대해 매우 궁금합니다.
seanieb

1
dig facebook.com또는에 무슨 일이 nslookup facebook.com?
JohannesM

답변:


43

harrymc는 가까이 있지만 어떤 이유로 OS X (10.8.2 현재) :: 1 (아마도 버그)의 IPv6 루프백 주소를 존중하지 않으므로 fe80 :: 1 % lo0을 사용해야합니다. IPv6을 차단해야하는 이유는 ISP가 지원하는 경우 Facebook이 V6을 통해 사이트를 제공하기 때문입니다. IPv6을 통해 사이트를 제공 할 때 아이콘을 표시하는 브라우저 플러그인을 설치하면이를 쉽게 확인할 수 있습니다. Facebook이 최근에 문제가되지 않은 이유는 Facebook이 최근 IPv6을 통해 사이트를 제공하기 시작했기 때문입니다.

정답은 다음과 같습니다.

# Block Facebook IPv4
127.0.0.1   www.facebook.com
127.0.0.1   facebook.com
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.fbcdn.net
127.0.0.1   static.ak.connect.facebook.com
127.0.0.1   connect.facebook.net
127.0.0.1   www.connect.facebook.net
127.0.0.1   apps.facebook.com

# Block Facebook IPv6
fe80::1%lo0 facebook.com
fe80::1%lo0 login.facebook.com
fe80::1%lo0 www.login.facebook.com
fe80::1%lo0 fbcdn.net
fe80::1%lo0 www.fbcdn.net
fe80::1%lo0 fbcdn.com
fe80::1%lo0 www.fbcdn.com
fe80::1%lo0 static.ak.fbcdn.net
fe80::1%lo0 static.ak.connect.facebook.com
fe80::1%lo0 connect.facebook.net
fe80::1%lo0 www.connect.facebook.net
fe80::1%lo0 apps.facebook.com

3
Jesse, 안녕하세요. 모든 내용을 / etc / hosts에 붙여 넣었지만 여전히 페이스 북에 접속할 수 있습니다. 여전히 뭔가 빠졌습니까?
gruszczy

나를 위해 작동하지 않습니다. 라우터에서도 차단하려고했지만 다른 사이트는 잘 차단되었지만 Facebook은 아닙니다.
adrianTNT

3
그것은 사파리를 다시 시작한 후에 일했다
Mujah Maskey

5

에 다음 줄을 추가하십시오 /etc/resolv.conf

lookup file, bind

이것은 OS X이 dns 이전에 / etc / hosts를 사용하도록해야합니다. 유일한 문제는 dhcp를 사용하면 재부팅 할 때마다이 파일을 덮어 씁니다.


4

나도 이것에 휩싸였다. 필요한 단계 만 수행하고 필요한 구성 파일 만 해킹하는 것을 좋아합니다. 다음은 요약이다의로, 필요의 여부를 무엇 무엇을 작동하고 무엇을하지 않습니다, 오늘 :

  • @ jesse-endahl 의 핵은 정확히 작동합니다. fe80::1%lo0IPv6 루프백 에 사용해야 합니다.에 대한 항목 ::1이 무시 된 것 같습니다.

  • sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder -필요하지 않은

  • 추가 lookup file, bind/etc/resolv.conf- 필요하지

이를 테스트 할 때 명심해야 할 중요한 점은 일부 응용 프로그램에는 자체 DNS 캐시가 있다는 것입니다. 예를 들어 크롬 브라우저 다음 IP의 경우는, 모든 페이지를 다시로드에 IP 주소를 조회 할 수 이해가되지 않습니다 facebook.com이었다 173.252.110.27분은 아직도 바로 지금 동일해야 일 전? Chrome에서 캐시를 만료하는 데 몇 분이 걸리기 때문에 테스트하기가 어렵습니다. 삭제하는 방법을 모르면

나에게 효과적인 테스트 방법 중 하나 는 Chrome 의 새로운 시크릿 창 기능을 사용하는 것입니다 . 에서 항목을 변경할 때마다 /etc/hosts새 시크릿 창을 열어 결과를 확인하면 즉시 작동합니다. 비 시크릿 창도 작동하며 결국 몇 분 정도 걸립니다.


3

이것을 시도 하십시오 :

# Block Facebook IPv4
127.0.0.1   www.facebook.com
127.0.0.1   facebook.com
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.fbcdn.net
127.0.0.1   static.ak.connect.facebook.com
127.0.0.1   connect.facebook.net
127.0.0.1   www.connect.facebook.net
127.0.0.1   apps.facebook.com
# Block Facebook IPv6
::1 www.facebook.com
::1 facebook.com
::1 login.facebook.com
::1 www.login.facebook.com
::1 fbcdn.net
::1 www.fbcdn.net
::1 fbcdn.com
::1 www.fbcdn.com
::1 static.ak.fbcdn.net
::1 static.ak.connect.facebook.com
::1 connect.facebook.net
::1 www.connect.facebook.net
::1 apps.facebook.com

그래도 문제가 해결되지 않으면 Facebook 차단 기사를 참조하십시오 .

  • 라우터에서 Facebook 차단
  • OpenDNS 사용자 정의 차단 목록으로 Facebook 차단

그래도 문제가 해결되지 않으면 SelfControl 응용 프로그램을 사용해보십시오 .


이 질문의 목표는 단순히 Facebook을 차단하도록하는 것이 아니라 / etc / hosts 파일이 작동하지 않는 이유를 이해하고 싶습니다.
seanieb

@seanieb 그는이 답변을 다른 답변에 연결했습니다. 거기에서 설명을 찾을 수 있습니다.

3

Mac OS X El Capitan : 버전 10.11.5

사파리 : 9.1.1

Facebook을 마침내 차단하려면 위의 모든 답변을 조합하여 사용해야했습니다. 내 /etc/hosts 파일 의 내용은 다음과 같습니다 .

# 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
# Block Facebook
127.0.0.1   www.facebook.com
127.0.0.1   facebook.com
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.fbcdn.net
127.0.0.1   static.ak.connect.facebook.com
127.0.0.1   connect.facebook.net
127.0.0.1   www.connect.facebook.net
127.0.0.1   apps.facebook.com
fe80::1%lo0 facebook.com
fe80::1%lo0 login.facebook.com
fe80::1%lo0 www.login.facebook.com
fe80::1%lo0 fbcdn.net
fe80::1%lo0 www.fbcdn.net
fe80::1%lo0 fbcdn.com
fe80::1%lo0 www.fbcdn.com
fe80::1%lo0 static.ak.fbcdn.net
fe80::1%lo0 static.ak.connect.facebook.com
fe80::1%lo0 connect.facebook.net
fe80::1%lo0 www.connect.facebook.net
fe80::1%lo0 apps.facebook.com
::1 www.facebook.com
::1 facebook.com
::1 login.facebook.com
::1 www.login.facebook.com
::1 fbcdn.net
::1 www.fbcdn.net
::1 fbcdn.com
::1 www.fbcdn.com
::1 static.ak.fbcdn.net
::1 static.ak.connect.facebook.com
::1 connect.facebook.net
::1 www.connect.facebook.net
::1 apps.facebook.com

그리고 이상하게 .. 이것은 효과가 있었다!

단계 :

  1. 터미널에서 sudo vi /etc/hosts 또는 sudo pico /etc/hosts

  2. 위 내용을 저장하십시오. (의견에서 # Block Facebook)

  3. 터미널에서을 실행하십시오 dscacheutil -flushcache.

  4. Safari에서 캐시를 지우십시오. 메뉴 바 선택 Develop -> Empty Cache

  5. 컴퓨터를 다시 시작해야 할 수도 있습니다. 그리고 문제가 해결되었습니다!


네, 드디어 : D. 모하비와 함께 독일에서 일하기.
fl034

1

이것들을 추가하십시오

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

그런 다음 차단되어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.