Главная > Работа > mpd5 + freeradius2 + mysql

mpd5 + freeradius2 + mysql

Когда-то в далеком 2007 году я разместил статью, о настройки связки mpd + freeradius + mysql на сайте комрада lissyara. Время шло, все работало отлично, выполняло весь необходимый мне функционал. Недавно потребовалось перенести эту связку на новый более мощный сервер. Решено было использовать последние версии используемых продуктов. mpd5 и freeradius2. Данные программные продукты очень изменили свой функционал и конфигурационные файлы, из-за этого я решил сделать набросок статьи. О том как это все дело заставить работать вмести :) .
Сразу хочу оговорить, я не буду писать о том, что надо открыть этот конфигурационный файл, найти какую-то строчку и поменять на другое значение. Мне это не надо, мне просто необходима заметка, что надо сделать, чтоб не забыть :) По этому я просто приведу diff разницу между исходным конфигурационным файлом и целевым.

Начнем. Вот информация о системе на которой это все делалось:

[root@bender /]# uname -rp
7.1-RELEASE-p5 i386
[root@bender /]#

Порты были обновлены до актуальной версии на день написания статьи через csup.
Рассказывать как ставить mysql я не буду, описание данного процесса можно найти на сайте lissyara. По этому сразу перейдем к установки mpd5.

[root@bender /]# make -C /usr/ports/net/mpd5 install clean
===>  Found saved configuration for mpd-5.3
===>  Extracting for mpd-5.3
#--- skip ---#
[root@bender /]#

В меню настройки порта mpd5 я ни чего не выбирал. Конфигурационный файл привел к следующему виду:

#--- mpd5 config

startup:
<------>set user admin pass admin
#<----->set user foo1 bar1
<------>set console self 127.0.0.1 5005
<------>set console open
<------>set web self 10.1.1.200 5006
<------>set web open

default:
<------>load pptp_server

pptp_server:
<------>set ippool add pool1 192.168.1.50 192.168.1.99
<------>create bundle template B
#<----->set iface enable proxy-arp
<------>set iface idle 1800
<------>set iface enable tcpmssfix
<------>set ipcp yes vjcomp
<------>set ipcp ranges 172.16.1.1/32 ippool pool1
<------>set ipcp dns 10.1.1.6
#<----->set ipcp nbns 192.168.1.4
<------>set bundle enable compression
<------>set ccp yes mppc
#<----->set mppc yes e40
<------>set mppc yes e128
<------>set mppc yes stateless
<------>create link template L pptp
<------>set link action bundle B
<------>set link enable multilink
<------>set link yes acfcomp protocomp
<------>set link no pap chap
<------>set link enable chap
<------>load radius
<------>set link keep-alive 10 60
<------>set link mtu 1460
#<------>set pptp self 1.2.3.4
<------>set link enable incoming

radius:
#<----->set radius config /usr/local/etc/mpd5/radius.conf
<------>set radius server localhost testing123 1812 1813
<------>set radius retries 3
<------>set radius timeout 3
<------>set radius me 127.0.0.1
<------>set auth acct-update 60
<------>set auth enable radius-auth
<------>set auth enable radius-acct
<------>set radius enable message-authentic

Знаки табуляции в mc, я намеренно не стер, пусть будут как напоминание, что mpd не любит пробелы, и отступы надо делать табом.
Так же чтоб у mpd велся журнал логов, необходимо в /etc/syslog.conf добавить следующее:

!mpd
*.*                                             /var/log/mpd.log

Создать сам лог файл, поставить на него права RW только для root пользователя, и перезапустить демона syslogd

[root@bender etc]# touch /var/log/mpd.log
[root@bender etc]# chmod 600 /var/log/mpd.log
[root@bender etc]# /etc/rc.d/syslogd restart
Stopping syslogd.
Starting syslogd.
[root@bender etc]#

Дальше установим сам freeradius2:

