Просмотр сообщений
|
Страниц: [1] 2 3 ... 6
|
4
|
Главная категория / Модули NodenyPlus / Re: ping server
|
: 14 Января 2020, 16:56:30
|
error: wrong regexp in pingserver.cfg. Ping result: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ тут відповідь на ваше питання файл pingserver.cfg Как бы я уже дргадаля. Но где собака порылась?. Менял bin на sbin. FreBSD 12.1 S. у мене лінукс # регулярное выражение, позволяющее вычленить потери в ответе ping regexp => '(\d+)% packet loss', у вас буде по іншому
|
|
|
5
|
Главная категория / Модули NodenyPlus / Re: ping server
|
: 14 Января 2020, 10:52:13
|
А почему получаеться порт 8888? Я вроде бы уже назначил руками 8081.
настройки многих модулей ядра теперь задаются в вебинтефейсе Я знаю. Но все по пингсерверу по умолчани. в файлу create.pingserver.cfg: port => 8888, Исправил. Все равно ошибка. При пинге из билинга: Start
Слушаем порт 8081
[127.0.0.1:30874] Header: connection = 'TE, close' content-type = 'text/xml' host = '127.0.0.1:8081' query = 'cmd=ping&timeout=2&count=100&ip=10.1.1.2' te = 'deflate,gzip;q=0.3' uri = '/' url = '/?cmd=ping&timeout=2&count=100&ip=10.1.1.2' user-agent = 'WebNoDeny'
[127.0.0.1:30874] Query: cmd = 'ping' count = '100' ip = '10.1.1.2' timeout = '2'
[127.0.0.1:30874] Отправляем: HTTP/1.1 200 OK Pragma:no-cache Cache-Control:no-store Content-Type:text/html; charset=utf-8 Content-Length:24
cookie: 339-861184120251
/bin/ping -q -n -i0.001 -c 100 -t 2 10.1.1.2 2>&1
[127.0.0.1:30874] close connection 127.0.0.1:30874
[127.0.0.1:30874] close connection 127.0.0.1:30874
[127.0.0.1:60834] Header: connection = 'TE, close' content-type = 'text/xml' host = '127.0.0.1:8081' query = 'cmd=cookie&cookie=339-861184120251' te = 'deflate,gzip;q=0.3' uri = '/' url = '/?cmd=cookie&cookie=339-861184120251' user-agent = 'WebNoDeny'
[127.0.0.1:60834] Query: cmd = 'cookie' cookie = '339-861184120251'
[127.0.0.1:60834] Отправляем: HTTP/1.1 200 OK Pragma:no-cache Cache-Control:no-store Content-Type:text/html; charset=utf-8 Content-Length:52
error: wrong regexp in pingserver.cfg. Ping result:
[127.0.0.1:60834] close connection 127.0.0.1:60834
[127.0.0.1:27521] Header: connection = 'TE, close' content-type = 'text/xml' host = '127.0.0.1:8081' query = 'cmd=cookie&cookie=339-861184120251' te = 'deflate,gzip;q=0.3' uri = '/' url = '/?cmd=cookie&cookie=339-861184120251' user-agent = 'WebNoDeny'
[127.0.0.1:27521] Query: cmd = 'cookie' cookie = '339-861184120251'
[127.0.0.1:27521] Отправляем: HTTP/1.1 200 OK Pragma:no-cache Cache-Control:no-store Content-Type:text/html; charset=utf-8 Content-Length:52
error: wrong regexp in pingserver.cfg. Ping result:
[127.0.0.1:27521] close connection 127.0.0.1:27521
[127.0.0.1:19153] Header: connection = 'TE, close' content-type = 'text/xml' host = '127.0.0.1:8081' query = 'cmd=cookie&cookie=339-861184120251' te = 'deflate,gzip;q=0.3' uri = '/' url = '/?cmd=cookie&cookie=339-861184120251' user-agent = 'WebNoDeny'
[127.0.0.1:19153] Query: cmd = 'cookie' cookie = '339-861184120251'
[127.0.0.1:19153] Отправляем: HTTP/1.1 200 OK Pragma:no-cache Cache-Control:no-store Content-Type:text/html; charset=utf-8 Content-Length:52
error: wrong regexp in pingserver.cfg. Ping result:
[127.0.0.1:19153] close connection 127.0.0.1:19153
[127.0.0.1:40261] Header: connection = 'TE, close' content-type = 'text/xml' host = '127.0.0.1:8081' query = 'cmd=cookie&cookie=339-861184120251' te = 'deflate,gzip;q=0.3' uri = '/' url = '/?cmd=cookie&cookie=339-861184120251' user-agent = 'WebNoDeny'
[127.0.0.1:40261] Query: cmd = 'cookie' cookie = '339-861184120251'
[127.0.0.1:40261] Отправляем: HTTP/1.1 200 OK Pragma:no-cache Cache-Control:no-store Content-Type:text/html; charset=utf-8 Content-Length:52
error: wrong regexp in pingserver.cfg. Ping result:
[127.0.0.1:40261] close connection 127.0.0.1:40261
[127.0.0.1:27666] Header: connection = 'TE, close' content-type = 'text/xml' host = '127.0.0.1:8081' query = 'cmd=cookie&cookie=339-861184120251' te = 'deflate,gzip;q=0.3' uri = '/' url = '/?cmd=cookie&cookie=339-861184120251' user-agent = 'WebNoDeny'
[127.0.0.1:27666] Query: cmd = 'cookie' cookie = '339-861184120251'
[127.0.0.1:27666] Отправляем: HTTP/1.1 200 OK Pragma:no-cache Cache-Control:no-store Content-Type:text/html; charset=utf-8 Content-Length:52
error: wrong regexp in pingserver.cfg. Ping result:
[127.0.0.1:27666] close connection 127.0.0.1:27666
Где порытся? error: wrong regexp in pingserver.cfg. Ping result: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ тут відповідь на ваше питання файл pingserver.cfg
|
|
|
6
|
Главная категория / Nodeny Plus / Re: DHCP + Opt82 + Radius
|
: 13 Ноября 2019, 14:16:40
|
Спасибо, будем разбираться. Подскажите, еще, какие радиус атрибуты вы передаете? Я планирую, передавать гостевой сервис, с редиректом на заглушку, и через модуль CoA активировать следующий сервис с тарифом. В верную сторону смотрю? [/quote] /etc/freeradius/3.0/mods-available# cat sql sql { driver = "rlm_sql_mysql" mysql { warnings = auto } server = "localhost" port = 3306 login = "nodeny" password = "hardpass" radius_db = "nodeny"
authorize_check_query = "call radcheck('%{User-Name}')" authorize_reply_query = "call radreply('%{User-Name}','%{DHCP-Agent-Remote-Id}','%{DHCP-Agent-Circuit-Id}')" ####, '%{User-Password}')"
accounting { reference = "%{tolower:type.%{Acct-Status-Type}.query}" type { start { query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ 'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}','%{Acct-Session-Id}',\ '%{DHCP-Agent-Remote-Id}','%{DHCP-Agent-Circuit-Id}',\ (%{%{Acct-Input-Gigawords}:-0} * POWER(2, 32)) + %{%{Acct-Input-Octets}:-0},\ (%{%{Acct-Output-Gigawords}:-0} * POWER(2, 32)) + %{%{Acct-Output-Octets}:-0})" } interim-update { query = "${..start.query}" } stop { query = "call radstop('%{User-Name}')" } } }
post-auth { query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ 'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}','%{Acct-Session-Id}',\ '%{DHCP-Agent-Remote-Id}','%{DHCP-Agent-Circuit-Id}',\ (%{%{Acct-Input-Gigawords}:-0} * POWER(2, 32)) + %{%{Acct-Input-Octets}:-0},\ (%{%{Acct-Output-Gigawords}:-0} * POWER(2, 32)) + %{%{Acct-Output-Octets}:-0})" } }
[ipoe] verbose=1 level=5
username=lua:username password=ipoe unit-cache=0 lua-file=/etc/accel-ppp.lua lease-time=120 #120 #60 renew-time=90 #30 max-lease-time=600 #90 attr-dhcp-client-ip=Framed-IP-Address gw-ip-address=10.111.0.1/20 #### guest ip network #gw-ip-address=172.16.0.1/20 ### redirect attr-l4-redirect=L4-Redirect attr-l4-redirect-ipset=L4-Redirect-ipset #attr-l4-redirect-table=L4-Redirect-table #l4-redirect-ipset=l4 #L4-Redirect-table=4051 #### proxy-arp=1 shared=1 ifcfg=1 mode=L2 start=dhcpv4 interface=re:ens160 vlan-mon=re:ens160,4080 vlan-timeout=60 vlan-name=%I.%N #agent-remote-id=accel-ppp attr-dhcp-opt82=DHCP-Option82 attr-dhcp-opt82-remote-id=DHCP-Agent-Remote-Id attr-dhcp-opt82-circuit-id=DHCP-Agent-Circuit-Id
Я роблю таким чином, всі по замовчуванню заблоковані, відразу іх завертає на заглушку, потім спрацьовує модуль СОА і робить все так як вказано в обліковому запису. як на мене так менше мороки. Модуль СОА запускається таким чином /usr/bin/perl /usr/local/nodeny/noserver.pl -a -i -g=coa.cfg.pm -d & В цьому позитивно, якщо втрачається зв'язок з радіусом то клієнти працюють і не відвалюються, і якщо зв'язок відновлено то відновлюється авторизація, і ніби не виникає момент що сесії на брасі є а в білінгу нема. ось десь так воно робить. Авторизує по маку ону та маку олт
|
|
|
7
|
Главная категория / Nodeny Plus / Re: DHCP + Opt82 + Radius
|
: 12 Ноября 2019, 23:43:11
|
поделитесь своими радиус-процедурами для accel, radreply/radupdate_ipoe Спасибо! [/quote] DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `radreply`(IN login VARCHAR(64), IN r_id VARCHAR(64), IN c_id VARCHAR(64)) DETERMINISTIC BEGIN DECLARE usr_id INT; DECLARE usr_ip VARCHAR(15) DEFAULT NULL; DECLARE add_attr MEDIUMTEXT; DECLARE line MEDIUMTEXT; DECLARE i INT DEFAULT 1; DECLARE usr_mac VARCHAR(12); DECLARE c_ID_m VARCHAR(12) DEFAULT NULL; DECLARE r_ID_m VARCHAR(12) DEFAULT NULL; SELECT REPLACE(c_id,'0x', '') INTO c_ID_m; SELECT REPLACE(r_id,'0x', '') INTO r_ID_m; SELECT REPLACE(login, ':', '') INTO usr_mac; SELECT uid INTO usr_id FROM mac_uid WHERE device_mac=r_ID_m AND device_port=c_ID_m AND (mac=usr_mac OR (oneconnect>0 AND device_mac<>'')); SELECT radius_attr INTO add_attr FROM users_services WHERE uid=usr_id AND tags LIKE '%,inet,%' LIMIT 1; IF usr_id IS NOT NULL AND usr_id>0 THEN SELECT get_ip(usr_id) INTO usr_ip; UPDATE mac_uid SET ip=0 WHERE ip=INET_ATON(usr_ip) AND uid<>usr_id; UPDATE mac_uid SET mac=usr_mac, ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP() WHERE device_mac=r_ID_m AND device_port=c_ID_m AND (mac=usr_mac OR (oneconnect>0 AND device_mac<>'')); SELECT NULL, login, 'Framed-IP-Address', usr_ip, '='; attr_loop: WHILE TRUE DO SELECT strSplit(add_attr, ' ', i) INTO line; IF LENGTH(line) = 0 OR i > 20 THEN LEAVE attr_loop; END IF; IF line LIKE '%+=%' THEN SELECT NULL,login,strSplit(line, '+=', 1),REPLACE (strSplit(line, '+=', 2),'\r',''),'+='; ELSEIF line LIKE '%=%' THEN SELECT NULL,login,strSplit(line, '=', 1),REPLACE (strSplit(line, '=', 2),'\r',''),'='; END IF; SET i = i + 1; END WHILE; ELSE UPDATE mac_uid SET ip=0 WHERE uid=0 AND time<(UNIX_TIMESTAMP()-360); START TRANSACTION; SELECT INET_NTOA(ip) INTO usr_ip FROM ip_pool p WHERE uid=0 AND type='dynamic' AND NOT EXISTS (SELECT ip FROM mac_uid WHERE ip=p.ip) ORDER BY RAND() LIMIT 1 FOR UPDATE; INSERT INTO mac_uid VALUES( NULL, usr_mac, INET_ATON(usr_ip), 0, UNIX_TIMESTAMP(), r_ID_m,c_ID_m , 0, '') ON DUPLICATE KEY UPDATE ip=IF(ip>0,ip,INET_ATON(usr_ip)), time=UNIX_TIMESTAMP(),device_mac=r_ID_m, device_port=c_ID_m; COMMIT; SELECT INET_NTOA(ip) INTO usr_ip FROM mac_uid WHERE mac=usr_mac; SELECT NULL, login, 'Framed-IP-Address', usr_ip, '='; END IF; END$$ DELIMITER ;
DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `radupdate`(IN login VARCHAR(64), IN ipa VARCHAR(16), IN properties VARCHAR(255), IN ses VARCHAR(32), IN r_id VARCHAR(64), IN c_id VARCHAR(64), IN trafin BIGINT(20), IN trafout BIGINT(20)) DETERMINISTIC BEGIN DECLARE usr_id INT; DECLARE usr_mac VARCHAR(12) DEFAULT NULL; DECLARE c_ID_m VARCHAR(12) DEFAULT NULL; DECLARE r_ID_m VARCHAR(12) DEFAULT NULL; SELECT REPLACE(c_id,'0x', '') INTO c_ID_m; SELECT REPLACE(r_id,'0x', '') INTO r_ID_m;
SELECT REPLACE(login, ':', '') INTO usr_mac; SELECT uid INTO usr_id FROM `mac_uid` WHERE device_mac=r_ID_m AND device_port=c_ID_m AND (mac=usr_mac OR (oneconnect>0 AND device_mac<>'')) limit 1;
UPDATE ip_pool SET `release` = UNIX_TIMESTAMP() + 300 WHERE ip = INET_ATON(ipa);
IF( usr_id > 0 ) THEN CALL set_auth(ipa, CONCAT('mod=ipoe;',REPLACE(properties,':',''))); INSERT INTO ses_traf SET ses_id=ses, traf_in=trafin, traf_out=trafout, time=UNIX_TIMESTAMP(), uid=usr_id; END IF; END$$ DELIMITER ;
Ось десь так у мене працює, авторизує по маку ОЛТ та маку ОНУ, freeradius3, трафік через радіус також рахує
|
|
|
9
|
Главная категория / Nodeny Plus / Re: Сбор трафика через Radius
|
: 10 Апреля 2019, 20:19:30
|
Підкажіть хто небуть, вже весь мозг зірвало. В мене звязка Nodeny+, Mikrotik, Freeradius3 не працює збір трафіка і графіки, перевірив таблицю ses_traf а вона пуста. Раніше запускав радіус з виводом на екран, то радіус писав що uid немає значення по замовчуванню. Можливо щось треба включити в мікротіку, хоча акаунтінг включено, в конфігурації радіуса виклик вункції параметри правильні згідно документації на мікрот.
як, пам'ять мене не підводить Мікротік не шле акаунтінг коли ІРОЕ
|
|
|
10
|
Главная категория / Модули NodenyPlus / Re: EasyPay
|
: 28 Марта 2019, 20:44:40
|
Дыра в системе изипей - подтверждается, проверил на нескольких провайдерах. Абонент действительно может пополнить себе и другим счёт через данный модуль. Если кто-то победил данную проблемму - расскажите.
В изипей подтвердили возможность доступа к биллингу через логин/пароль. Надо в модуле организовать авторизацию какую нибудь.
у мене доступ до скрипта ізіпей по логіну паролю логін пароль передав в ізізпей, вони дали ір адрес з якого буде доступ зроблено таким чином root@bill:/usr/local/nodeny/cgi-bin# cat .htaccess <Files "easypay.pl"> AuthType Basic AuthName «Prompt» AuthUserFile /usr/local/nodeny/cfg/.htpasswd Require valid-user Order Deny,Allow Deny from all Allow from 93.183.196.26 </Files> root@bill:/usr/local/nodeny/cgi-bin# ls -la dr-x------ 2 www-data staff 4096 сер 20 2018 . drwx------ 16 www-data staff 4096 сер 28 2018 .. -r-x------ 1 www-data staff 10894 лип 24 2018 easypay.pl
|
|
|
14
|
Главная категория / Nodeny Plus / Re: Netflow спалил мне моск.
|
: 15 Января 2019, 12:50:12
|
Написал в личку, что бы не делать чат из переписки.
думаете остальным не интересно? Відповім тут: Систему грузить не IPCAD а модуль який рахує трафік. Відповідно модулю фіолетово хто в нього наливає данні для обрахунку, тут як казав Cell або нарощувати потужність сервера, або розділяти по різним серверам обрахунок трафіку. Я робив так: Модуль обрахунку трафіку працює тільки на одному ядрі процесора, тому щоб загрузити потужний сервер який має досить потужний процесор, дискова підсистема має запас по швидкодії і надійності використовував віртуалізацію на esxi, одночасно працювало три сервера на яких був запущений модуль коллекторс. Коли перестало вистачати потужності сервера, перейшов на радіус аккаунтінг. netflow у мене працював на debian 8 разом з accel-ppp, проблем з ним не було to sedo26, я б на окремій тестовій машині запустив netflow, щоб провірити чи нічого ні з чим не конфліктує, і вияснити що саме і від чого падає, можливо впливає навантаження
|
|
|
15
|
Главная категория / Nodeny Plus / Re: Netflow спалил мне моск.
|
: 15 Января 2019, 11:34:31
|
Проц на биллинге AMD X8 FX-8350 8 ядер по 4,0ГГц (только биллинг + подсчет) С утра и до вечера средняя загрузка проца до 15-20%, но в час пик (ещё нету подсчёта ~1Гига микрота, так как не работает нетфлоу) ipcad грузит до 50-70% и уже не успевает считать.
А load average с 0,6 поднимается до 2.
До 19-00 считает нормально по 2мин. Потом подглючивает подсчёт у уже не правильно показывает. Иногда вылетает модуль коллекторс. Как-то так.
можете намалювати схему, як ходить трафік, де він обраховується, де розміщена база даних, де працює модуль коллекторс?
|
|
|
|