페이스북을 차단하는 방법

페이스북을 차단하는 방법

내 컴퓨터에서 Facebook을 차단하고 싶습니다.

/etc/hosts를 사용하기 시작했지만 모든 하위 도메인을 포착할 수는 없었습니다. 그래서 조사를 하다가 발견했습니다.이것이 진술로 이어지는 (및 많은 유사한 솔루션)

/usr/bin/whois -h whois.radb.net '!gAS32934' | head -n -1 | tail -n -1 | /usr/bin/xargs --max-args=1 | /usr/bin/xargs -I {} --max-args=1 iptables -A OUTPUT -d {} -j REJECT

[편집] 제가 여기서 하는 일은 제가 처음으로 사용하는 것입니다.

whois -h whois.radb.net '!gAS32934'

제안한 것처럼 페이스북에 등록된 모든 IP 범위를 얻으려면이 기사. 그런 다음 결과의 시작과 끝에서 원하지 않는 문자를 제거하기 위해 일부 트리밍을 수행합니다. 이렇게 하면 공백으로 구분된 IP 범위 목록이 제공됩니다. 그런 다음 xarg를 사용하여 이러한 IP 범위를 분리하고 각 IP 범위에 대해 다음과 같은 명령문을 작성합니다.

iptables -A OUTPUT -d {} -j REJECT

여기서는 {}실제 범위로 대체됩니다. 1 이후로 는 사용 REJECT하지 않습니다 DROP. 훨씬 빠릅니다. 2. 실제로 연결을 금지하고 싶기 때문에 이것이 나에게 맞는 것 같습니다. [/편집하다]

이제 내가 시도하면 ping facebook.com얻을 수 있습니다

From myname (xxx.xxx.xxx.xxx) icmp_seq=1 Destination Port Unreachable

이것이 바로 제가 기대하는 것입니다. 하지만 내 브라우저(Firefox)를 사용하여 facebook.com을 열면 사이트가 여전히 열리는데 이는 예상한 것과 다릅니다. 브라우저 캐시 문제를 배제하기 위해 이전에 시도한 적이 없는 다른 Facebook 도메인(facebook.de)을 다시 로드하고 열어 보았지만 도움이 되지 않았습니다.

자주 보니까 DROP그것도 REJECT해봤지만 결과는 달라지지 않았어요.

이제 문제는 해당 IP가 차단된 경우 브라우저가 웹페이지를 로드할 수 있는 이유는 무엇입니까? 핑이 차단된 경우 브라우저는 어떻게 통과할 수 있습니까? 뭔가 빠진 것이 분명하지만 그것이 무엇인지 알 수 없습니다.

답변1

호스트 IP 얻기:

host -t a facebook.com

CIDR 찾기

whois 173.252.120.68 | grep CIDR

그리고 서브넷 차단

iptables -A OUTPUT -p tcp -d 173.252.120.68/18 -j DROP

및 블록 도메인:

iptables -A OUTPUT -p tcp -d www.fаcebook.com -j DROP

iptables -A OUTPUT -p tcp -d fаcebook.com -j DROP

관련 정보