[root@bender /]# make -C /usr/ports/net/freeradius2 install clean
===>  Found saved configuration for freeradius-2.1.4
===>  Extracting for freeradius-2.1.4
#--- skip ---#
[root@bender /]#

В меню настройки порта freeradius2 были выбраны следующие настройки:

[X] USER         Run as user freeradius, group freeradius
[X] MYSQL        With MySQL database support

Начнем настройку freeradius2, первым дело создадим базу и заполним ее таблицами, для это сделаем следующее:

[root@bender /]# cd /usr/local/etc/raddb/sql/mysql/
[root@bender mysql]# ls
total 92
drwxr-x---  2 freeradius  freeradius    512 23 апр 14:35 .
drwxr-x---  6 freeradius  freeradius    512 23 апр 14:35 ..
-rw-r-----  1 freeradius  freeradius    661 23 апр 14:35 admin.sql
-rw-r-----  1 freeradius  freeradius   4533 23 апр 14:35 counter.conf
-rw-r-----  1 freeradius  freeradius  14379 23 апр 14:35 dialup.conf
-rw-r-----  1 freeradius  freeradius   3927 23 апр 14:35 ippool.conf
-rw-r-----  1 freeradius  freeradius    565 23 апр 14:35 ippool.sql
-rw-r-----  1 freeradius  freeradius    400 23 апр 14:35 nas.sql
-rw-r-----  1 freeradius  freeradius   4322 23 апр 14:35 schema.sql
-rw-r-----  1 freeradius  freeradius   1844 23 апр 14:35 wimax.conf
-rw-r-----  1 freeradius  freeradius    411 23 апр 14:35 wimax.sql
[root@bender mysql]#

как видите тут уже все готово для нас, надо лишь создать базу, а пользователя и структуру таблиц, можно просто импортировать. Пароль для пользователя radius можно задать в файле admin.sql. Приступим к импорту:

