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

PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-05 14:32:46
dm765
Приветствую всех!!
Сейчас саботает несколько ВПН серверов, авторизация и аккаунтинг на Freeradius2. Пользователи хранятся в файле, ИП адреса выдаются динамически из пула радиуса. Надо систему переделать так, чтобы пользователи хранились в базе. Собрал я тестовый стэнд - настроил 1 ВПН сервер на базе Микротика, на др. компе поставил Freebsd, Freeradius2, MySql5, залил таблицы для хранения пользователей и запустил эту систему.

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

Module: Linked to module rlm_sql
 Module: Instantiating sql
  sql {
        driver = "rlm_sql_mysql"
        server = "localhost"
        port = ""
        login = "root"
        password = ""
        radius_db = "radius"
        read_groups = yes
        sqltrace = no
        sqltracefile = "/var/log/sqltrace.sql"
        readclients = yes
        deletestalesessions = yes
        num_sql_socks = 5
        lifetime = 0
        max_queries = 0
        sql_user_name = ""
        default_user_profile = ""
        nas_query = "SELECT id,nasname,shortname,type,secret FROM nas"
        authorize_check_query = ""
        authorize_group_check_query = ""
        authorize_group_reply_query = ""
        accounting_onoff_query = ""
        accounting_update_query = ""
        accounting_update_query_alt = ""
        accounting_start_query = ""
        accounting_start_query_alt = ""
        accounting_stop_query = ""
        accounting_stop_query_alt = ""
        connect_failure_retry_delay = 60
        simul_count_query = ""
        simul_verify_query = ""
        postauth_query = ""
        safe-characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
  }
rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked
rlm_sql (sql): Attempting to connect to root@localhost:/radius
rlm_sql (sql): starting 0
rlm_sql (sql): Attempting to connect rlm_sql_mysql #0
rlm_sql_mysql: Starting connect to MySQL server for #0
rlm_sql (sql): Connected new DB handle, #0
rlm_sql (sql): starting 1
rlm_sql (sql): Attempting to connect rlm_sql_mysql #1
rlm_sql_mysql: Starting connect to MySQL server for #1
rlm_sql (sql): Connected new DB handle, #1
rlm_sql (sql): Processing generate_sql_clients
rlm_sql (sql) in generate_sql_clients: query is SELECT id,nasname,shortname,type,secret FROM nas
rlm_sql (sql): Reserving sql socket id: 2
rlm_sql (sql): Read entry nasname=127.0.0.1,shortname=localhost,secret=whoiswho
rlm_sql (sql): Adding client 127.0.0.1 (localhost, server=<none>) to clients list
rlm_sql (sql): Read entry nasname=172.16.0.101,shortname=172.16.0.101,secret=whoiswho
rlm_sql (sql): Adding client 172.16.0.101 (172.16.0.101, server=<none>) to clients list
................
................
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /var/run/radiusd/radiusd.sock
Listening on proxy address * port 1814
Ready to process requests.

Вроде бы все без ошибок.

При подключении пользователя коннекта не происходит, видимо что то не донастроил.

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

rad_recv: Access-Request packet from host 112.41.32.124 port 60298, id=6, length=136
        Service-Type = Framed-User
        Framed-Protocol = PPP
        NAS-Port = 25
        NAS-Port-Type = Virtual
        User-Name = "test"
        Calling-Station-Id = "172.20.31.254"
        Called-Station-Id = "172.16.0.101"
        CHAP-Challenge = 0x439f9d2626601ba560bac30f923ffb18
        CHAP-Password = 0x01b4cbe946b07ea9b8cb0143f1947be8e8
        NAS-Identifier = "MikroTik-124"
        NAS-IP-Address = 112.41.32.124
+- entering group authorize {...}
++[preprocess] returns ok
[chap] Setting 'Auth-Type := CHAP'
++[chap] returns ok
++[mschap] returns noop
[suffix] No '@' in User-Name = "test", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[unix] returns notfound
rlm_sql (sql): Reserving sql socket id: 3
[sql]   expand:  -> 
[sql] Error generating query; rejecting user
rlm_sql (sql): Released sql socket id: 3
++[sql] returns fail
Using Post-Auth-Type Reject
+- entering group REJECT {...}
[attr_filter.access_reject]     expand: %{User-Name} -> test
 attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
