ates
Пользователи-
Публикации
21 -
Зарегистрирован
-
Посещение
О ates
-
Звание
Абитуриент
Контакты
-
ICQ
Array
-
Jabber
Array
Информация
-
Пол
Array
Посетители профиля
-
Cisco NAT
тему добавил ates в Программное обеспечение, биллинг и *unix системы
Привет, Возможно ли с cisco выдернуть информацию: show ip nat translation по SNMP? То есть хотелось бы получить всю таблицу или возможно как выборочно указать по какому IP фильтровать. Спасибо -
ISG в Linux
тему ответил в Умник пользователя ates в Программное обеспечение, биллинг и *unix системы
Мужики, запилите этот проект уже на каком нибудь github, что бы можно было нормально следить за развитием. А там уже кто поднятется. -
Billing: Netspire
тему ответил в ates пользователя ates в Программное обеспечение, биллинг и *unix системы
Пока нет, выложу когда соберу готовую систему. Глянь личные сообщения. -
Billing: Netspire
тему ответил в ates пользователя ates в Программное обеспечение, биллинг и *unix системы
Я сейчас начал рефакторить и переделывать код системы в более правильный вид. Пока кодовая база не большая - легко будет понять что как сделано. -
Billing: Netspire
тему ответил в ates пользователя ates в Программное обеспечение, биллинг и *unix системы
Что сейчас реализовано: 1. netspire-core: * Функции для работы с IP адресами (не все совместимы с IPv6) * Функции для работы с динамическими модулями, хуками * Работа с конфиг файлом, логами * RADIUS сервер (не поддерживает radius-proxy) * Netflow коллектор (v5, v9) * Модули аунтификации для радиуса * PAP * CHAP * MSCHAPv2 c MPPE * Digest (делалось для VoIP SIP) * EAP-MD5 * Модуль RPC для вызова функций из сторонних приложений (протокол сериализации BERT) * Модуль IPPool - для выдачи динамических ip адресов и работы с пулами адресов * Простой RADIUS клиент 2. netspire-iptraffic: * Управляет сессиями пользователей(create/interim/close) на основе Access-Request, Accounting-Start/Stop от RADIUS * Поддержка RADIUS accounting * Принимает netflow поток от коллектора, обсчитывает сумму денег на основе класса трафика * Работа с классами трафика по след. критериям: * Время суток * Дни недели * Тип протокола и номер порта * Src/Dst адрес/сети * Авто подъем сессий случае аварийного завершения биллинга * Отключения клиентов при отрицательном балансе 3. netspire-postgresql: * Использует драйвер для postgres (https://github.com/wg/epgsql) * Пул подключений 4. netspire-modules: * Модуль для отправки DM сообщения на NAS (используется для отключения клиентов) * Модуля для выполнения внешней скрипта/программы, тоже используется для отключения клиентов * Модуля для работы с GeoIP базой Логика работы реализуется в отдельных модулях, по аналогии с iptraffic, доступ к событиям из ядра системы (netspire-core) через хуки либо через добавления handler модулей (netflow) Для IPoE нужно будет писано новый dynamic module. Сейчас система работает в такой конфигурации: Есть N клиентов, подключаются они по PPP - сервер используется accel-ppp. Тарифы помегабайтные и безлимитные, установка скоростей через RADIUS атрибуты. Отключение клиентов посылкой DM на accel-ppp. В вашем случае модуль для IPoE должен быть не много проще в реализации, так как не обязательно иметь понятие сессий и связаной с сессиями рутины. -
Billing: Netspire
тему ответил в ates пользователя ates в Программное обеспечение, биллинг и *unix системы
Расскажите как у вас IPoE сделан. Адреса абонентов статические? Привязка по mac/port на свитчах? Изначально Netspire задумывался как конструктор для написания конкретных систем под конкретные задачи, так как на 100% всем не угодишь. Поэтому скорее всего придется писать модуль на подобие модуля iptraffic и там закладывать логику работы. В любом случае, вот мой jid - ates@ipv6.dp.ua, дайти больше информации, я попробую реализовать такой модуль. -
Billing: Netspire
тему ответил в ates пользователя ates в Программное обеспечение, биллинг и *unix системы
Erlang для подобного вида софта отлично подходит. К тому же, никто ж не говорить что абсолютно все компоненты должны быть написаны на нем, есть моменты когда лучше использовать другой язык и в итоге совместить в готовый продукт. На питоне-php и так хватает реализаций - это не интересно. В erlang есть некоторое возможности(горячая замена кода, легкие нити да и весь OTP way в целом), которые как раз для подходят для софта типа биллинг. -
ISG в Linux
тему ответил в Умник пользователя ates в Программное обеспечение, биллинг и *unix системы
Почему бы этот проэкт не разместить где нибудь типа github.com? -
accel pptpd
тему ответил в kisa пользователя ates в Программное обеспечение, биллинг и *unix системы
echo "show stat" | nc -q1 localhost 2001 uptime: 6.06:33:29 cpu: 0% mem(rss/virt): 1368/77792 kB core: mempool_allocated: 219206 mempool_available: 173370 thread_count: 4 thread_active: 1 context_count: 7 context_sleeping: 0 context_pending: 0 md_handler_count: 13 md_handler_pending: 0 timer_count: 6 timer_pending: 0 ppp: starting: 0 active: 2 finishing: 0 pptp: starting: 0 active: 2 radius: auth sent: 29 auth lost(total/5m/1m): 0/0/0 auth avg query time(5m/1m): 0/0 ms acct sent: 54 acct lost(total/5m/1m): 0/0/0 acct avg query time(5m/1m): 0/0 ms interim sent: 12824 interim lost(total/5m/1m): 0/0/0 interim avg query time(5m/1m): 4/4 ms -
accel pptpd
тему ответил в kisa пользователя ates в Программное обеспечение, биллинг и *unix системы
какой jid то ? ates@ipv6.dp.ua Вот как у меня получилось схватить core: http://pastie.org/1506347 и сам core: http://rghost.net/4115585 -
accel pptpd
тему ответил в kisa пользователя ates в Программное обеспечение, биллинг и *unix системы
не знаю, у себя воспроизвести не удаётся Как ты собераешь accel-ppp? Я если собераю как cmake -DMEMDEBUG=TRUE проблема не проявляется, если без MEMDEBUG - после второго захода по cli - segmentation fault и корка Если можешь авторизуй в жаббере, так быстрей будет проверить. -
accel pptpd
тему ответил в kisa пользователя ates в Программное обеспечение, биллинг и *unix системы
Похоже что то сломалось - accel-ppp стопается после нескольких входов в cli через telnet: root@vpn-gw:~# ps -ef |grep [a]ccel root 16676 1 0 15:33 ? 00:00:00 /accel-ppp/sbin/accel-pppd -d -c /etc/accel-pptp.conf root@vpn-gw:~# telnet localhost 2000 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. accel-ppp version a69ae308efe400d14ecbab676a5e7592908c6b46 accel-ppp# exit Connection closed by foreign host. root@vpn-gw:~# telnet localhost 2000 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. accel-ppp version a69ae308efe400d14ecbab676a5e7592908c6b46 accel-ppp# exit Connection closed by foreign host. root@vpn-gw:~# telnet localhost 2000 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. root@vpn-gw:~# ps -ef |grep [a]ccel В логах ничего нет [2011-01-28 15:33:19]: msg: accel-ppp version a69ae308efe400d14ecbab676a5e7592908c6b46 [2011-01-28 15:33:53]: info: cli: telnet: new connection from 127.0.0.1 [2011-01-28 15:33:56]: info: cli: telnet: new connection from 127.0.0.1 [2011-01-28 15:33:58]: info: cli: telnet: new connection from 127.0.0.1 -
accel pptpd
тему ответил в kisa пользователя ates в Программное обеспечение, биллинг и *unix системы
Похоже нужно добавить \r и перед acct sent: и interim sent: -
accel pptpd
тему ответил в kisa пользователя ates в Программное обеспечение, биллинг и *unix системы
Немного сбивается форматирование при show stat (a69ae308efe400d14ecbab676a5e7592908c6b46): accel-ppp# show stat uptime: 0.00:01:51 cpu: 0% mem(rss/virt): 1116/61268 kB core: mempool_allocated: 132986 mempool_available: 131726 thread_count: 4 thread_active: 1 context_count: 5 context_sleeping: 0 context_pending: 0 md_handler_count: 5 md_handler_pending: 0 timer_count: 1 timer_pending: 0 ppp: starting: 0 active: 0 finishing: 0 pptp: starting: 0 active: 0 radius: auth sent: 0 auth lost(total/5m/1m): 0/0/0 auth avg query time(5m/1m): 0/0 ms acct sent: 0 acct lost(total/5m/1m): 0/0/0 acct avg query time(5m/1m): 0/0 ms interim sent: 0 interim lost(total/5m/1m): 0/0/0 interim avg query time(5m/1m): 0/0 ms accel-ppp# diff --git a/accel-pppd/radius/radius.c b/accel-pppd/radius/radius.c index b50b525..8a224f3 100644 --- a/accel-pppd/radius/radius.c +++ b/accel-pppd/radius/radius.c @@ -389,7 +389,7 @@ static int show_stat_exec(const char *cmd, char * const *fields, int fields_cnt, cli_sendv(client, " interim sent: %lu\r\n", stat_interim_sent); cli_sendv(client, " interim lost(total/5m/1m): %lu/%lu/%lu\r\n", stat_interim_lost, stat_accm_get_cnt(stat_interim_lost_5m), stat_accm_get_cnt(stat_interim_lost_1m)); - cli_sendv(client, " interim avg query time(5m/1m): %lu/%lu ms\n", + cli_sendv(client, " interim avg query time(5m/1m): %lu/%lu ms\r\n", stat_accm_get_avg(stat_interim_query_5m), stat_accm_get_avg(stat_interim_query_1m)); return CLI_CMD_OK; -
accel pptpd
тему ответил в kisa пользователя ates в Программное обеспечение, биллинг и *unix системы
При компиляции 673bea74d2beb8d4260355f928499230c7ff9b17: /root/accel-ppp/accel-pppd/radius/stat_accm.c: In function ‘stat_accm_create’: /root/accel-ppp/accel-pppd/radius/stat_accm.c:27: warning: implicit declaration of function ‘malloc’ /root/accel-ppp/accel-pppd/radius/stat_accm.c:27: warning: incompatible implicit declaration of built-in function ‘malloc’ diff --git a/accel-pppd/radius/stat_accm.c b/accel-pppd/radius/stat_accm.c index 9367ceb..8d4ad3d 100644 --- a/accel-pppd/radius/stat_accm.c +++ b/accel-pppd/radius/stat_accm.c @@ -1,4 +1,5 @@ #include <string.h> +#include <stdlib.h> #include "radius_p.h" #include "mempool.h"