Bloqueando Facebook com IPtables (de forma fácil, intuitiva e eficiente)
Dica publicada em Shell Script / Avançado
Bloqueando Facebook com IPtables (de forma fácil, intuitiva e eficiente)
Olá, pessoal!
Pela coleção de scripts que vejo na Net, uns que funcionam, outros que ficam (erradamente) bloqueando também outros sites (como o Gmail) e, cuja função é só de realizar o bloqueio de Facebook com IPtables, resolvi deixar minha contribuição à comunidade com um script muito eficiente que montei.
Baseado em um código IPtables que vi no Brazilfw:
Obs.: segue abaixo, a lista de sub-redes para colocar no arquivo facebook.txt:
Segue abaixo, um exemplo dos IPs do arquivo ips_accept.txt:
Espero que tenham gostado!
Quaisquer dúvidas, críticas ou sugestões, podem postar!
Abraços.
Pela coleção de scripts que vejo na Net, uns que funcionam, outros que ficam (erradamente) bloqueando também outros sites (como o Gmail) e, cuja função é só de realizar o bloqueio de Facebook com IPtables, resolvi deixar minha contribuição à comunidade com um script muito eficiente que montei.
Baseado em um código IPtables que vi no Brazilfw:
#Lista de IPs liberados para acessar o Facebook
IPS_ACCEPT=$(cat /home/scripts/ips_accept.txt)
#Sub-rede interna do ambiente em questão
REDE_INTERNA="192.168.0.0/24"
#Criando nova regra FACEBOOK
iptables -N FACEBOOK
#Transferindo todo tráfego fonte da rede interna para a regra FACEBOOK
iptables -I FORWARD -s $REDE_INTERNA -j FACEBOOK
#Percorre o arquivo dos IPs do Facebook (facebook.txt) e vai colocando REJECT em todos os IPs da rede interna, exceto os liberados.
for i in `cat /home/scripts/facebook.txt`; do
#O acesso dos IPs (que caíram na regra FACEBOOK) ao Facebook vai ser rejeitado
iptables -A FACEBOOK -d $i -j REJECT
#Percorre lista de IPs liberados e vai colocando ACCEPT neles
for liberados in $IPS_ACCEPT; do
iptables -I FORWARD -s $liberados -d $i -j ACCEPT
done
done
IPS_ACCEPT=$(cat /home/scripts/ips_accept.txt)
#Sub-rede interna do ambiente em questão
REDE_INTERNA="192.168.0.0/24"
#Criando nova regra FACEBOOK
iptables -N FACEBOOK
#Transferindo todo tráfego fonte da rede interna para a regra FACEBOOK
iptables -I FORWARD -s $REDE_INTERNA -j FACEBOOK
#Percorre o arquivo dos IPs do Facebook (facebook.txt) e vai colocando REJECT em todos os IPs da rede interna, exceto os liberados.
for i in `cat /home/scripts/facebook.txt`; do
#O acesso dos IPs (que caíram na regra FACEBOOK) ao Facebook vai ser rejeitado
iptables -A FACEBOOK -d $i -j REJECT
#Percorre lista de IPs liberados e vai colocando ACCEPT neles
for liberados in $IPS_ACCEPT; do
iptables -I FORWARD -s $liberados -d $i -j ACCEPT
done
done
Obs.: segue abaixo, a lista de sub-redes para colocar no arquivo facebook.txt:
- 65.201.208.24/29
- 65.204.104.128/28
- 66.93.78.176/29
- 66.92.180.48/28
- 67.200.105.48/30
- 69.63.176.0/20
- 69.171.224.0/19
- 74.119.76.0/22
- 204.15.20.0/22
- 204.15.20.0/22
- 66.220.144.0/20
- 173.252.64.0/18
- 65.201.208.24/29
- 65.204.104.128/28
- 66.93.78.176/29
- 66.92.180.48/28
- 67.200.105.48/30
- 69.63.176.0/20
- 69.171.224.0/19
- 74.119.76.0/22
- 204.15.20.0/22
- 204.15.20.0/22
- 66.220.144.0/20
- 173.252.64.0/18
- 31.13.24.0/21
- 31.13.64.0/18
- 66.220.144.0/20
- 69.63.176.0/20
- 69.171.224.0/19
- 74.119.76.0/22
- 103.4.96.0/22
- 173.252.64.0/18
- 204.15.20.0/22
Segue abaixo, um exemplo dos IPs do arquivo ips_accept.txt:
- 192.168.0.84
- 192.168.0.30
- 192.168.0.35
- 192.168.0.156
- 192.168.0.78
Espero que tenham gostado!
Quaisquer dúvidas, críticas ou sugestões, podem postar!
Abraços.
whois -h whois.radb.net '!gAS32934' | tr ' ' '\n' | grep ^[0-9] > facebook.ip
for i in $(cat facebook.ip); do route add -net $i reject; done