rad_recv: Access-Request packet from host 112.41.32.124 port 60298, id=6, length=136
Waiting to send Access-Reject to client 112.41.32.124 port 60298 - ID: 6
Waking up in 0.6 seconds.
rad_recv: Access-Request packet from host 112.41.32.124 port 60298, id=6, length=136
Waiting to send Access-Reject to client 112.41.32.124 port 60298 - ID: 6
Waking up in 0.3 seconds.
Sending delayed reject for request 0
Sending Access-Reject of id 6 to 112.41.32.124 port 60298
Waking up in 4.9 seconds.
Cleaning up request 0 ID 6 with timestamp +494
Ready to process requests.
Пользователя я регистрировал так

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

mysql> select * from radcheck;
+----+----------+--------------------+----+---------+
| id | username | attribute          | op | value   |
+----+----------+--------------------+----+---------+
|  1 | testsql  | Cleartext-Password | := | test123 | 
|  2 | test     | Password           | == | test    | 
+----+----------+--------------------+----+---------+

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

mysql> select * from radgroupcheck;
+----+-----------+-----------+----+-------+
| id | groupname | attribute | op | value |
+----+-----------+-----------+----+-------+
|  1 | dynamic   | Auth-Type | := | Local | 
+----+-----------+-----------+----+-------+

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

mysql> select * from nas;
+----+---------------+---------------+---------------+-------+----------+-----------+---------------+
| id | nasname       | shortname     | type          | ports | secret   | community | description   |
+----+---------------+---------------+---------------+-------+----------+-----------+---------------+
|  1 | 127.0.0.1     | localhost     | other         |  NULL | whoiswho | NULL      | RADIUS Client | 
|  2 | 172.16.0.101  | 172.16.0.101  | mikrotik_snmp |  NULL | whoiswho | NULL      | RADIUS Client | 
Одним словом немного запутался в таблицах :shock:
Мне хотелось бы настроить систему таким образом, чтобы пользователи хранились в базе и получали динамически адреса из пула, по аналогии как это у меня сделано в файле.
Типа так

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

vpn-test2  User-Password == "passw2", Simultaneous-Use := 1, Calling-Station-Id == "172.20.24.7", Pool-Name := "private_ip_pool"
        Mikrotik-Rate-Limit += "4096k/4096k"

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-05 14:58:32
dm765
Вот это еще же надо в какую то таблицу занести

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

DEFAULT Auth-Type := Local
        Service-Type = Framed-User,
        Framed-Protocol = PPP,
        Framed-Routing = Broadcast-Listen,
        Framed-Filter-Id = "std.ppp",
        Framed-MTU = 1460,
        Framed-Compression = Van-Jacobsen-TCP-IP,
        Fall-Through = Yes

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-05 15:07:24
Гость
не занимайтесь херней
найдите в гугле о freenibs
почитайте мануальчик
там все расписано

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-05 20:41:02
kbakenov
рассказали бы как лутше м клиентом бэкапить сервер майскула....и имеет ли разница каким клиентом соединяться...

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-05 20:47:56
Гость
зачем что то рассказывать когда то что вам нужно уже тыщу раз по разу описано

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-10 16:48:49
kbakenov
да хоть миллион раз напишите ....если б все было просто для рядового пользователя....

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-10 17:03:59
Гость
если рядовой пользователь не умеет читать
то лучше для начала ему закончить школу и получить диплом(атестат)
а не mpd на фрирадиус настраивать
не тем занимаеться нынешняя молодеж, не тем

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-11 19:47:36
kbakenov
:oops: :"": :-P :-P

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-13 12:17:32
FreeBSP
kbakenov писал(а):рассказали бы как лутше м клиентом бэкапить сервер майскула....и имеет ли разница каким клиентом соединяться...

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

man mysqldump
http://www.freebsd.org/cgi/man.cgi?quer ... ormat=html

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-13 12:28:58
Гость
следющий ответ будет в духе
я не умею читать, вы мне лучше на словах расскажите
:-D

Re: PPtP, FreeRadius и MySQL - вопросы

Добавлено: 2010-04-13 12:34:51
FreeBSP
а я не долго думая, дам ссылку на горилку
на говорилку тоесть =)
она вслух прочитает

PS надо бы мне скрипт бекапинга муси допилить.. надо, да..