LINUX.ORG.RU

История изменений

Исправление julixs, (текущая версия) :

Ну доступ по http думаю заблокировать не проблема.
А с https я например поступил так:

# Below are the autonomus system (AS) numbers for some social networks
# AS32934 -- facebook.com
# AS47541 AS47542  -- vk.com
# AS49988 -- ok.ru
# AS47652 -- sj.ru
# AS47724 -- hh.ru
# AS19679 -- dropbox.com
AS_TO_BAN="AS32934 AS47541 AS47542 AS49988 AS47652 AS47724"

#Exceptions for some privilegied users
SOCIAL_ALLOW_IPs=""
#SOCIAL_ALLOW_MACs=""

echo ""
echo "Block Social sites"

$IPT -F SOCIAL

# Allow social for some user by their IPs
for userip in $SOCIAL_ALLOW_IPs; do
  $IPT -A SOCIAL -s $userip -j ACCEPT
done

# Allow social for some user by their MACs
#for mac in $SOCIAL_ALLOW_MACs; do
#  $IPT -A SOCIAL -m mac --mac-source $mac -j ACCEPT
#done

# Block for others
$IPT -A SOCIAL -j DROP

## Here, we collect all ip-ranges and block access via HTTPS
for as in $AS_TO_BAN; do
    for ip in `whois -h whois.radb.net "!g$as" | grep /`
    do
      $IPT -A FORWARD -i eth1 -p tcp -d $ip -j SOCIAL
    done
done

exit 0


Через сервис whois определяется список ip-адресов автономной системы и блокируется iptables.

Для чего строки SOCIAL_ALLOW_IPs="" и #SOCIAL_ALLOW_MACs="" думаю понятно.

По рекламе - часть режется сквидом, ну а что сквид не может пока дополнениями в браузере. Руки не как не дойдут сквид под https пересобрать.

Исходная версия julixs, :

Ну доступ по http думаю заблокировать не проблема.
А с https я например поступил так:

# Below are the autonomus system (AS) numbers for some social networks
# AS32934 -- facebook.com
# AS47541 AS47542  -- vk.com
# AS49988 -- ok.ru
# AS47652 -- sj.ru
# AS47724 -- hh.ru
# AS19679 -- dropbox.com
AS_TO_BAN="AS32934 AS47541 AS47542 AS49988 AS47652 AS47724"

#Exceptions for some privilegied users
SOCIAL_ALLOW_IPs=""
#SOCIAL_ALLOW_MACs=""

echo ""
echo "Block Social sites"

$IPT -F SOCIAL

# Allow social for some user by their IPs
for userip in $SOCIAL_ALLOW_IPs; do
  $IPT -A SOCIAL -s $userip -j ACCEPT
done

# Allow social for some user by their MACs
#for mac in $SOCIAL_ALLOW_MACs; do
#  $IPT -A SOCIAL -m mac --mac-source $mac -j ACCEPT
#done

# Block for others
$IPT -A SOCIAL -j DROP

## Here, we collect all ip-ranges and block access via HTTPS
for as in $AS_TO_BAN; do
    for ip in `whois -h whois.radb.net "!g$as" | grep /`
    do
      $IPT -A FORWARD -i eth1 -p tcp -d $ip -j SOCIAL
    done
done

exit 0


Через сервис whois определяется список ip-адресов автономной системы и блокируется iptables.

Для чего строки SOCIAL_ALLOW_IPs="" и #SOCIAL_ALLOW_MACs="" думаю понятно.