Вопрос: Блокировка stackexchange


Я хочу заблокировать каждый веб-сайт в сети stackexchange (поскольку я часто трачу много времени на них). Как мне это сделать?

Одним из решений является, очевидно, запись всех записей сайтов вручную в файле hosts, но есть ли лучшее решение?

Обратите внимание, что просто блокировка регулярного выражения *.stackexchange.com не будет работать, так как многие сайты имеют уникальные имена, такие как superuser а также askubuntu,

Я использую Ubuntu 16.04.

Редактировать:

Я поставил здесь этот вопрос не для того, чтобы узнать самообладание, а потому, что я искренне интересуюсь его технической осуществимостью.

Пожалуйста, напишите причину заметок в комментариях, чтобы я мог действовать по этому поводу!


2
2017-07-03 03:40


Источник


Я чувствую, что не должен отвечать на это - Keltari
Вы говорите, что каждый последний сайт SE непреодолим, и если вы просто заблокируете их всех, вы не найдете других сайтов там, чтобы удовлетворить вашу зависимость? Я не знаю, это звучит как проблема XY для меня. :-) - fixer1234
Поскольку вы, очевидно, задали этот вопрос под псевдонимом, пожалуйста, напишите свое настоящее имя и пароль SE. Проблема позаботится о себе в кратчайшие сроки. - dxiv
Вы всегда можете просто удалить все ваши аккаунты - Mokubai♦
Вы пытаетесь решить проблему людей с помощью технологий. Как правило, это не работает. - Bob


Ответы:


Во-первых, в стороне, проводя время здесь, в stackexchange, вряд ли тратится время. Либо вы получаете ответы на интересующие вас вопросы, либо помогаете другим пользователям. Ни образование, ни помощь своему ближнему человеку не считаются временем, потраченным впустую всем, кого я знаю.

Во-вторых, с репутацией 121 года, я сомневаюсь, что вы провели там фракцию времени, так как у меня с 5 до 5000 баллов.

Whois показывает, что это блокирует этот диапазон, и вы его не получите. Если ваш брандмауэр поддерживает нотацию CIDR, одна строка ниже блокирует все.

NetRange:       151.101.0.0 - 151.101.255.255
CIDR:           151.101.0.0/16

Команда заблокировать доступ к этому диапазону IP:

iptables -I OUTPUT 1 -d 151.101.0.0/16 -j DROP

Вам нужно будет сохранить конфигурацию iptables, иначе при перезагрузке она будет потеряна. Я не знаю, есть ли у Ubuntu автоматическое средство для этого.

iptables-save ><somewhere>/iptables.save
iptables-restore <<somewhere>/iptables.save

если вы используете systemd, создайте файл с именем iptables.service в / И т.д. / Systemd / система /

[Unit]
Description=IPtables load rules
DefaultDependencies=no
After=ipset.service network-pre.target
Before=network-online.target network.target

[Service]
Type=oneshot
ExecStartPre=-/bin/echo 'Starting iptables'
ExecStart=/usr/sbin/iptables-restore <somewhere>/iptables.save
ExecReload=/usr/sbin/iptables-restore <somewhere>/iptables.save
ExecStop=/usr/lib/systemd/scripts/iptables -flush
RemainAfterExit=yes
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW

[Install]
WantedBy=basic.target

тогда Включить systemptl iptables


6
2017-07-03 17:21



Даже после выполнения iptables -I INPUT 1 -d 151.101.0.0/16 -j DROP, Я все еще могу получить доступ к StackOverflow. - Anmol Singh Jaggi
Потеряв время, я имел в виду проверку случайных вопросов из Горячие сетевые вопросы без каких-либо намерений отвечать на них. И я трачу большую часть времени на StackOverflow, а не на SuperUser. - Anmol Singh Jaggi
Возможно, вам также понадобится это: iptables -I FORWARD 1 -d 151.101.0.0/16 -J DROP и измените INPUT на OUTPUT в предыдущем правиле. - cybernard
Он работает с OUTPUT; FORWARDодин из них избыточен. - Anmol Singh Jaggi
Кроме того, можете ли вы объяснить, как именно вы нашли ip-диапазон 151.101.0.0/16? - Anmol Singh Jaggi