Страница 1 из 2

FreeRADIUS и ippool

Добавлено: 2008-10-09 16:43:38
savio
Настроил mpd4 + freeradius + mysql как тут http://www.lissyara.su/?id=1350
Все завелось.
(где то на русском есть описание этого freeradius'a)
Теперь вопрос.
есть пул адресов, их которого клиентам нужно выдавать какждый раз другую айпишку. вижу в БД таблицу radippool, думаю это оно, но как все связать и настроить не знаю.... может кто-то скажет как или где читать, гугл что-то молчит мне сегодня....

Re: FreeRADIUS и ippool

Добавлено: 2008-10-09 19:10:27
paradox
я токо непонял какая надобность в freeradius да еще и mysql
проще тогда уже freeradius + freenibs
заодно и доки что и как настроить там же на сайте у них


а вообще
нужно Frammed-Ip-Address = 192.168.0.1+
к примеру
это стандартно

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 15:48:10
savio
вопрос актуален. как задать айпипул и заюзать его? никак не получается

день убил на поиск решения. делал по примеру как тут http://wiki.freeradius.org/Rlm_sqlippool

Код: Выделить всё

INSERT INTO radippool (pool_name, framedipaddress) VALUES ('my_pool', '192.168.0.4');
в таблицу radreply добавляю атрибут Framed-Pool со значением my_pool для определенного юзера

проверяю

Код: Выделить всё

# radtest user testpasswd 127.0.0.1 1812 testing123
Sending Access-Request of id 208 to 127.0.0.1 port 1812
        User-Name = "user"
        User-Password = "testpasswd"
        NAS-IP-Address = 255.255.255.255
        NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=208, length=30
        Framed-Protocol = PPP
        Framed-Pool = "my_pool"

не пашет. чего не так?

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 15:58:39
paradox
а смысл от этого атрибудат ippool ? если mpd наскоко я знаю его непонимает

может лучше http://abills.net.ua/wiki/doku.php
сдесь поискать другие подходы к решению твоей проблемы

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 16:04:00
savio
получается что средствами radius'а нельзя выдавать айпишки с пула для mpd?

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 16:26:36
paradox
радиусом можно все
нужно токо понимать как это работает

DEFAULT Auth-Type = Mysql, Group = "planetsky", Simultaneous-Use = 1
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 10.1.0.2+,
Idle-Timeout = 600,
Framed-Compression = Van-Jacobson-TCP-IP

DEFAULT Auth-Type = Mysql, Group = "home", Simultaneous-Use = 1
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 10.2.0.2+,
Idle-Timeout = 600,
Framed-Compression = Van-Jacobson-TCP-IP
вот к примеру с моего давней конфигурации
две групы таррификации для клиентов
и каждой группе назначен свой пул ip адрессов

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 16:33:36
savio
Все эти фринибсы мне лично не подойдут. проще самому написать свое и потом дописывать, чем разбираться в чужом "хозяйстве" и чегото исправлять

ладно, поставлю вопрос по другому. для кого тогда атрибут Framed-Pool. или же какой VPN-сервер(если такой есть)
принимает и понимает это? Цель - в MYSQL хранятся юзэры и ip-pool для них

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 16:35:53
paradox
Framed-IP-Address = 10.2.0.2+,
задает айпи пул начиная с адресса 10.2.0.2
вообще тебе всеравно прийдеться разобраься с тем как работает радиус
если хочешь все это поднять

а иначе ты просто хочешь сделать то - непонимая как это работает

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 16:48:41
savio
я понимаю суть этой записи.
paradox писал(а):
Framed-IP-Address = 10.2.0.2+,
задает айпи пул начиная с адресса 10.2.0.2
у вас задается пул в конфиге, мне бы хотелось это все делать в БД
вас никогда не интересовало зачем в БД есть таблица radippool
или же вы используете mpd.secret?

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 16:53:54
paradox
у меня свой патченный radius-cistron
для биллинга
где общий пул задан в конфиге( смысла в БД невижу)
а в БД сам биллинг где есть место и под выделеный айпи для клиента

а смысла ippool да еще весь конфиг пихать в БД я вообще невижу
поэтому и советую посмотреть на тот биллинг котроый я вам показал
он как раз под freeradius

еще раз повторю
невижу смысла городить в БД конфиг на каждого юзера как приблизительно я вижу у тебя
общий конфиг должен быть в файле
а в базе должно быть токо то что нужно

и в данном случае биллинг должен назначать выделеный IP а не сам freeradius

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 18:14:25
savio
ок. убедили. тогда подcкажите пожалуйста, а то уже плохо соображаю...
куда прописать то что у вас
paradox писал(а): DEFAULT Auth-Type = Mysql, Group = "planetsky", Simultaneous-Use = 1
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 10.1.0.2+,
Idle-Timeout = 600,
Framed-Compression = Van-Jacobson-TCP-IP

DEFAULT Auth-Type = Mysql, Group = "home", Simultaneous-Use = 1
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 10.2.0.2+,
Idle-Timeout = 600,
Framed-Compression = Van-Jacobson-TCP-IP
в /raddb/users?
например групу "home", задавать в БД(в таблице usergroup?)

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 18:18:07
paradox
да users
но токо этот users для freeradius не покатит
многое может не саботать
посему посмотри свой шаблон users для freeradius И подправь остальное
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 10.1.0.2+,
Idle-Timeout = 600,
Framed-Compression = Van-Jacobson-TCP-IP
эти параметры универсальные для всех радиусов

если бошка не варит
тогда луше отложить на завтра
утром вечером мудренее)

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 18:55:41
savio
согласен, но помогите добыть тему эту мою проблему с пулом

в radiusd.conf есть

Код: Выделить всё

authenticate {

        Auth-Type PAP {
                pap
        }
...
если закоментировать то Access reject, значит авторизация через pap у меня.
далее добавляю в конец файла users следующее

Код: Выделить всё

...
DEFAULT Auth-Type = PAP
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 10.1.0.2+,
Idle-Timeout = 600,
Framed-Compression = Van-Jacobson-TCP-IP
проверяю

Код: Выделить всё

# radtest savio testpasswd 127.0.0.1 1812 testing123
Sending Access-Request of id 121 to 127.0.0.1 port 1812
        User-Name = "savio"
        User-Password = "testpasswd"
        NAS-IP-Address = 255.255.255.255
        NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=121, length=20
чего не так?
(to paradox: согласен, еще не понимаю до конца как оно пашет, но сроки поджимают... всем нужен результат :) )

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 19:06:46
paradox
у тебя он вообще похоже не настроин
radtest savio testpasswd 127.0.0.1 1812 testing123
man radtest
вместо 1812 там должен быть номер порта
тоесть число к примеру от 0 до N
где N количество интерфейсов ng

а не номер порта радиуса

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

примеры настрокйи фрирадиуса я тебе давал это на том сайте где биллинг абилсс

Re: FreeRADIUS и ippool

Добавлено: 2008-10-13 19:20:36
paradox
пожмякал по клавиатуре и получил такие результаты
http://www.opennet.ru/base/net/freeradi ... n.txt.html
http://www.lissyara.su/?id=1350

)))

Re: FreeRADIUS и ippool

Добавлено: 2008-10-23 16:13:57
savio
ок. думаю тему стоит продолжить что бы новую не плодить.
как можно подвязать к freeradius'у свой скрипт, что бы он выдавал Framed-IP-Address?
а б уже в скрипте в зависимости от логина(вернее в зависимости в какой группе у меня этот логин находится) выдавал бы нужную айпишку.
???

Re: FreeRADIUS и ippool

Добавлено: 2008-10-23 21:12:42
paradox
этим биллинг занимаеться
и заставить радиус это делать
значит сдесть из радивуса биллинговую систему

лучше смотри и изучай гтовые билл системы
так буд проще

Re: FreeRADIUS и ippool

Добавлено: 2008-10-23 23:09:18
savio
ну дайте хоть глоток "воздуха" для понимания ситуации. как это вооше делается? на пальцах можно мне непросвященному объяснить? :)

1) клиент ввел логин и пароль, нажал кнопку "подключиться"
2) данные ушли к VPN-серверу.(в даном случаи mpd)
3) mpd передает лонин/пароль RADIUS-серверу.
4) тот в свою очередь ищет в таблице radcheck соотвествие.
5) припустим что нашел, тогда смотрит в таблицу radreply и выдает в ответ mpd заветное Framed-IP-Address

как можно "влесть" в этот радиус, (ну не знаю как нормально объяснить) что б алгоритм поиска айпишки для клиента задал я сам?

Re: FreeRADIUS и ippool

Добавлено: 2008-10-23 23:17:34
paradox
как можно "влесть" в этот радиус, (ну не знаю как нормально объяснить) что б алгоритм поиска айпишки для клиента задал я сам?
в радиусе можно писать плагины
так и работает freenibs
плагином к freeradius'у

Re: FreeRADIUS и ippool

Добавлено: 2008-10-23 23:25:19
savio
ясно. значит учим С++ и пишем плагины, а лутше уже свой радиус и не морочим никому голову глупыми вопросами типа моих :-D

Re: FreeRADIUS и ippool

Добавлено: 2008-10-23 23:30:25
paradox
вово
ктомуже тебе уже чуть чуть осталось)))
все основы ты уже постиг

Re: FreeRADIUS и ippool

Добавлено: 2008-10-25 8:34:43
savio
я в панике, если можна так выразится :cz2:
решил проверить мою эту новую связку mpd+freeradius, а именно:
взял пользователя, который в даный момент времени законекчен по vpn
и попробовал подключился под тем же логином.
и подключился!...
нельзя подключаться под одним и тем же логином одновременно
как залатать такую дырку?

Re: FreeRADIUS и ippool

Добавлено: 2008-10-25 9:56:37
savio
разобрался. вернее нашел такое
В определении группы нужно добавить записи:
INSERT INTO radgroupcheck (groupname, attribute, op, value) VALUES ('group', 'Simultaneous-Use', ':=', '1');
помогло.
правда советуют еще добавить
INSERT INTO radgroupreply (groupname, attribute, op, value) VALUES ('group', 'Fall-Through', '=', '1');
но без него работает. пробовал погуглить что такое Fall-Through но безрезультатно....

Re: FreeRADIUS и ippool

Добавлено: 2008-10-25 20:58:19
paradox
DEFAULT Auth-Type = Mysql, Group = "planetsky", Simultaneous-Use = 1
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 10.1.0.2+,
Idle-Timeout = 600,
Framed-Compression = Van-Jacobson-TCP-IP

Re: FreeRADIUS и ippool

Добавлено: 2009-04-23 13:30:07
CR
По поводу ippool в БД.

Читать тут:
http://wiki.freeradius.org/Rlm_sqlippool

Пример привязки пула к группе:

Table: radgroupcheck
+-----+-----------+------------------+----+-------+
| id | groupname | attribute | op | value |
+-----+-----------+------------------+----+-------+
| 1 | local | Pool-Name | := | local |
| 101 | exper | Pool-Name | := | exper |