Запись опубликована
frizze.org в в эфире .. You can comment here or
there.
Ибо на работе «Планктонн должен работать»
Бум социальных пошел, руководители предприятий ставят админам задачи закрывать некоторые ресурсы. Проблема состоит в том, что vkontakte.ru использует около 120 - 150 IP адресов и прописывать их ручками совершенно ни к чему.
«космонавты не ходят к врачу !!!»
Скриптик для линухового шлюза …
#!/bin/bash
lan=“192.168.100.0/24″
inet=“ppp0″
BLACKLIST=“/var/blacklist.url”
if [ -z "`iptables -n -L | grep -i "chain check_ip"`" ]; then iptables -N check_ip;fi
if [ -f $BLACKLIST ];
then
iptables -F check_ip;
iptables -I FORWARD 1 -s $lan -o $inet -j check_ip
iptables -A check_ip -s 192.168.100.254 -o ppp0 -j ACCEPT
cat $BLACKLIST | while read line
do
echo -e “${line}”
iptables -A check_ip -d “${line}” -j DROP
done
iptables -A check_ip -j RETURN
fi
----------------------
Создается цепочка check_ip в которую загоняется трафик с переменной $lan. Потом из файла blacklist.url берутся имена сайтов и прописывается DROP. В цикле считывается каждая строяка и iptables добавляет не один IP, а несколько. Т.е. те которые привязаны к домену. Аналогично выводу nslookup vk.ru например.
Так же видно, что 192.168.100.254 не дропается. (оставим се любимым )
[root@frizze-vps-gw1 ~]# cat /var/blacklist.url
odnoklassniki.ru
vk.com
facebook.com
vkontakte.ru
xhamster.com
my.mail.ru
rutracker.org
nnm-club.ru
riper.am
free-torrents.org
lostfilm.tv
rutor.org
rutube.ru
youtube.com