LinuxForum.Fans
Тема

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

Автор: dimonshef11 95 сообщений 28389 просмотров
#167963

--=XliN=--, я выше уже сказал - не нужно это всё iptables сам преобразовывает имена в ip - так что все наши махинации с nslookup не нужны.

#167972
newzenon написал:
я выше уже сказал - не нужно это всё iptables сам преобразовывает имена в ip - так что все наши махинации с nslookup не нужны.

Я это понял. Тоже проверял. Просто мне так удобнее и если по чесноку интереснее. :D

#167977

iptables -F check_ip не вижу

#167984
Kettler написал:
iptables -F check_ip не вижу

Он есть. Методом тыка выявил место ошибки. Проблема в блоке

[console]if [ -f $BLACKLIST ]; then
while read line
do
nslookup ${line} >> /tmp/nslookup.tmp;
done < $BLACKLIST
fi
awk '/Address:/ {if($2=="192.168.1.77#53"){} else{print $2 > "/var/blacklist.ip" }}' /tmp/nslookup.tmp[/console]
Он в nslookup.tmp запихивает все по нескольку раз.

#168089
--=XliN=-- написал:
Он в nslookup.tmp запихивает все по нескольку раз.

перед while допишите

text
: > $BLACKLIST
#168288

Сорри что лезу со своими скриптами, но все же.
Т.к. iptables cам умеет по доменному имени узнавать IP, то скрипт станет еще проще.

Создается файл с урлами тех кого дропаем.
[console]
[root@ldap]# cat /var/blacklist.url
vk.com
facebook.com
vkontakte.ru
odnoklassniki.ru
xhamster.com[/console]

И собственно сам скрипт

text
#!/bin/bash
lan="192.168.3.0/24"
inet="ppp0"
BLACKLIST="/var/blacklist.url"

if [ ! -z "`iptables -n -L | grep -i "chain check_ip"`" ]; then 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.3.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 else echo "Файла $BLACKLIST не существует!!" fi else echo "Цепочка check_ip не создана" iptables -N check_ip fi

И попутно вопрос, т.к. с башем только начал осваиваться.
Как в блоке

text
else
    echo "Цепочка check_ip не создана"
    iptables -N check_ip

сделать так, что было так: после проверки на наличие цепочки и выявления что ее нет, скрипт ее создает но в и выходит потом сразу. Как его заставить еще раз отработать? Типа гото нужно ))

#168293

Проще как-то так:

text
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.3.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

По if http://eddnet.org/?p=1311

#168296

Все... разобрался. :D Очень даже удобно для блокировки соц сетей и всяких трекеров.

#306089

Извините за офф - касперский у меня до сих-пор блокирует вконтакте, однокласники - почему. Касперский хоть не на никсах сделанный? Сорь за офф.

#306324
neogotlic написал:
Извините за офф - касперский у меня до сих-пор блокирует вконтакте, однокласники - почему. Касперский хоть не на никсах сделанный? Сорь за офф.

каспер тут не каким боком\

#306328
Kettler написал:
[quote=neogotlic]Извините за офф - касперский у меня до сих-пор блокирует вконтакте, однокласники - почему. Касперский хоть не на никсах сделанный? Сорь за офф.

каспер тут не каким боком\[/quote]


Ессно. В системе малварь, атакующая соцсети. Гигиена не на высоте!

#339824
zenon написал:

Вот такие правила создаются с присутствием только одной строчки:
text
iptables -t nat -A PREROUTING -d vkontakte.ru -j DNAT --to-destination 127.0.0.1

[console]-A PREROUTING -d 87.240.188.254/32 -j DNAT --to-destination 127.0.0.1
-A PREROUTING -d 93.186.224.240/32 -j DNAT --to-destination 127.0.0.1
-A PREROUTING -d 93.186.224.241/32 -j DNAT --to-destination 127.0.0.1
-A PREROUTING -d 93.186.224.242/32 -j DNAT --to-destination 127.0.0.1
-A PREROUTING -d 93.186.224.243/32 -j DNAT --to-destination 127.0.0.1
-A PREROUTING -d 87.240.188.249/32 -j DNAT --to-destination 127.0.0.1
-A PREROUTING -d 87.240.188.250/32 -j DNAT --to-destination 127.0.0.1
-A PREROUTING -d 87.240.188.252/32 -j DNAT --to-destination 127.0.0.1 [/console]

эм вот мне 1 не понятно почему применяется критерий -d и DNAT с таблицей NAT, вместо таблицы FILTER ? *SCRATCH*
не я конечно наверно полный идиот но реально мне не понятно *CRAZY*

#339831
"lone_wolf" написал:
эм вот мне 1 не понятно почему применяется критерий -d и DNAT с таблицей NAT, вместо таблицы FILTER ?

Честно говоря уже не помню что тут происходило, и в каком контексте это было...

#339834
zenon написал:
[quote="lone_wolf"]эм вот мне 1 не понятно почему применяется критерий -d и DNAT с таблицей NAT, вместо таблицы FILTER ?

Честно говоря уже не помню что тут происходило, и в каком контексте это было...[/quote]
да я тут решил немного освежить знания и полез в русcкий туториал на opennet и понял что я протупил не слабо оказывается можно так :[

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