
Quiero intentar bloquear Facebook en mi máquina.
Comencé a usar /etc/hosts pero eso no abarca todos los subdominios, así que investigué un poco y encontréeste(y muchas soluciones similares) que conducen a esta afirmación
/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
[editar] lo que hago aquí es lo que uso por primera vez
whois -h whois.radb.net '!gAS32934'
para obtener todos los rangos de IP, registrados por Facebook, como lo sugiereeste articulo. Luego hago algunos recortes para eliminar caracteres no deseados al principio y al final del resultado. Esto me da una lista de rangos de IP, separados por espacios. Usando xarg, luego separo estos rangos de IP y construyo, para cada rango de IP, una declaración como
iptables -A OUTPUT -d {} -j REJECT
donde {}
se reemplaza por el rango real. Lo uso REJECT
, no DROP
desde 1. es mucho más rápido 2. ya que en realidad quiero prohibir la conexión, esto me parece correcto. [/editar]
ahora si lo intento ping facebook.com
lo consigo
From myname (xxx.xxx.xxx.xxx) icmp_seq=1 Destination Port Unreachable
que es exactamente lo que espero. Pero si uso mi navegador (Firefox) para abrir facebook.com, el sitio aún se abre, lo cual no es lo que esperaba. Intenté recargar y abrir otro dominio de Facebook (facebook.de) que no había probado antes para descartar problemas con el caché del navegador, pero no sirvió de nada.
Como veo a menudo DROP
en lugar de REJECT
eso, también lo intenté, pero no cambió el resultado.
La pregunta ahora es, ¿por qué el navegador puede cargar una página web si la IP correspondiente está bloqueada? ¿Cómo puede acceder el navegador si el ping está bloqueado? Es obvio que me falta algo, pero no puedo entender qué es.
Respuesta1
Obtener IP del host:
host -t a facebook.com
Buscar CIDR
whois 173.252.120.68 | grep CIDR
Y bloquear la subred
iptables -A OUTPUT -p tcp -d 173.252.120.68/18 -j DROP
y bloquear dominios:
iptables -A OUTPUT -p tcp -d www.fаcebook.com -j DROP
iptables -A OUTPUT -p tcp -d fаcebook.com -j DROP