Questão Bloqueio de troca de pilha


Eu quero bloquear todos os sites na rede stackexchange (como eu costumo perder muito tempo com eles). Como eu posso fazer isso?

Uma solução é, obviamente, gravar manualmente todas as entradas dos sites no arquivo hosts, mas existe uma solução melhor?

Note que apenas bloqueando o regex *.stackexchange.com não vai funcionar como muitos sites têm nomes exclusivos como superuser e askubuntu.

Eu estou usando o Ubuntu 16.04.

Editar:

Eu publiquei esta questão aqui para não aprender o autocontrole, mas porque estou genuinamente curioso sobre sua viabilidade técnica.

Por favor, escreva o motivo das downvotes nos comentários para que eu possa agir sobre isso!


2


origem


Eu sinto que eu não deveria responder isso no principal - Keltari
Você está dizendo que todo último site de SE é irresistível, e se você simplesmente bloquear todos eles, você não encontrará outros sites por aí para satisfazer seu vício? Eu não sei, parece um problema XY para mim. :-) - fixer1234
Como você obviamente fez esta pergunta sob um pseudônimo, por favor poste seu nome e senha. O problema vai se resolver em pouco tempo. - dxiv
Você poderia sempre apenas excluir todas as suas contas - Mokubai♦
Você está tentando resolver um problema de pessoas com a tecnologia. Geralmente isso não funciona bem. - Bob


Respostas:


Primeiro, um aparte, gastar tempo aqui no stackexchange é dificilmente perder tempo. Ou você está recebendo respostas para as perguntas que você faz ou ajudando um outro usuário. Nem educar a si mesmo nem ajudar seu companheiro homem / mulher é considerado tempo desperdiçado por alguém que conheço.

Em segundo lugar, com uma reputação de 121, duvido que você tenha passado uma facção do tempo aqui como eu tenho com uma recompensa de 5000 e contando.

Whois revela isso, então bloqueie esse alcance e você não conseguirá. Se o seu firewall suportar a notação CIDR, uma única linha abaixo bloqueará tudo.

NetRange:       151.101.0.0 - 151.101.255.255
CIDR:           151.101.0.0/16

Comando para bloquear o acesso a este intervalo de IP:

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

Você terá que salvar a configuração do iptables, caso contrário, quando você reiniciar, ele será perdido. Eu não sei se o Ubuntu tem uma instalação automática para isso.

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

Se estiver usando o systemd, crie um arquivo chamado iptables.service / etc / systemd / system /

[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

então systemctl habilitar iptables


6



Mesmo depois de executar iptables -I INPUT 1 -d 151.101.0.0/16 -j DROPAinda consigo acessar o StackOverflow. - Anmol Singh Jaggi
Perdendo tempo, eu quis dizer verificando perguntas aleatórias do Perguntas frequentes sobre redes alimentar sem qualquer intenção de respondê-las. E passo a maior parte do tempo no StackOverflow em vez de no SuperUser. - Anmol Singh Jaggi
Você provavelmente precisará disso também: iptables -I FORWARD 1 -d 151.101.0.0/16 -J DROP e altere INPUT para OUTPUT, na regra anterior. - cybernard
Está trabalhando com OUTPUT; a FORWARDum é redundante. - Anmol Singh Jaggi
Além disso, você pode por favor explicar exatamente como você encontrou o intervalo de ip 151.101.0.0/16? - Anmol Singh Jaggi