[root@bender mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 71296
Server version: 5.0.75-log FreeBSD port: mysql-server-5.0.75

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database radius;
Query OK, 1 row affected (0.00 sec)

mysql> use radius;
Database changed

mysql> \. admin.sql
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

mysql> \. schema.sql
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> quit
Bye
[root@bender mysql]#

Как видите, я импортировал только два sql файла с запросами admin.sql и schema.sql, это сделано по причине того, что я не буду пользоваться настройками для nas, ippool, wimax. так зачем лишнее в системе?
Внесем следующие изменения в конфигурационные файлы freeradius2. Вот тут я и буду пользоваться командой diff. Эта команда отлично подходит для указания изменений в любых файлах, так как отображает оба значения в исходном и целевом файле и строку в которой необходимо произвести изменения. Для настройки freeradius2 нам надо внести изменения в 3 файла. Приступим к этой не хитрой операции.

[root@bender etc]# diff raddb.original/radiusd.conf raddb/radiusd.conf
266c266
<       ipaddr = *
---
>       ipaddr = 127.0.0.1

309c309
<       ipaddr = *
---
>       ipaddr = 127.0.0.1

436c436
<       auth = no
---
>       auth = yes

444c444
<       auth_badpass = no
---
>       auth_badpass = yes

525c525
< proxy_requests  = yes
---
> proxy_requests  = no

664c664
< #     $INCLUDE sql.conf
---
>       $INCLUDE sql.conf

676c676
< #     $INCLUDE sql/mysql/counter.conf
---
>       $INCLUDE sql/mysql/counter.conf

[root@bender etc]#
[root@bender etc]#  diff raddb.original/sql.conf raddb/sql.conf
37c37
<       #port = 3306
---
>       port = 3306

[root@bender etc]#
[root@bender etc]# diff raddb.original/sites-available/default  raddb/sites-available/default
145c145
<       files
---
> #     files

152c152
< #     sql
---
>       sql

342c342
< #     sql
---
>       sql

348c348
< #     sql_log
---
>       sql_log

369c369
<       radutmp
---
> #     radutmp

373c373
< #     sql
---
>       sql

394c394
< #     sql
---
>       sql

400c400
< #     sql_log
---
>       sql_log

[root@bender etc]#

Теперь необходимо внести записи о нашем тестовом пользователе:

#--- создаем пользователя test с паролем test1
INSERT INTO `radcheck` VALUES (1,'test','Cleartext-Password',':=','test1');
#--- создаем группу users с параметрами этой группы
INSERT INTO `radgroupreply` VALUES (1,'users','Framed-Protocol',':=','PPP');
INSERT INTO `radgroupreply` VALUES (2,'users','Framed-IP-Netmask',':=','255.255.255.255');
#--- говорим, что пользователю test при подключении будет присвоен ip 192.168.1.60
INSERT INTO `radreply` VALUES (1,'test','Framed-IP-Address',':=','192.168.1.60');
#--- добавляем пользователя test в группу users
INSERT INTO `radusergroup` VALUES ('test','users',1);

Для внесения данных надо подключиться к mysql от пользователя root или от другого пользователя, так как пользователь radius не имеет права на INSERT на данные таблицы.
Запустим freeradius2:

[root@bender etc]# echo 'radiusd_enable="YES"' >> /etc/rc.conf
[root@bender etc]# /usr/local/etc/rc.d/radiusd start
Starting radiusd.
[root@bender etc]#

Проверим, берет ли у нас freeradius2 данные из mysql. Для этого воспользуемся утилитой radtest, которая идет в комплекте:

[root@bender etc]# radtest test test1 127.0.0.1 0 testing123
Sending Access-Request of id 160 to 127.0.0.1 port 1812
User-Name = "test"
User-Password = "test1"
NAS-IP-Address = 10.1.1.200
NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=160, length=38
Framed-IP-Address = 192.168.1.60
Framed-Protocol = PPP
Framed-IP-Netmask = 255.255.255.255
[root@bender etc]#

Как видите мы получили данные из базы данных. Запустим mpd5 и попробуем подключиться. Для подключения я использовал клиенскую машину под управление OC Windows XP.

[root@bender etc]# echo 'mpd_enable="YES"' >> /etc/rc.conf
[root@bender etc]# echo 'mpd_flags="-b"' >> /etc/rc.conf
[root@bender etc]# /usr/local/etc/rc.d/mpd5 start
Starting mpd5.
[root@bender etc]#

Пробуем подключиться, если не проходит, необходимо смотреть логи mpd5 и freeradius2 на предмет ошибок. Если что-то не получается, можно задавать вопросы мне.

P.S.
1. Ядро для работы mpd5 я не пересобирал, он сам подгрузил все необходимые модулю для своей работы.
2. Не забываем изменить пароли по умолчанию на более сложные. Так же настройку подключения клиентов к freeradius2 можно посмотреть в конфигурационном файле clients.conf

Комментарии и замечания приветствуются!

Author: Categories: Работа Tags: , ,
  1. coroner
    28 Апрель 2009 в 15:13 | #1

    Если пользователя привязывать к определенному IP, неплохо было бы simulation-use(или что-то около) прописать. Иначе есть риск при втором подключении пользователя на другом компе оставить первый сеанс без инета:) Да и вообще сия штука полезна как борьба с мультилогинами:)
    ну и напоследок советую (при авторизациях MSCHAP) подключать словари от microsoft (не помню как во фре, но в линухе это обязательно)
    ну и вдогонку можно еще написать про ограничение скорости средствами радиуса:)

  2. abigor
    29 Апрель 2009 в 10:59 | #2

    про «simulation-use» спасибо за намек, не думал об этом так как не надо было, пользователи у меня правильные :)
    ———-
    >вдогонку можно еще написать про ограничение скорости средствами радиуса:)
    Это будет позже, все потихоньку. Работы много и все делается набегами на ту или иную часть решаемых задач.
    ———-
    >подключать словари от microsoft (не помню как во фре, но в линухе это обязательно)
    Если память мне не изменяет то для доменной аутентификацией надо, но могу и ошибаться, а так лог показал что PAP пользуется

  3. lapweed
    1 Май 2009 в 19:59 | #3

    Пишутся ли в лог-файл (radius.log) время окончания сессии? Логин ОК в логах вижу, а вот Логаут нет. Можно ли добавить время логаута в логи?

    А за статью спасибо. Хорошая.

  4. abigor
    4 Май 2009 в 10:12 | #4

    @lapweed
    День добрый, сори что долго не отвечал, ездил к теще на праздники.
    ———
    в лог radius.log действительно не пишется запись о окончании сессии. Но я думаю можно подручными способами вытащить это дело из таблицы radacct и поля acctstoptime
    там как раз время окончания сессии и хранится

  5. 29 Май 2009 в 16:08 | #5

    Что не делаю не работает((( При подключение с винды к серверу пишит ошибку 619((

  6. abigor
    30 Май 2009 в 00:30 | #6

    @Artem
    давайте смотреть, какая версия FreeBSD какая версия MPD, это так на всякий. Можно еще лог mpd мне на почту отправить для ясности картины abigor[большая злая собачка].isea[точка]ru

  7. 30 Май 2009 в 03:38 | #7

    @abigor
    1) iuo# uname -rp
    7.2-RELEASE i386
    2) iuo# make -C /usr/ports/net/mpd5 clean
    ===> Cleaning for mpd-5.3
    3) Лог щас вышлю (моя почта artem20041991@mail.ru).

  8. abigor
    30 Май 2009 в 19:54 | #8

    @Artem
    Ошибка 619 свидетельствует , что у вас у mpd не включено MPPC (Microsoft Point-to-Point Compression) компрессия трафика в mpd.conf, для проверки сего, можно открыть свойство PPTP подключения на Windows клиенте и во вкладке безопасность снять флаг с «Требовать шифрования данных (иначе отключаться)»
    С радиусом все нормально, тут именно в сторону mpd смотреть надо.

  9. 31 Май 2009 в 02:51 | #9

    @abigor
    Без шифрации тоже не работает таже ошибка( Может это файрвол виноват?

  10. abigor
    31 Май 2009 в 11:14 | #10

    @Artem
    а в firewall gre протокол открыт?

  11. abigor
    9 Июнь 2009 в 21:04 | #11

    Я так понимаю, на этом все и закончилось :)

  12. 18 Июнь 2009 в 22:37 | #12

    Люди НЕ ПЕРЕСОБИРАЙТЕ!!! ядро с этими опциями:
    options NETGRAPH
    options NETGRAPH_BPF
    options NETGRAPH_IFACE
    options NETGRAPH_KSOCKET
    options NETGRAPH_MPPC_ENCRYPTION
    options NETGRAPH_PPP
    options NETGRAPH_PPTPGRE
    options NETGRAPH_SOCKET
    options NETGRAPH_TCPMSS
    options NETGRAPH_VJC
    Сам долго мучился – сервак не работал постоянно выдавал ошибку 619(клиент)

  13. abigor
    19 Июнь 2009 в 07:26 | #13

    что вы исключили из представленных опций ядра? То есть как только вы это убрали из ядра, и это все подгрузилось модулями, все заработало?

  14. 19 Июнь 2009 в 18:36 | #14

    @abigor
    угу

  15. abigor
    20 Июнь 2009 в 15:57 | #15

    А если не секрет можно список модулей в системе kldstat?
    ———————————————-
    у меня просто все в ядре, и модулей всего вот в системе

    [abigor@bender ~]$ kldstat
    Id Refs Address    Size     Name
     1    8 0x80400000 479e4c   kernel
     2    1 0x8087b000 6a2b4    acpi.ko
     3    1 0x8625b000 a6000    zfs.ko
     4    1 0x86301000 2000     opensolaris.ko
    [abigor@bender ~]$

    Вот что в ядре:

    [abigor@bender ~]$ grep  NETGRAPH /usr/src/sys/i386/conf/PROXY
    options         NETGRAPH
    options         NETGRAPH_IFACE
    options         NETGRAPH_KSOCKET
    options         NETGRAPH_MPPC_ENCRYPTION
    options         NETGRAPH_PPP
    options         NETGRAPH_PPTPGRE
    options         NETGRAPH_SOCKET
    options         NETGRAPH_TCPMSS
    options         NETGRAPH_VJC
    options         NETGRAPH_TEE
    options         NETGRAPH_ETHER
    options         NETGRAPH_NETFLOW
    options         NETGRAPH_ONE2MANY
    [abigor@bender ~]$

    Система:

    [abigor@bender ~]$ uname -irsm
    FreeBSD 7.1-RELEASE-p5 i386 PROXY
    [abigor@bender ~]$
  16. hi9in
    17 Июль 2009 в 23:07 | #16

    бьюсь с ограничением скорости средствами радиуса, mpd не хочет принимать атрибуты mpd-limit, mpd-pipe, mpd-….
    в какую сторону копать ума не приложу…

  17. abigor
    19 Июль 2009 в 22:10 | #17

    День добрый. Если бьетесь над ограничениями скорости с radius 2 то тут причина в самом radius, он не понимает инструкции от mpd, сам наступил на эти грабли.

  18. hi9in
    23 Июль 2009 в 17:26 | #18

    @abigor
    весьма прискорбно… придется «пилить» исходники radius2 или mpd5.3

  19. abigor
    24 Июль 2009 в 10:40 | #19

    Мне просто пока не горело. Я не занимался этим. Но уже предстоит так сказать. Если у вас что-то выйдет, то не поленитесь отписать :) Я так же если решу данную проблему ращмещу решение.

  20. 10-rD
    24 Июль 2009 в 20:42 | #20

    Обсуждение данного вопроса на форуме MPD
    http://sourceforge.net/forum/forum.php?thread_id=3343909&forum_id=44693

  21. 10-rD
    24 Июль 2009 в 21:28 | #21

    Путем беглого анализа текущих словарей Радиуса 2.1.6 (dictionary.noлia, dictionary.cisco.vpn5000 и т.д.), мана MPD по Радиусу (http://mpd.sourceforge.net/doc/mpd62.html) и моего предыдущего поста, можно сделать вывод что просто поменялся формат словарей. Теоретически в dictionary.mpd следует убрать последнюю колонку а vendor-specific attribute помечать блоками
    BEGIN-VENDOR и END-VENDOR в начале и конце списка атрибутов.

    Тобишь вот так вроде будет правильно.

    VENDOR mpd 12341

    BEGIN-VENDOR mpd

    ATTRIBUTE mpd-rule 1 string
    ATTRIBUTE mpd-pipe 2 string
    ATTRIBUTE mpd-queue 3 string
    ATTRIBUTE mpd-table 4 string
    ATTRIBUTE mpd-table-static 5 string
    ATTRIBUTE mpd-filter 6 string
    ATTRIBUTE mpd-limit 7 string
    ATTRIBUTE mpd-drop-user 154 integer

    END-VENDOR MPD

    На практике НЕ ПРОВЕРЯЛОСЬ, потэтому гарантировать работоспособность не могу. Просто наиболее вероятно что причина именно в этом.

  22. abigor
    24 Июль 2009 в 21:59 | #22

    Странно, похоже дока по mpd не обновилась. А еще больше похожа что она написана под freeradius 1.x. Судя по форуму mpd и ответам Александра Мотина все должно работать. В понедельник попробую на стенде. Похоже дело как раз в BEGIN-VENDOR и END-VENDOR.

  23. Jintwo
    25 Июль 2009 в 19:18 | #23

    @abigor
    у нас самописный биллинг на mpd5 + freeradius2 + firebird. mpd отлично созадет правила для ipfw. используются mpd-rule и mpd-pipe. @10-rD верно написал.

  24. hi9in
    25 Июль 2009 в 23:45 | #24

    VENDOR Mpd 12341

    BEGIN-VENDOR Mpd


    END-VENDOR Mpd

    действительно работает. проверено на практике..

  25. scharfikus
    18 Август 2009 в 16:39 | #25

    Поставил все по статье, radtest работает, при коннекте из винды впн соединение длится 8 секунд и обрывается. В логах МПД пишет вот что:
    RADIUS: rad_send_request for user ‘test’ failed: No valid RADIUS responses received
    при запуске radiusd -X в логах смущает вот это:
    [suffix] No ‘@’ in User-Name = «test», looking up realm NULL

    Куда копать, подскажите…

  26. abigor
    18 Август 2009 в 22:42 | #26

    @scharfikus
    похоже что сам MPD не может достучаться до радиуса, он же так и ругается, что не может получить от радиуса правильные данные

  27. maxim
    19 Август 2009 в 01:00 | #27

    Настроил, все вроде работает, но отключается через 5 минут вот с такими руганьями в логе mpd.conf:

    Aug 18 20:44:20 mpd: [L-1] RADIUS: rad_send_request for user ‘maxim’ failed: No valid RADIUS responses received
    Aug 18 20:44:20 mpd: [L-1] ACCT: Close link due to accounting start error
    Aug 18 20:44:20 mpd: [L-1] ACCT: Link close requested by the accounting
    Aug 18 20:44:20 mpd: [L-1] Link: CLOSE event
    Aug 18 20:44:20 mpd: [L-1] LCP: Close event
    Aug 18 20:44:20 mpd: [L-1] LCP: state change Opened –> Closing
    Aug 18 20:44:20 mpd: [L-1] Link: Leave bundle «B-1″
    Aug 18 20:44:20 mpd: [B-1] Bundle: Status update: up 0 links, total bandwidth 9600 bps
    Aug 18 20:44:20 mpd: [B-1] IPCP: Close event
    Aug 18 20:44:20 mpd: [B-1] IPCP: state change Opened –> Closing
    Aug 18 20:44:20 mpd: [B-1] IPCP: SendTerminateReq #3
    Aug 18 20:44:20 mpd: [B-1] IPCP: LayerDown
    Aug 18 20:44:20 mpd: [L-1] RADIUS: Accounting user ‘maxim’ (Type: 2)
    Aug 18 20:44:20 mpd: [B-1] IFACE: Down event
    Aug 18 20:44:20 mpd: [B-1] CCP: Close event
    Aug 18 20:44:20 mpd: [B-1] CCP: state change Opened –> Closing
    Aug 18 20:44:20 mpd: [B-1] CCP: SendTerminateReq #2
    Aug 18 20:44:20 mpd: [B-1] CCP: LayerDown
    Aug 18 20:44:20 mpd: [B-1] IPCP: Down event
    Aug 18 20:44:20 mpd: [B-1] IPCP: LayerFinish
    Aug 18 20:44:20 mpd: [B-1] Bundle: No NCPs left. Closing links…
    Aug 18 20:44:20 mpd: [B-1] IPCP: state change Closing –> Initial
    Aug 18 20:44:20 mpd: [B-1] CCP: Down event
    Aug 18 20:44:20 mpd: [B-1] CCP: LayerFinish
    Aug 18 20:44:20 mpd: [B-1] CCP: state change Closing –> Initial
    Aug 18 20:44:20 mpd: [B-1] Bundle: Shutdown
    Aug 18 20:44:20 mpd: [L-1] LCP: SendTerminateReq #3
    Aug 18 20:44:20 mpd: [L-1] LCP: LayerDown
    Aug 18 20:44:20 mpd: [L-1] LCP: rec’d Terminate Ack #3 (Closing)
    Aug 18 20:44:20 mpd: [L-1] LCP: state change Closing –> Closed
    Aug 18 20:44:20 mpd: [L-1] LCP: LayerFinish
    Aug 18 20:44:20 mpd: [L-1] PPTP call terminated
    Aug 18 20:44:20 mpd: [L-1] Link: DOWN event
    Aug 18 20:44:20 mpd: [L-1] LCP: Down event
    Aug 18 20:44:20 mpd: [L-1] LCP: state change Closed –> Initial
    Aug 18 20:44:38 mpd: [L-1] RADIUS: rad_send_request for user ‘maxim’ fa
    Aug 18 20:44:38 mpd: [L-1] Link: SHUTDOWN event
    Aug 18 20:44:38 mpd: [L-1] Link: Shutdown

    radtest подключается и ошибок не выдает
    может кто сталкивался, в чем проблема???
    Спасибо.

  28. scharfikus
    19 Август 2009 в 13:43 | #28

    abigor :
    @scharfikus
    похоже что сам MPD не может достучаться до радиуса, он же так и ругается, что не может получить от радиуса правильные данные

    Но соединение то живет 8 секунд, и получает ip из базы mysql. а потом уже радиус не может чего то найти, шлет кривой запрос, и, не получив ответ от базы, отрубает MPD. Буду пробовать ставить другой сервер Radius, и, как вариант, другую базу данных.

  29. abigor
    19 Август 2009 в 15:45 | #29

    а для vpn подключения нету отключаться при простое?

  30. scharfikus
    19 Август 2009 в 17:26 | #30

    abigor :
    а для vpn подключения нету отключаться при простое?

    нет, в windows все по умолчанию. на других серверах не отваливается.

  31. scharfikus
    19 Август 2009 в 17:55 | #31

    @maxim

    странно, у меня отваливается через 8 секунд
    попробуй остановить radius, и снова запустить его вот так:
    Radiud -X . и увидишь логи радиуса на экране.

  32. abigor
    20 Август 2009 в 16:18 | #32

    @scharfikus
    покажите ls /var/log/rad*

  33. scharfikus
    20 Август 2009 в 16:33 | #33

    rover# ls /var/log/rad*
    /var/log/radius.debug /var/log/radius.stderr /var/log/radwtmp
    /var/log/radius.info /var/log/radmsgid
    /var/log/radius.log /var/log/radutmp

    /var/log/radacct:
    127.0.0.1 local radius.log sql-relay

  34. scharfikus
    20 Август 2009 в 18:01 | #34

    вобщем, победить удалось вот так:
    снес радиус, и поставил его из пакетов, там версия пониже (2.1.14)
    он работать вообще не захотел, так как был без поддержки sql .
    я скопировал конфигурационные файлы со старой версии (которая из пакетов)
    и тут же установил заново версию из портов, и просто заменил конфигурационные файлы. и все заработало….

  35. scharfikus
    20 Август 2009 в 23:08 | #35

    поставил всю систему с нуля, файлов в каталоге /var/log/ не было вообще.
    После создания файлов :
    /var/log/radmsgid
    /var/log/radutmp

    все заработало, мпд не отваливается, но строчка при отладке радиуса:
    [suffix] No ‘@’ in User-Name = “test”, looking up realm NULL
    присутствует
    непонятно, зачем ему знак @ в имени пользователя?

  36. abigor
    24 Август 2009 в 20:56 | #36

    @scharfikus
    Почему я и просил ls /var/log/rad*
    по поводу » а вы не поставили в vpn подключении «Включить домен входа Windows»?

  37. scharfikus
    27 Август 2009 в 19:35 | #37

    нет, такой галочки не стоит.

  38. 6 Сентябрь 2009 в 22:19 | #38

    To: abigor

    пожалуйста распишите подробнее как резать канал при помощи mpd & radius, буду очень признателен.

  39. abigor
    7 Сентябрь 2009 в 17:24 | #39

    Напишу. Только не сейчас :)

  40. Sun
    15 Сентябрь 2009 в 02:13 | #40

    И все таки как побороть проблему с разрывом? Че то никак не получается после всего выше прочитанного,помогите плиз!

  41. abigor
    15 Сентябрь 2009 в 22:14 | #41

    давайте. Покажите следующее:
    uname -a
    kldstat
    pkg_info
    ifconfig
    правила фаервола.
    Версия ОС с которой пробуете подключиться
    лог mpd
    Все это дело можно послать на почту abigor@isea.ru. Ни какие ваши личные данные не будут разглашены.

  42. abigor
    16 Сентябрь 2009 в 14:40 | #42

    @Sun
    попробуйте сделать следующее:

    touch /var/log/radutmp
    touch /var/log/radwtmp
    chown freeradius:freeradius /var/log/radutmp
    chown freeradius:freeradius /var/log/radwtmp
    chmod 600 /var/log/radutmp
    chmod 600 /var/log/radwtmp
    /usr/local/etc/rc.d/radiusd restart
  43. Sun
    16 Сентябрь 2009 в 22:24 | #43

    @abigor
    ОГРОМНОЕ СПАСИБО!!! =))) все заработало, 30 мин полет нормальный! Если не секрет где ты это нашел???

  44. abigor
    16 Сентябрь 2009 в 22:29 | #44

    Пожалуйста, решение подсказал mpd.log и немного фантазии :)
    Обращайтесь если чего

  45. Sun
    16 Сентябрь 2009 в 22:42 | #45

    еще раз спс, видать пока абстрактное мышление не так хорошо развито )) сча буду прикручивать stargazer к этому добру )

    ЗЫ: если не секрет какой биллинг используете?

  46. abigor
    16 Сентябрь 2009 в 22:55 | #46

    @Sun
    Ни какой, у меня задача только вести учет трафика, и ограничивать по скорости.

  47. 14 Ноябрь 2009 в 10:00 | #47

    Хорошая дока, тока на 8-й фре почему-то
    radtest test test1 127.0.0.1 0 testing123
    выдает
    radclient:: failed to get value
    radclient: Nothing to send.

    и в логи вообще ничего не пишет :-(

  48. abigor
    14 Ноябрь 2009 в 23:28 | #48

    @ZULI
    Пожалуйста! Ну тут я честно ни чего сказать сейчас не могу, у меня ни где 8 фряхи нету. Через пару дней могу поставить в виртуализации и попробовать. Как сделаю отпишу.

  49. EHoT
    10 Февраль 2010 в 21:50 | #49

    # uname -a
    FreeBSD ftp-backup.mdm-print.ru 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Mon Apr 27 10:21:32 MSD 2009

    # pkg_info
    mpd-5.3 Multi-link PPP daemon based on netgraph(4)
    freeradius-2.1.6 A free RADIUS server implementation

    На команду
    radtest JaNet test_password 127.0.0.1 0 test

    В логах радиуса презабавнейшая вещь:
    Wed Feb 10 16:36:47 2010 : Auth: Login incorrect (rlm_pap: CLEAR TEXT password check failed): [JaNet/a\202\334\343b\355\276T\311\363\t$\200\212+\303] (from client localhost port 0)

    Кодировка? Что ему не по душе?

  50. EHoT
    10 Февраль 2010 в 22:11 | #50

    @EHoT
    разобрался, нужно было менять пароль также и в clients.conf

    кроме того,нашел ошибку в гайде:
    ————————————————————————
    #— говорим, что пользователю test при подключении будет присвоен ip 192.168.1.60
    INSERT INTO `radreply` VALUES (1,’test’,'Framed-IP-Address’,':=’,’192.168.1.60′)
    —————————————————————
    в конце строки забыли ; поставить.

    Пароль radius-юзера из admin.sql не хотел восприниматься, пока руками не добавил.

Страницы комментариев
  1. 26 Май 2010 в 14:41 | #1
Необходимо войти на сайт, чтобы написать комментарий.