Advertisement
Guest User

Com horario fora da lógica

a guest
Feb 20th, 2013
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.81 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ##BLOQUEIO DO FACEBOOK
  4. FACEBOOK_IP_RANGE="31.13.64.0-31.13.127.255 31.13.24.0-31.13.31.255 74.119.76.0-74.119.79.255 69.63.176.0-69.63.191.255 69.171.224.0-69.171.255.255 66.220.144.0-66.220.159.255 204.15.20.0-204.15.23.255 173.252.64.0-173.252.127.255"
  5.  
  6. usage() {
  7.   echo "Usage: $0 <libera|bloqueia>
  8.  
  9. Libera ou bloqueia o acesso ao Facebook através de regras no iptables
  10. "
  11.   exit 1
  12. }
  13.  
  14. [ -z "$1" ] && usage
  15.  
  16. op="$1"
  17.  
  18. if [ "$op" != "libera" -a "$op" != "bloqueia" ]; then
  19.   echo "Erro: operacao invalida. Use libera ou bloqueia." 1>&2
  20.   exit 1
  21. elif [ "$op" == "libera" ]; then
  22.   if ! iptables -nvL FACEBOOK &>/dev/null; then
  23.     echo "Ja está liberado." 1>&2
  24.     exit 1
  25.   fi
  26.  
  27.   echo Liberando
  28.   iptables -F FACEBOOK
  29.   exit $?
  30. fi
  31.  
  32. # a partir daqui a operação é bloqueia
  33.  
  34. echo "Bloqueando"
  35.  
  36. permitidos=$(egrep -v "(^#|^$)" /etc/squid/acessototal)  #Aqui ele lê a lista de IPs que possuem acesso ao Facebook, independentemente do horário, como existem linhas comentadas nesta lista com o nome do dono do IP, esse comando ignora essas linhas listando apenas os IPs
  37.  
  38. # cria a 'chain' FACEBOOK apenas se ainda nao existir
  39. # e apenas adiciona as regras ao FORWARD apenas uma vez
  40. if ! iptables -nvL FACEBOOK &>/dev/null; then
  41.   iptables -N FACEBOOK
  42.  
  43.   ## FACEBOOK DENY
  44.   for face in $FACEBOOK_IP_RANGE; do
  45.     iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $face --dport 443 -j FACEBOOK
  46.     iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $face --dport 80 -j FACEBOOK
  47.   done
  48. else
  49.   # chain FACEBOOK ja existe. Vamos apenas limpa-la
  50.   iptables -F FACEBOOK
  51. fi
  52.  
  53. FACEBOOK_ALLOW="$permitidos" #MSR_LIBERADO  #Aqui libera os permitidos.
  54.  
  55. for MSR_LIBERADO in $FACEBOOK_ALLOW; do
  56.     iptables -I FACEBOOK -s $MSR_LIBERADO -j ACCEPT
  57. done
  58.  
  59. iptables -A FACEBOOK -j REJECT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement