Биллинговая система Nodeny
22 Ноября 2024, 13:24:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 2 [3] 4 5 ... 8
  Печать  
Автор Тема: freeradius 3  (Прочитано 89112 раз)
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #30 : 13 Декабря 2017, 13:45:58 »

Поправьте для PPPoE и PPTP иначе приходится извращенные методы авторизации использовать с дополнительной настройкой клиента.
Код:
server default {
    listen {
        type = auth
        ipaddr = *
        port = 1812
    }
    listen {
        type = acct
        ipaddr = *
        port = 0
    }
    authorize {
            sql
           pap
            chap
            mschap
    }
    authenticate {
            Auth-Type PAP {
                pap
            }
            Auth-Type CHAP {
                chap
            }
            Auth-Type MSCHAP {
                mschap
            }
    }
   preacct {
            acct_unique
            preprocess
    }
    accounting {
            detail
            sql
            exec
    }
    session {
            radutmp
            sql
    }
    post-auth {
            sql
    }
}
Записан
gudwin
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 85



Просмотр профиля Email
« Ответ #31 : 13 Декабря 2017, 18:18:40 »

Поправьте для PPPoE и PPTP иначе приходится извращенные методы авторизации использовать с дополнительной настройкой клиента.
Код:
server default {
    listen {
        type = auth
        ipaddr = *
        port = 1812
    }
    listen {
        type = acct
        ipaddr = *
        port = 0
    }
    authorize {
            sql
           pap
            chap
            mschap
    }
    authenticate {
            Auth-Type PAP {
                pap
            }
            Auth-Type CHAP {
                chap
            }
            Auth-Type MSCHAP {
                mschap
            }
    }
   preacct {
            acct_unique
            preprocess
    }
    accounting {
            detail
            sql
            exec
    }
    session {
            radutmp
            sql
    }
    post-auth {
            sql
    }
}
Ок спасибо проверим и поправим, может кому пригодиться)
Записан
Redmen
NoDeny
Ветеран
*

Карма: 62
Offline Offline

Сообщений: 546


Подяку в КАРМУ


Просмотр профиля WWW
« Ответ #32 : 15 Декабря 2017, 21:33:40 »

я в н+ отключение по команде stop не использую, честно говоря я забыл почему, возможно чтобы риконнекты не забивали таблицу авторизаций или не высасывали пул ip. Пусть авторизация пропадает по таймауту, 2 минуты таймаута - это разве много?
Я думаю, процедуру radstop нужно вернуть в коробку, а ее использовать, каждый решает сам.
Лично меня ТП замучили уже, ибо звонит абон с некой проблемой, оператор ему помогает и просит перезагрузить свое обоудование,
а в логах авторизаций либо нечего не поменялось, либо затерлись параметры последней сессии(ип, мак, нас, сервис-нейм и.т.п.)
и даже если будет засорятся бд реконнектами, будет локализирована проблема с оборудованием Прова либо Абона.
Записан

Приймаю подяку у вигляді карми... та/або грошей Подмигивающий
t.me/MrMethod
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #33 : 17 Декабря 2017, 20:12:15 »

Блин, надо вспомнить почему я ее выключал.... не спроста ж...
Записан
kosmich
Пользователь
**

Карма: 1
Offline Offline

Сообщений: 90


Просмотр профиля
« Ответ #34 : 18 Декабря 2017, 15:13:32 »

я в н+ отключение по команде stop не использую, честно говоря я забыл почему, возможно чтобы риконнекты не забивали таблицу авторизаций или не высасывали пул ip. Пусть авторизация пропадает по таймауту, 2 минуты таймаута - это разве много?
Я думаю, процедуру radstop нужно вернуть в коробку, а ее использовать, каждый решает сам.
Лично меня ТП замучили уже, ибо звонит абон с некой проблемой, оператор ему помогает и просит перезагрузить свое обоудование,
а в логах авторизаций либо нечего не поменялось, либо затерлись параметры последней сессии(ип, мак, нас, сервис-нейм и.т.п.)
и даже если будет засорятся бд реконнектами, будет локализирована проблема с оборудованием Прова либо Абона.
Поддержу, radstop нужен.
Обнаглею и предложу, было бы очень полезно, как в Абиллсе, возможность видеть лог "ошибок авторизаций", общий и по абоненту.
Лог "ошибок авторизации" решает сходу много вопросов, экономя время и нервы, ТП и абоненту.
Записан
Redmen
NoDeny
Ветеран
*

Карма: 62
Offline Offline

Сообщений: 546


Подяку в КАРМУ


Просмотр профиля WWW
« Ответ #35 : 18 Декабря 2017, 22:37:00 »

Я пока что использую связку freeradius 3 и rlm_perl на сервере с +- 500 абонов (на тесте около двух месяцев),
хочу запилить его на подобии  Абиллс-овского но по круче и ООПэшным.

 + при  инициализации трида радиуса, экземпляр rlm_perl скрипта подтягивает список БРАСов(НАСов) (для уменьшения к-ва запросов к базе) с их параметрами (Bras.pm), в перспективе из БД, а пока из  хеша.
    в процесе разработки (мееедленно):
 - при авторизации, проверяется тип браса (mpd/mikrotik) по ИПу, далее в зависимости от типа - выполняются соответствующие процедуры (в процесе разработки (мееедленно))
 - планируется проверка типа авторизации (pppoe/dhcp/l2tp/etc) - и работа с ними по аналогии с брас

пример алгоритма работы:
freeradius>rlm_perl-threed>radius.pl(max 64 requests)>Bras::Mikrotik::PPPoE::radauth();

если всё стандартизировать, то с таким подходом можно наплодить туеву хучу всевозможных БРАСов типа
(Bras::bsd::mpd::radauth()Подмигивающий
(Bras::linux::accel::radauth()Подмигивающий
и.т.д.

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


п.с.: Я бы много чего перевел на ООП но тогда придется создавать  Nodeny Plus Plus (ND++)   Смеющийся Смеющийся Смеющийся
Записан

Приймаю подяку у вигляді карми... та/або грошей Подмигивающий
t.me/MrMethod
goletsa
NoDeny
Спец
*

Карма: 21
Offline Offline

Сообщений: 973


Просмотр профиля
« Ответ #36 : 23 Января 2018, 12:28:07 »

Блин, тему засорили, людям понадобится узнать как настроить 3й радиус на н+, а получат историю борьбы в н50
Логичнее было бы в ветке 50 версии тоже такую тему создать. Вчера мельком пробежался - не увидел эту.
Перетаскивал вчера свою связку с mx на 3 freeradius, нарвался на грабельки с Cleartext-Password и заменой == на :=.
В целом заработало. Но заняло довольно много времени разобраться самому.
Записан
gudwin
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 85



Просмотр профиля Email
« Ответ #37 : 23 Января 2018, 16:00:13 »

Блин, тему засорили, людям понадобится узнать как настроить 3й радиус на н+, а получат историю борьбы в н50
Логичнее было бы в ветке 50 версии тоже такую тему создать. Вчера мельком пробежался - не увидел эту.
Перетаскивал вчера свою связку с mx на 3 freeradius, нарвался на грабельки с Cleartext-Password и заменой == на :=.
В целом заработало. Но заняло довольно много времени разобраться самому.
Если хотите создайте ветку в Nodeny 50 и опишите там все
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #38 : 23 Января 2018, 23:22:20 »

Поправьте для PPPoE и PPTP иначе приходится извращенные методы авторизации использовать с дополнительной настройкой клиента.
Код:
server default {
    listen {
        type = auth
        ipaddr = *
        port = 1812
    }
    listen {
        type = acct
        ipaddr = *
        port = 0
    }
    authorize {
            sql
           pap
            chap
            mschap
    }
    authenticate {
            Auth-Type PAP {
                pap
            }
            Auth-Type CHAP {
                chap
            }
            Auth-Type MSCHAP {
                mschap
            }
    }
   preacct {
            acct_unique
            preprocess
    }
    accounting {
            detail
            sql
            exec
    }
    session {
            radutmp
            sql
    }
    post-auth {
            sql
    }
}
Ок спасибо проверим и поправим, может кому пригодиться)

И уж если пошла такая кухня обобщите все в одном месте.

Цитировать
  accounting {
            detail
            sql
            exec
    }
Выделенная хрень вообще никому не нужна т.к. отвечает за сохранение детальных логов аккаунтинга и только засирает место на диске, причем в сетях с 3-4 тысячи абонентов это может до гига в сутки достигать.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #39 : 24 Января 2018, 00:27:36 »

удалил в исходном сообщении. Похоже таки мне придется доку делать...
Записан
kosmich
Пользователь
**

Карма: 1
Offline Offline

Сообщений: 90


Просмотр профиля
« Ответ #40 : 26 Января 2018, 16:46:46 »

h t t p ://nodeny.com.ua/wiki/index.php/Freebsd_%2B_Freeradius3_%2B_Nodeny_Plus
Записан
kosmich
Пользователь
**

Карма: 1
Offline Offline

Сообщений: 90


Просмотр профиля
« Ответ #41 : 19 Февраля 2018, 11:31:22 »

Настроил согласно мануала выше, получил глюк авторизации PPPoE, со статическими айпи, ревизия 460.
Выражается в следующем, сессия поднимается и секунд через 10 падает и так по кругу.
Меняю "тип" на "динамический", сессия перестает падать.
В логе радиуса ошибок нет.
В логе мпд:
Код:
RADIUS: rad_send_request for user 'ррр_test' failed: No valid RADIUS responses received
ACCT: Close link due to accounting start error
ACCT: Link close requested by the accounting


 
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #42 : 19 Февраля 2018, 13:03:29 »

Цитировать
No valid RADIUS responses received
надо запустить радиус с ключом -X и смотреть что он посылает
Записан
kosmich
Пользователь
**

Карма: 1
Offline Offline

Сообщений: 90


Просмотр профиля
« Ответ #43 : 19 Февраля 2018, 16:48:55 »

Цитировать
No valid RADIUS responses received
надо запустить радиус с ключом -X и смотреть что он посылает
И так по кругу.
Код:
(0) Received Access-Request Id 193 from 127.0.0.1:16095 to 
127.0.0.1:1812 length 202
(0)   NAS-Identifier = "nas01"
(0)   NAS-IP-Address = 127.0.0.1
(0)   Message-Authenticator = 0x33f5d6356e107891187069d3851ef48e
(0)   Acct-Session-Id = "9049131-vlan254-41"
(0)   NAS-Port = 41
(0)   NAS-Port-Type = Ethernet
(0)   Service-Type = Framed-User
(0)   Framed-Protocol = PPP
(0)   Calling-Station-Id = "d4da7687a4f5"
(0)   NAS-Port-Id = "vlan254"
(0)   Attr-26.12341.12 = 0x766c616e36302d3431
(0)   Tunnel-Medium-Type:0 = IEEE-802
(0)   Tunnel-Client-Endpoint:0 = "d4:da:76:87:a4:f5"
(0)   User-Name = "ppp_test"
(0)   User-Password = "ppp_test"
(0) # Executing section authorize from file
/usr/local/etc/raddb/sites-enabled/nodeny
(0)   authorize {
rlm_sql (sql): Reserved connection (0)
(0) sql: EXPAND call radcheck('%{User-Name}')
(0) sql:    --> call radcheck('ppp_test')
(0) sql: Executing select query: call radcheck('ppp_test')
(0) sql: User found in radcheck table
(0) sql: Conditional check items matched, merging assignment check items
(0) sql:   Cleartext-Password := "ppp_test"
(0) sql: EXPAND call radreply('%{User-Name}')
(0) sql:    --> call radreply('ppp_test')
(0) sql: Executing select query: call radreply('ppp_test')
(0) sql: User found in radreply table, merging reply items
(0) sql:   Framed-IP-Address = 10.0.0.3
(0) sql:   Framed-IP-Netmask = 255.255.255.255
(0) sql:   Framed-Protocol = PPP
rlm_sql (sql): Released connection (0)
(0)     [sql] = ok
(0)     [pap] = updated
(0)     [chap] = noop
(0)     [mschap] = noop
(0)   } # authorize = updated
(0) Found Auth-Type = PAP
(0) # Executing group from file /usr/local/etc/raddb/sites-enabled/nodeny
(0)   Auth-Type PAP {
(0) pap: Login attempt with password
(0) pap: Comparing with "known good" Cleartext-Password
(0) pap: User authenticated successfully
(0)     [pap] = ok
(0)   } # Auth-Type PAP = ok
(0) # Executing section post-auth from file
/usr/local/etc/raddb/sites-enabled/nodeny
(0)   post-auth {
(0) sql: EXPAND .query
(0) sql:    --> .query
(0) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (1)
(0) sql: EXPAND call
radupdate('%{User-Name}','%{reply:Framed-IP-Address}',
'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')
(0) sql:    --> call radupdate('ppp_test','10.0.0.3',
'user=d4da7687a4f5;nas=127.0.0.1')
(0) sql: Executing query: call radupdate('ppp_test','10.0.0.3',
'user=d4da7687a4f5;nas=127.0.0.1')
(0) sql: SQL query returned: success
(0) sql: 0 record(s) updated
(0) sql: No additional queries configured
rlm_sql (sql): Released connection (1)
(0)     [sql] = noop
(0)   } # post-auth = noop
(0) Sent Access-Accept Id 193 from 127.0.0.1:1812 to 127.0.0.1:16095
length 0
(0)   Framed-IP-Address = 10.0.0.3
(0)   Framed-IP-Netmask = 255.255.255.255
(0)   Framed-Protocol = PPP
(0) Finished request
Waking up in 4.9 seconds.

« Последнее редактирование: 19 Февраля 2018, 17:32:28 от kosmich » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #44 : 19 Февраля 2018, 18:36:22 »

я вроде не вижу тут проблем. Ты показал лог радиуса именно в тот момент, когда pppoe сервер выдал ошибку "от радиуса получен некорректный ответ"?
Записан
Страниц: 1 2 [3] 4 5 ... 8
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!