Jump to content

UA_IX тарификация


Recommended Posts

Предполагаю, пользователи старгейзера уже сталкивались с задачем раздельной тарификации траффика по украине и миру..

Кто как этоделает?

Я предполагаю взять список сетей с колокола, пропустить через aggregate и результат как-товтолкнуть в rules старгейзеру.

Есть еще варианты?

Link to post
Share on other sites

Ещё теоретически можно сделать так - два тарифных плана: Украина и мир.

Фаерволом или интерфейсами добиться того, что у одного пользователя будет чисто Украина, а у другого чисто мир.

Но это уже извращение и я хз, кому это может понадобиться.

 

Больше вариантов нет, имхо.

Link to post
Share on other sites

Действительно, изврат какой-то :)

У меня даже не ставится задача использовать старгейзер в полной мере (т.е. рулить файрволлом для отключения/подключения)

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

Отсюда и вопрос возник, кто как разделяет эти системы сетей.

Как я понимаю, формат файла rules не поддерживает include, то есть, просто так подключить аггрегатированный список не получится?

Link to post
Share on other sites

Гм, а Вы по форуму шарили? Был скриптик получения, преобразования и впихивания в правила СГ, Den_LocalNet его автор. У меня запускается кроном, проблем не замечал...

Удачи!

Link to post
Share on other sites
Гм, а Вы по форуму шарили? Был скриптик получения, преобразования и впихивания в правила СГ, Den_LocalNet его автор. У меня запускается кроном, проблем не замечал...

Удачи!

Можно подробней?

По форуму шарил, скриптик нашел, но он вписывается в правила файервола, а не СГ

Или это оно же и есть?

Link to post
Share on other sites

Ну вобще-то было этих скриптов валом, в том числе и мой вариант на перле.

А вот недавно дописал я его, выкладываю, из него выкинуто лишнее, в таком варианте не тестировался, но по идее должно работать.

Прописать выполнение в крон, запускать рекомендую раз в час. Файл положить в директорию /etc/stargazer .

 

 

 

#!/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");

}

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...