LinuxForum.Fans
Тема

блокировка ВКонтакте

Автор: dimonshef11 95 сообщений 28385 просмотров
#166100
mdma написал:
ну вообще да, промахнулся немного.... По ссылкитам про винду написано

это без разницы. Если ребёнок не знает пароль Администратора в венде, то он точно также не может изменить /etc/hosts (правда в венде расстраивает то, что ребёнок может и спалить папу, если туда посмотрит. Нагуглить этот файл в линуксе несколько сложнее (и кстати, пользуясь iptables, можно завернуть трафик и незаметно).

#167128

Такую вот штуку попробовал:
Для шлюза:

text
iptables -t nat -A PREROUTING -d vkontakte.ru -j DNAT --to-destination 127.0.0.1

Файло /var/blacklist.url

text

vkontakte.ru
vk.ru
odnoklassniki.ru
text

if [ -f /var/blacklist.url ] ;
then
    # удаляем все пробелы, табуляцию и пустые строки
    cat < /var/blacklist.url | sed 's/^[ \t]*//;s/[ \t]*$//;/./!d' > /tmp/blacklist.url.tmp
    rm /var/blacklist.url
    mv /tmp/blacklist.url.tmp /var/blacklist.url
    cat /var/blacklist.url | while read line
do
    echo "${line}"
    iptables -t nat -A PREROUTING -d ${line} -j DNAT --to-destination 127.0.0.1
done

Вконтакт - заблокировался, одноклассники почему -то не хотят... надо списочек пополнять...

#167134

newzenon, а так:

text
BLACKLIST="/var/blacklist.url"

if [ -f $BLACKLIST ]; then # удаляем все пробелы, табуляцию и пустые строки sed -i ' s/^[ \t]*// s/[ \t]*$// /./!d ' $BLACKLIST while read line do echo "${line}" # iptables -t nat -A PREROUTING -d ${line} -j DNAT --to-destination 127.0.0.1 done < $BLACKLIST fi

#167136

кстати - у меня не работает (ничего не блокируется, ни контак, ни однокласники). ЧЯДНТ?

#167140

Не уверен что это вообще работает правильно

iptables -t nat -A PREROUTING -d vkontakte.ru -j DNAT --to-destination 127.0.0.1

Было бы интересно сначала

xxx@xxx:~# nslookup vkontakte.ru

Server: 192.168.35.3
Address: 192.168.35.3#53

text
Non-authoritative answer:
Name:   vkontakte.ru
Address: 93.186.224.243
Name:   vkontakte.ru
Address: 87.240.188.249
Name:   vkontakte.ru
Address: 87.240.188.250
Name:   vkontakte.ru
Address: 87.240.188.252
Name:   vkontakte.ru
Address: 87.240.188.254
Name:   vkontakte.ru
Address: 93.186.224.240
Name:   vkontakte.ru
Address: 93.186.224.241
Name:   vkontakte.ru
Address: 93.186.224.242

Парсить вывод

и ип подставлять в -d $ip

Может DrBatty поможет и не забросим такую схему.

#167143

Эмм на шлюзе всё работать будет а вот до тех кому этот шлюз натит - не дойдёт.
После применения

text
iptables -t nat -A PREROUTING -d vkontakte.ru -j DNAT --to-destination 127.0.0.1

смотреть:

text
iptables-save

там преобразованные в ip адреса будут

#167144
Kettler написал:
Не уверен что это вообще работает правильно

это вообще никак не работает :(

#167145
newzenon написал:
Эмм на шлюзе всё работать будет а вот до тех кому этот шлюз натит - не дойдёт.
После применения
text
iptables -t nat -A PREROUTING -d vkontakte.ru -j DNAT --to-destination 127.0.0.1

смотреть:

text
iptables-save

там преобразованные в ip адреса будут

Тогда смысла нету в PREROUTING лучше в OUTPUT.
Да и iptables не актив работаем с именами.

#167146

drBatty, у меня работает - не надо тучи нагонять.

#167148

Да если даже и работает хрень это. Надо что то серьёзнее.

#167149

Kettler, с OUTPUT пробовал по-всякому - фиг вам, попробуй сам в цикл правило добавь - она хавает из файло и применяет ко всем там указанным...
пробовал вот так:

text
iptables -A INPUT  -m string --string "$line" --algo kmp --to 65535 -j DROP
iptables -A FORWARD -m string --string "$line" --algo kmp --to 65535 -j DROP
iptables -A OUTPUT -m string --string "$line" --algo kmp --to 65535 -j DROP

не работает.

#167150

Щас нету смысла для меня с этим.

#167151
Kettler написал:
Да если даже и работает хрень это. Надо что то серьёзнее.

Ну так предлагай. Например как с помощью bind9 это провернуть.

#167154
Kettler написал:
Надо что то серьёзнее.

Серьёзнее только ремень wink

#167155
Dimaty написал:
[quote=Kettler]Надо что то серьёзнее.

Серьёзнее только ремень wink[/quote]
Угу по тётькам которые тебе в мамки годятся.

#167160
Kettler написал:
Угу по тётькам которые тебе в мамки годятся.

:lol: :lol: :lol:
Но в данном то случае речь идёт о ребёнке :D

#167162
Dimaty написал:
[quote=Kettler]Угу по тётькам которые тебе в мамки годятся.

:lol: :lol: :lol:
Но в данном то случае речь идёт о ребёнке :D[/quote]
2 ответ точто надо тогда.

#167166
Kettler написал:
Может DrBatty поможет и не забросим такую схему.

без проблем. Имеем

text
# cat vk.txt 
Server:        192.168.1.1
Address:    192.168.1.1#53

Non-authoritative answer: Name: vkontakte.ru Address: 93.186.224.240 Name: vkontakte.ru Address: 93.186.224.241 Name: vkontakte.ru Address: 93.186.224.242 Name: vkontakte.ru Address: 93.186.224.243 Name: vkontakte.ru Address: 87.240.188.249 Name: vkontakte.ru Address: 87.240.188.250 Name: vkontakte.ru Address: 87.240.188.252 Name: vkontakte.ru Address: 87.240.188.254

Выполняем

text
# X=`sed -rn '1,/^$/d;/^Address:\s+/s///p' vk.txt `

а потом

text
A=( $X )

всё.

text
# i=0; while [ "${A[$i]}" ]; do echo "${A[i]}"; (( i++ )); done
93.186.224.240
93.186.224.241
93.186.224.242
93.186.224.243
87.240.188.249
87.240.188.250
87.240.188.252
87.240.188.254

т.е. обычный массив с нужными ipшниками

#167182

drBatty, Это короче что получается: nslookup в цикле натравливаем на blacklist.url - дальше прикручиваем твой парсер - чтобф в итоге получить blacklist.ip - файло со списком IP для блокировки.
Ну и потом загоняем в цепочку для iptables.
Вроде красиво должно получиться.... wink
Правда манипуляций не многовато?
ы. - ну и в cron всю конструкцию.

Войдите или зарегистрируйтесь, чтобы ответить.