Jump to content
Калькуляторы

Abram, только не $ipaddr != $nat_ipaddr, а $ipaddr ne $nat_ipaddr, это же строки.

Я тоже так подумал, но потом увидел ip2long.Я наркоман. Там же long2ip =).

Edited by Abram

Share this post


Link to post
Share on other sites

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

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

например в конфиге предопределяем классы трафика:

$cfg{class}{inet} = "/etc/isg/inet-network.lst";

$cfg{class}{russia} = "/etc/isg/ru-network.lst";

$cfg{class}{peer} = "/etc/isg/peer-network.lst";

 

соотвественно файлы:

/etc/isg/peer-network.lst: (соседи)

195.253.128.0/22

/etc/isg/ru-network.lst: (россия)

95.17.0.0/16

...длинный перечень

/etc/isg/inet-network.lst: (все остальное)

0.0.0.0/0

 

ну в авторизации передавать

Class := "inet(1024/1024)"

Class += "russia(16384/16384)"

Class += "peer(102400/102400)"

 

ну и при update/stop

 

несколько пакетов отправлять

скажем

Class = "inet"

Acct-Input-Gigawords = 128736823

Acct-Output-Gigawords = 392837982

...

Class = "russia"

Acct-Input-Gigawords = 5849857958

Acct-Output-Gigawords = 48379879328

 

Class = "peer"

Acct-Input-Gigawords = 3827498479874493

Acct-Output-Gigawords = 3298098093893898

 

Если такое возможно было бы шикарно просто.

Share this post


Link to post
Share on other sites

Собрал 0.9-alpha на Debian Squeeze 2.6.32-3-686.

Модуль ядра собрался нормально, висит в памяти и, похоже, работает. На радиус ходят запросы, в биллинге рисуются отчеты. Завтра потестирую отпишу подробности.

Для наших задач эта софтинка подходит наилучшим образом. Планируется ли поддержке в более/менее долгосрочной перспективе или это скорей эксперимент для себя ?

Share this post


Link to post
Share on other sites

shicoy, в плане классификации трафика - примерно так и будет.

 

Т.е. Interim-Interval можно будет задавать персональный на каждую сессию?
Да.

 

Diatel, изначально это был эксперимент для себя. Сейчас видно, что это нужно не только мне, поэтому поддержка будет. :)

Share this post


Link to post
Share on other sites

по поводу препейд тарифов, в принципе так же интересная идея, для лимитчиков.

после авторизации радиус отдает максимальный объем трафика который юзер может скачать до ухода в минус, если в процессе работы юзер пополнил баланс, отправляем CoA с новым объемом максимального трафика.

Если это все получится сделать, то можно считать что 90% от желаемого достигнуто )

Share this post


Link to post
Share on other sites

2Умник: тоже интересуюсь, т.к. планирую использовать данный софт. Помощь какая-то нужна? Тестинг, программинг?

Share this post


Link to post
Share on other sites

Привет, пытаюсь запустить, получаю ответ:

 

#./ISGd.pl

Use of uninitialized value in length at ./ISGd.pl line 52.

Unable to get my own IP-address, exit

----

 

Он до радиуса не может достучаться?

Share this post


Link to post
Share on other sites

тоже интересуюсь, т.к. планирую использовать данный софт. Помощь какая-то нужна?
Спасибо большое за предложение. Пока справляюсь. :)

 

allexch, запустите пожалуйста это:

cat /etc/hosts

И еще это:

uname -a

 

Share this post


Link to post
Share on other sites

тоже интересуюсь, т.к. планирую использовать данный софт. Помощь какая-то нужна?
Спасибо большое за предложение. Пока справляюсь. :)

 

allexch, запустите пожалуйста это:

cat /etc/hosts

И еще это:

uname -a

 

gentoo bin # uname -a

Linux gentoo 2.6.32-gentoo-r7 #1 SMP Thu May 20 16:22:01 MSD 2010 x86_64 Intel® Core2 CPU T5500 @ 1.66GHz GenuineIntel GNU/Linux

 

gentoo bin # cat /etc/hosts

# /etc/hosts: Local Host Database

#

# This file describes a number of aliases-to-address mappings for the for

# local hosts that share this file.

#

# In the presence of the domain name service or NIS, this file may not be

# consulted at all; see /etc/host.conf for the resolution order.

#

 

# IPv4 and IPv6 localhost aliases

127.0.0.1 localhost

::1 localhost

 

#

# Imaginary network.

#10.0.0.2 myname

#10.0.0.3 myfriend

#

# According to RFC 1918, you can use the following IP networks for private

# nets which will never be connected to the Internet:

#

# 10.0.0.0 - 10.255.255.255

# 172.16.0.0 - 172.31.255.255

# 192.168.0.0 - 192.168.255.255

#

# In case you want to be able to connect directly to the Internet (i.e. not

# behind a NAT, ADSL router, etc...), you need real official assigned

# numbers. Do not try to invent your own network numbers but instead get one

# from your network provider (if any) or from your regional registry (ARIN,

# APNIC, LACNIC, RIPE NCC, or AfriNIC.)

#

 

Share this post


Link to post
Share on other sites

allexch, можете попробовать заменить в /etc/hosts строчку "127.0.0.1 localhost", на "127.0.0.1 localhost gentoo". Вообще это плохо, что у ОС нет возможности узнать IP-адрес по своему имени.

 

Share this post


Link to post
Share on other sites

allexch, можете попробовать заменить в /etc/hosts строчку "127.0.0.1 localhost", на "127.0.0.1 localhost gentoo". Вообще это плохо, что у ОС нет возможности узнать IP-адрес по своему имени.

Проглатил!!! Спасибо!

Share this post


Link to post
Share on other sites

Работает вроде отлично. Если бы ещё встроить мини-DHCP, работающий с БД+Option 82, было бы просто шоколадно; мы бы даже купили эту штуку, будь она платной ;))

Edited by Wingman

Share this post


Link to post
Share on other sites

мини-DHCP, работающий с БД+Option 82
Довольно просто реализуется с FreeRADIUS 2.x + rlm_perl.

Мысли читаешь ;)

http://forum.nag.ru/forum/index.php?showtopic=57640

Share this post


Link to post
Share on other sites

shicoy, занимаюсь выбором оптимального алгоритма для быстрой классификации трафика на сервисы/классы. Пока для паблика ничего не готово. Впрочем, вот, по мелочам: 0.10-alpha.

 

Share this post


Link to post
Share on other sites

маркировать пакеты на уровен iptables (для скорости использовать ipset) в lisg смотреть маркировоку и причислять к соответствующему классу. просто и изящно.

Share this post


Link to post
Share on other sites

Допустим класс 10 это трафик с яндекса

 

ipset -N CLASS10 nethash //создаем список для хранения подсетей

ipset -A CLASS10 77.88.0.0/18 //добавляем туда подсети Yandex

 

iptables -t mangle -m set -I INPUT --set CLASS10 src -j MARK --set-mark 10 //всех вхоящие пакеты в списке CLASS10 маркируются как 10 (0xa)

 

Ну и дальше в LISG их остается выделить и применить для них соотвествующие политики (ограничение скорости, аккаунтинг и т.п.)

 

Работать эта конструкция должна очень быстро

Edited by shicoy

Share this post


Link to post
Share on other sites

allexch, будет, но не в следующем релизе. На следующей неделе я планирую выпустить поддержку сервисов в рамках сессии и соответственно классов трафика.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.