So blockieren Sie Facebook

So blockieren Sie Facebook

Ich möchte versuchen, Facebook auf meinem Computer zu blockieren.

Ich begann, /etc/hosts zu verwenden, aber das erfasst nicht alle Subdomains, also recherchierte ich ein wenig und fandDas(und viele ähnliche Lösungen), die zu dieser Aussage führen

/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

[Bearbeiten] Was ich hier mache, ist, dass ich zuerst

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

um alle von Facebook registrierten IP-Bereiche zu erhalten, wie vorgeschlagen vondieser Artikel. Dann schneide ich etwas ab, um unerwünschte Zeichen am Anfang und Ende des Ergebnisses zu entfernen. Dadurch erhalte ich eine Liste von IP-Bereichen, die durch Leerzeichen getrennt sind. Mit xarg trenne ich diese IP-Bereiche und erstelle für jeden IP-Bereich eine Anweisung wie

iptables -A OUTPUT -d {} -j REJECT

wobei {}durch den tatsächlichen Bereich ersetzt wird. Ich verwende REJECT, nicht, DROPda 1. es viel schneller ist 2. da ich die Verbindung eigentlich verbieten möchte, erscheint mir dies richtig. [/bearbeiten]

Wenn ich es jetzt versuche, ping facebook.combekomme ich

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

das ist genau das, was ich erwarte. Aber wenn ich meinen Browser (Firefox) verwende, um facebook.com zu öffnen, öffnet sich die Seite trotzdem, was nicht das ist, was ich erwarte. Ich habe versucht, neu zu laden und eine andere Facebook-Domain (facebook.de) zu öffnen, was ich vorher nicht probiert hatte, um Probleme mit dem Browser-Cache auszuschließen, aber das hat nicht geholfen.

Da ich oft DROPstattdessen sehe REJECT, habe ich das auch versucht, aber es hat am Ergebnis nichts geändert.

Die Frage ist nun, warum der Browser eine Webseite nicht laden kann, wenn die entsprechende IP blockiert ist? Wie kommt der Browser durch, wenn der Ping blockiert ist? Es ist offensichtlich, dass ich etwas übersehe, aber ich kann nicht herausfinden, was es ist.

Antwort1

Host-IP abrufen:

host -t a facebook.com

CIDR suchen

whois 173.252.120.68 | grep CIDR

Und Subnetz blockieren

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

und Domänen blockieren:

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

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

verwandte Informationen