Как заблокировать фейсбук

Я хочу попробовать заблокировать 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

где {} заменяется фактическим диапазоном. я использую REJECTне DROP поскольку 1. это намного быстрее 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
Другие вопросы по тегам