serveum 0 Опубликовано: 2008-10-05 11:07:09 Share Опубликовано: 2008-10-05 11:07:09 Такая ситуация, есть сервак на freebsd, в нем 3 сетевухи(1-адсл, 2-локал провайдер с анлим ua-ix, 3-локалка с абонами) цель-скрипт который бы выкачивал с инета список ua-ix сетей и делал обновление в правила stg + роутинг + в ipfw для анлимных абонов тоже изменял(необходимо исключать сети, т.е. если абон работает на 512 кб/с анлим пакете, доступ к ua-ix нада чтоб был 100мбит). Эта задача реальна? Ссылка на сообщение Поделиться на других сайтах
_Om_ 0 Опубліковано: 2008-10-05 15:39:48 Share Опубліковано: 2008-10-05 15:39:48 запускаем по крону cat uaix #!/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://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; } print (FD "ALL 192.168.2.0/24 DIR0\n"); ваша локал сеть foreach $ip (@uaix){ print (FD "ALL $ip DIR1\n"); Украина } print (FD "ALL 0.0.0.0/0 DIR2\n"); все остальное system ("/usr/bin/killall -1 stargazer"); Ссылка на сообщение Поделиться на других сайтах
serveum 0 Опубліковано: 2008-10-05 19:33:16 Автор Share Опубліковано: 2008-10-05 19:33:16 Спасибо, хочу попросить расписать хоть немного что какая команда делает, вдруг не заработает хоть буду понимать где нада исправить Ссылка на сообщение Поделиться на других сайтах
serveum 0 Опубліковано: 2008-10-05 19:41:39 Автор Share Опубліковано: 2008-10-05 19:41:39 Вот мой скрипт на таблицу для фаервола, что необходимо изменить для того чтоб файл с инета обновлялся, например с сайта http://colocall.net/ua/prefixes.txt Ссылка на сообщение Поделиться на других сайтах
serveum 0 Опубліковано: 2008-10-05 19:41:55 Автор Share Опубліковано: 2008-10-05 19:41:55 #!/bin/sh ipfw table 1 flush cat /usr/local/etc/uaix/ua-list.txt | while read T1; do ipfw table 1 add ${T1} done Ссылка на сообщение Поделиться на других сайтах
serveum 0 Опубліковано: 2008-10-06 20:04:41 Автор Share Опубліковано: 2008-10-06 20:04:41 запускаем по крону cat uaix #!/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://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; } print (FD "ALL 192.168.2.0/24 DIR0\n"); ваша локал сеть foreach $ip (@uaix){ print (FD "ALL $ip DIR1\n"); Украина } print (FD "ALL 0.0.0.0/0 DIR2\n"); все остальное system ("/usr/bin/killall -1 stargazer"); К сожалению не работает ваш скрипт, что только не пробовал менять у меня начинается скрипты с #!/bin/sh папка к правилам /usr/local/stargazer/etc/rules менял не помогло погите кто нить с идеями, только немножко расписав, уровень в программировании не велик Ссылка на сообщение Поделиться на других сайтах
_Om_ 0 Опубліковано: 2008-10-06 22:36:48 Share Опубліковано: 2008-10-06 22:36:48 Скрипт написан не на баше а на перле возможно что-то нехватает у вас Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас