Перейти до

Stg & Ua-ix


Рекомендованные сообщения

Такая ситуация, есть сервак на freebsd, в нем 3 сетевухи(1-адсл, 2-локал провайдер с анлим ua-ix, 3-локалка с абонами) цель-скрипт который бы выкачивал с инета список ua-ix сетей и делал обновление в правила stg + роутинг + в ipfw для анлимных абонов тоже изменял(необходимо исключать сети, т.е. если абон работает на 512 кб/с анлим пакете, доступ к ua-ix нада чтоб был 100мбит). Эта задача реальна?

Ссылка на сообщение
Поделиться на других сайтах

запускаем по крону

 

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");

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

Вот мой скрипт на таблицу для фаервола, что необходимо изменить для того чтоб файл с инета обновлялся, например с сайта http://colocall.net/ua/prefixes.txt

Ссылка на сообщение
Поделиться на других сайтах
запускаем по крону

 

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 менял не помогло

погите кто нить с идеями, только немножко расписав, уровень в программировании не велик

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...