Erastik 0 Опубликовано: 2007-08-07 08:36:55 Share Опубликовано: 2007-08-07 08:36:55 Добрый день! Подскажите а каким образом в СТГ отделить UA-X от мира? Ссылка на сообщение Поделиться на других сайтах
point 0 Опубліковано: 2007-08-07 10:22:23 Share Опубліковано: 2007-08-07 10:22:23 в рулисах в отдельное направление кинь а вообще поройся на форуме есть даже готовые скрипты для автоматизации Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-16 11:37:21 Автор Share Опубліковано: 2007-08-16 11:37:21 Я понимаю что надо отдельное направление, но как его определить вот в чем вопрос...? Ссылка на сообщение Поделиться на других сайтах
zulu_Radist 856 Опубліковано: 2007-08-16 11:38:40 Share Опубліковано: 2007-08-16 11:38:40 Я понимаю что надо отдельное направление, но как его определить вот в чем вопрос...? IP сети Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-16 12:30:15 Автор Share Опубліковано: 2007-08-16 12:30:15 Не поверете... Это я тоже понимаю :tongue: Какие группы ip адресов относятся к UA-IX.. Вот в чем вопрос то.. Ссылка на сообщение Поделиться на других сайтах
devchaos 1 Опубліковано: 2007-08-16 12:53:01 Share Опубліковано: 2007-08-16 12:53:01 Лучше всего уточнить у своего вышестоящего провайдера какие сети он относит к украинским но в большинстве своем подойдет http://noc.ix.net.ua/ua-list.txt Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-16 13:04:24 Автор Share Опубліковано: 2007-08-16 13:04:24 Т.е. если я опишу этот список в рурисах этого будет достаточно? Ссылка на сообщение Поделиться на других сайтах
Serjio 19 Опубліковано: 2007-08-16 13:07:52 Share Опубліковано: 2007-08-16 13:07:52 да Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-16 17:40:00 Автор Share Опубліковано: 2007-08-16 17:40:00 Взял за основу скрипт #!/usr/bin/perl # Update UA-IX network. use LWP; $file="/etc/stargazer/rules"; open(FD,">$file") or die "Error open file"; my $ua=LWP::UserAgent->new(); $ua->agent("PerlUA/0.1"); my $url="http://www.colocall.net/ua/prefixes.txt"; my $document=$ua->request(HTTP::Request->new(GET => $url)); if ($document->is_success){ open(FD,">$file") or die "Error open file"; $uaix=($document->content); @uaix = split /\n/,$uaix; }else{ print ("Error get UA-IX list"); exit; } foreach $ip (@uaix){ print (FD "ALL $ip DIR0\n"); } print (FD "ALL 0.0.0.0/0 DIR1\n"); system ("/usr/bin/killall -1 stargazer"); но он не загружается Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-16 18:41:24 Автор Share Опубліковано: 2007-08-16 18:41:24 Подскажите кто то тестировал этот скрипт?: #!/usr/bin/perl use Shell qw(ls); use Shell qw(mv); use Shell qw(wget); use Shell qw(cp); use Shell qw(cmp); use Shell qw(killall); $dir=ls("./ua-ix.txt"); if ($!) { $aft=TRUE; mv("./ua-ix.txt", "./ua-ix.old"); $file='ua-ix.txt'; $fileout='star-uaix'; open(FILE, "$file") or die "Can't open file: $!"; @nets=<FILE>; close FILE; open(FILEOUT, ">$fileout") or die "Can't open file: $!"; # В следующей строчек лок. сетки, пишите свои! print FILEOUT "ALL\t10.0.0.0/8\tNULL\n"; foreach $_ (@nets_loc) { chomp($_); if(/^\d/){ if(/\/\d\d$/){ $_=~s/\/32/\t/; print FILEOUT "ALL\t", $_,"\tNULL\n";} }} foreach $_ (@nets) { chomp($_); if(/^\d/){ if(/\/\d\d$/){ print FILEOUT "ALL\t", $_, "\tDIR2\n";} else {print FILEOUT "ALL\t", $_,"\/24","\tDIR2\n";} }} print FILEOUT "ALL\t255.255.255.255\tNULL\n"; print FILEOUT "ALL\t0.0.0.0/0\tDIR3\n"; close FILEOUT; $compare2=cmp("star-uaix", "rules"); if ($!) { $aft=TRUE; print "No change\n"; } else { #print "Have change\n"; mv("star-uaix", "rules"); killall ("-1", "stargazer"); } Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-17 07:05:42 Автор Share Опубліковано: 2007-08-17 07:05:42 Народ плз выложите кто-то рабочий скрипт который заносит в рулисы все сети... Заранее бесконечно благодарен.. Ссылка на сообщение Поделиться на других сайтах
karyon 48 Опубліковано: 2007-08-17 07:14:20 Share Опубліковано: 2007-08-17 07:14:20 #!/bin/sh PATH=/sbin:/bin:/usr/bin cd /etc/uaixwall wget http://www.colocall.net/ua/prefixes.txt -O prefixes2.txt LINES_C=`cat /etc/uaixwall/prefixes2.txt|wc -l` if [ "$LINES_C" -ge 500 ] then mv prefixes2.txt prefixes.txt else echo "\nCan't load prefixes from colocall. Didn't modify UA-IX rules\n" exit fi IPFILE=/etc/uaixwall/prefixes.txt ############# echo "ALL 192.168.0.0/16 DIR2" >/etc/stargazer/rules echo "ALL 10.0.0.0/8 DIR2">>/etc/stargazer/rules grep -e "^[0-9]" $IPFILE | awk '{ if (index($0,"/")==0) { print $0"/24" } else { print $0 } }' | while read ip; do if [ $ip <> NULL ] then echo "ALL $ip DIR1" >>/etc/stargazer/rules fi done echo "ALL 0.0.0.0/0 DIR0" >>/etc/stargazer/rules /etc/init.d/stargazer reload ----------------------------------------------------- Должен работать.. Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-17 08:17:58 Автор Share Опубліковано: 2007-08-17 08:17:58 #!/bin/shPATH=/sbin:/bin:/usr/bin cd /etc/uaixwall wget http://www.colocall.net/ua/prefixes.txt -O prefixes2.txt LINES_C=`cat /etc/uaixwall/prefixes2.txt|wc -l` if [ "$LINES_C" -ge 500 ] then mv prefixes2.txt prefixes.txt else echo "\nCan't load prefixes from colocall. Didn't modify UA-IX rules\n" exit fi IPFILE=/etc/uaixwall/prefixes.txt ############# echo "ALL 192.168.0.0/16 DIR2" >/etc/stargazer/rules echo "ALL 10.0.0.0/8 DIR2">>/etc/stargazer/rules grep -e "^[0-9]" $IPFILE | awk '{ if (index($0,"/")==0) { print $0"/24" } else { print $0 } }' | while read ip; do if [ $ip <> NULL ] then echo "ALL $ip DIR1" >>/etc/stargazer/rules fi done echo "ALL 0.0.0.0/0 DIR0" >>/etc/stargazer/rules /etc/init.d/stargazer reload ----------------------------------------------------- Должен работать.. Ок. Спасибо буду пробывать.. Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-17 18:31:45 Автор Share Опубліковано: 2007-08-17 18:31:45 Заработало!!! Спасибо! Но я его ненмного упростил, а то нехотел работать... Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-17 18:39:36 Автор Share Опубліковано: 2007-08-17 18:39:36 Толь как лучше сделать что бы он перед тем как заносить правила в рулисы он отчищал файл рулес?? А то он вс слоями накладывает.. Если я буду создавать новый файл к примеру rules2 все заносить туда, а потом что то вроде: mv rules2 rules Это будет корректно? Ссылка на сообщение Поделиться на других сайтах
karyon 48 Опубліковано: 2007-08-17 20:37:28 Share Опубліковано: 2007-08-17 20:37:28 упрощать нужно с умом echo "ALL 192.168.0.0/16 DIR2" >/etc/stargazer/rules echo "ALL 10.0.0.0/8 DIR2">>/etc/stargazer/rules в первой строчке echo "ALL 192.168.0.0/16 DIR2" >etc/stargazer/rules файл создается заново Ссылка на сообщение Поделиться на других сайтах
vop 370 Опубліковано: 2007-08-18 16:04:52 Share Опубліковано: 2007-08-18 16:04:52 Если я буду создавать новый файл к примеру rules2 все заносить туда, а потом что то вроде:mv rules2 rules Это будет корректно? Это будет более, чем корректно. Ссылка на сообщение Поделиться на других сайтах
Erastik 0 Опубліковано: 2007-08-18 17:57:12 Автор Share Опубліковано: 2007-08-18 17:57:12 Вот конечный результат скрипта, работает на 100 %, единственное что он не проверяет были ли изменения в файле со списком адресов, и постоянно его заменяет по новой.. #!/bin/sh PATH=/sbin:/bin:/usr/bin cd /etc/uaixwall fetch http://www.colocall.net/ua/prefixes.txt...####### echo "ALL 10.0.0.0/24 DIR2">>/etc/stargazer/rules2 grep -e "^[0-9]" $IPFILE | awk '{ if (index($0,"/")==0) { print $0"/24" } else { print $0 } }' | while read ip; do if [ $ip <> NULL ] then echo "ALL $ip DIR1" >>/etc/stargazer/rules2 fi done echo "ALL 0.0.0.0/0 DIR0" >>/etc/stargazer/rules2 mv /etc/stargazer/rules2 /etc/stargazer/rules /usr/sbin/stargazer /etc/stargazer/stargazer.conf reload Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас