Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ##BLOQUEIO DO FACEBOOK
- 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"
- usage() {
- echo "Usage: $0 <libera|bloqueia>
- Libera ou bloqueia o acesso ao Facebook através de regras no iptables
- "
- exit 1
- }
- [ -z "$1" ] && usage
- op="$1"
- if [ "$op" != "libera" -a "$op" != "bloqueia" ]; then
- echo "Erro: operacao invalida. Use libera ou bloqueia." 1>&2
- exit 1
- elif [ "$op" == "libera" ]; then
- if ! iptables -nvL FACEBOOK &>/dev/null; then
- echo "Ja está liberado." 1>&2
- exit 1
- fi
- echo Liberando
- iptables -F FACEBOOK
- exit $?
- fi
- # a partir daqui a operação é bloqueia
- echo "Bloqueando"
- 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
- # cria a 'chain' FACEBOOK apenas se ainda nao existir
- # e apenas adiciona as regras ao FORWARD apenas uma vez
- if ! iptables -nvL FACEBOOK &>/dev/null; then
- iptables -N FACEBOOK
- ## FACEBOOK DENY
- for face in $FACEBOOK_IP_RANGE; do
- iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $face --dport 443 -j FACEBOOK
- iptables -I FORWARD -m tcp -p tcp -m iprange --dst-range $face --dport 80 -j FACEBOOK
- done
- else
- # chain FACEBOOK ja existe. Vamos apenas limpa-la
- iptables -F FACEBOOK
- fi
- FACEBOOK_ALLOW="$permitidos" #MSR_LIBERADO #Aqui libera os permitidos.
- for MSR_LIBERADO in $FACEBOOK_ALLOW; do
- iptables -I FACEBOOK -s $MSR_LIBERADO -j ACCEPT
- done
- iptables -A FACEBOOK -j REJECT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement