ubuntu安装freeradius3, freeradius3-mysql并配置

GitHub - pan2za/freeradius3-mysql-conf

详细配置各位大爷可以上去对比

0.安装freeradius-mysql,

#apt-get install freeradius freeradius-mysql

1.创建freeradius数据库

#service mysql start

...

#mysql -u root -p

Enter password: 456456

...

mysql> create database radius;    //freeradius为数据库的名字

...

mysql> quit

2.导入数据表

mysql -uroot -p radius < mods-config/sql/main/mysql/schema.sql


Enter password: 456456

/usr/local/etc/raddb/sql/mysql/schema.sql 主数据库定义,7个表,包括

radacct 计费情况表

radcheck 用户检查信息表

radgroupcheck 用户组检查信息表

radgroupreply 用户组检查信息表

radpostauth 认证后处理信息,可以包括认证请求成功和拒绝的记录

radreply 用户回复信息表

radusergroup 用户和组关系表

Create MySQL User and grant permissions

In the file mods-config/sql/main/mysql/setup.sql set a more secure password than 'radpass'. If your SQL server is running on a different machine you also have to replace the localhost with your radius server.

mysql -uroot -p radius < mods-config/sql/main/mysql/setup.sql

3.修改配置文件

3.1

更改

/etc/freeradius/3.0/sites-available/default
文件,使其支持sql;并把authorize{} 中的files前加#

sql前的#去掉 

3.2

更改/usr/local/etc/raddb/sites-enabled/inner-tunnel

authorize{}模块中的

files前加注释

取消sql前的注释

3.3

更改/etc/freeradius/3.0/mods-available/sql使其与mysql连接

修改以下内容

driver = rlm_sql_null   改为  driver = rlm_sql_mysql”,

dialect = "sqlite"        改为 dialect = "mysql"

server=”localhost”

login=”abills”

password=”mysqlabills的密码ixnfo.com”  

radius_db=”radius”

取消read_clients = yes 前的注释

再更改/usr/local/etc/raddb/radiusd.conf

$INCLUDE sql.conf前的#去掉

Edit /etc/freeradius/3.0/mods-available/sql module and enter the SQL dialect, driver, server, username and password details to connect to your SQL server and the RADIUS database.

The database and table names should be left at the defaults if you used the default schema. For testing/debug purposes, uncomment the logfile = ... line - FreeRADIUS will dump all SQL commands to the log file specified here.

3.4 做软连接(这个必须)

Next enable the sql module by executing

    cd mods-enabled
    ln -s ../mods-available/sql sql

3.5 修改default文件(同3.1)

Edit /sites-available/default (or whatever site config you use) and uncomment the line containing sql in the authorize{} section.

authorize {

sql

}
accounting {

sql

}
session {

sql

}
post-auth {

sql

}
Post-Auth-Type REJECT {
sql
}

Additionally, edit sites-available/inner-tunnel and uncomment the line containing 'sql' under "authorize {}".

Also uncomment the line saying 'sql' in the accounting{} section to tell FreeRADIUS to store accounting records in SQL as well.

Optionally add or uncomment 'sql' to the session{} section if you want to do Simultaneous-Use detection.

Optionally add or uncomment 'sql' to the post-auth{} section if you want to log all Authentication attempts to SQL.

Optionally, if you want to strip all realm names (i.e. you want user joe@domain.com to authenticate as just 'joe'), then in file mods-config/sql/main/*sql_dialect*/queries.conf , under the 'query config: username' section, you MAY need to adjust the line(s) referring to sql_user_name. For example, in uncomment the line:

sql_user_name = '%{Stripped-User-Name}'

...and comment out the following line referring to just User-Name. If you want to see what's happening here, switch on all the logging options in radiusd.conf and run radiusd in debug mode (-X) to see what's happening : you'll see " user@domain" being passed to SQL when using User-Name, but just "user" when using Stripped-User-Name. Of course, set all your other SQL options as needed (database login details, etc)

'''You should not change/delete any other lines in the config file without reading and understanding the comments!'''

The config you use (e.g. sites-enabled/default) should then look something like this:

 authorize {
        preprocess
        chap
        mschap
        suffix
        eap
        # We leave "files" enabled to allow creation of test users in the "users" file
        files
        sql
        pap
 }
 accounting {
        # We leave "detail" enabled to additionally log accounting to /var/log/radius/radacct
        detail
        sql
 }

4.在数据库中加入测试账号

  (1)建立组信息

#mysql -u root -p

Enter password:456456

...

mysql> use radius;

...

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type',':=','Framed-User');

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Address',':=','255.255.255.255');

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');

  (2)建立用户信息

mysql> insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');

  (3)将用户与组关联

mysql> insert into radusergroup (username,groupname) values ('test','user');

  (4)添加用户回复信息

mysql> insert  into radreply(username,attribute,op,value) values('test','Reply-Message','=','Yes,Good!');

查表信息,

mysql> select * from radusergroup;

+----------+-----------+----------+

| username | groupname | priority |

+----------+-----------+----------+

| test     | user      |        1 |

+----------+-----------+----------+

1 row in set (0.00 sec)

mysql> select * from radcheck;

+----+----------+--------------------+----+---------+

| id | username | attribute          | op | value   |

+----+----------+--------------------+----+---------+

|  5 | test     | Cleartext-Password | := | testpwd |

+----+----------+--------------------+----+---------+

1 row in set (0.00 sec)1 row in set (0.00 sec)

mysql> select * from radreply;

+----+----------+---------------+----+-----------+

| id | username | attribute     | op | value     |

+----+----------+---------------+----+-----------+

|  1 | test     | Reply-Message | =  | Yes,Good! |

+----+----------+---------------+----+-----------+

1 row in set (0.00 sec)

mysql>  select * from radgroupreply;

+----+-----------+-------------------+----+-----------------+

| id | groupname | attribute         | op | value           |

+----+-----------+-------------------+----+-----------------+

|  1 | user      | Auth-Type         | := | Local           |

|  2 | user      | Service-Type      | := | Framed-User     |

|  3 | user      | Framed-IP-Address | := | 255.255.255.255 |

|  4 | user      | Framed-IP-Netmask | := | 255.255.255.0   |

+----+-----------+-------------------+----+-----------------+

4 rows in set (0.00 sec)

mysql>

5.测试freeradius---mysql关联是否成功

#freeradius -X

# radtest test testpwd localhost 0 testing123

Sent Access-Request Id 232 from 0.0.0.0:45389 to 127.0.0.1:1812 length 74

         User-Name = "test"

         User-Password = "testpwd"

         NAS-IP-Address = 127.0.1.1

         NAS-Port = 0

         Message-Authenticator = 0x00

         Cleartext-Password = "testpwd"

Received Access-Accept Id 232 from 127.0.0.1:1812 to 0.0.0.0:0 length 49

         Reply-Message = "Yes,Good!"

         Service-Type = Framed-User

         Framed-IP-Address = 255.255.255.255

         Framed-IP-Netmask = 255.255.255.0

附件 修改mysql的默认密码

2、登录root用户mysql -uroot -p,这个时候直接回车,不要密码。

3、修改root密码

  1. use mysql;
  2.  
  3. ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
  4.  
  5. flush privileges;

附件2 freeradius3修改

guide/SQL HOWTO for freeradius 3.x on Debian Ubuntu

附件3 FAQ

1 ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject

答复:sql方言需要选择为mysql

2

FreeRadius. error solution rlm_sql_mysql: Couldn’t connect to MySQL server

答复:不能用root这个mysql用户连接mysql,改用abills用户

CREATE USER 'abills'@'127.0.0.1' IDENTIFIED BY 'ixnfo.com';

GRANT ALL PRIVILEGES ON *.* TO 'abills'@'127.0.0.1';

GRANT ALL PRIVILEGES ON *.* TO 'abills'@'localhost';

3 创建用户是注意属性是Cleartext-Password

insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: FreeRADIUS是一款免费、开源的Radius服务器软件,可以用于认证、授权、计费等网络管理。以下是freeradius-3.0.22-x64安装教程: 1.下载软件包 可以从FreeRADIUS官网上下载到最新版本的安装包,选择正确的平台版本,并下载到本地。 2.安装依赖库 在安装FreeRADIUS之前,需要先安装几个依赖库,比如OpenSSL、MariaDB或MySQL等。可通过以下命令安装: yum install -y openssl openssl-devel mariadb mariadb-server mariadb-devel 3.解压安装包 使用命令tar -zxvf freeradius-server-3.0.22.tar.gz 进行解压安装包。 4.编译安装 解压后,进入到源码目录下,执行以下命令进行编译安装: 1) ./configure # 用来检查系统环境以及设置编译选项。 2) make # 源码编译,这是最耗时的步骤,约需要20-30分钟。 5.安装 编译过程完成后,可以继续执行以下命令进行软件安装: 1) make install # 用来将编译后的文件安装到系统指定的目录下。 2) make install-unstripped # 安装未压缩版本的二进制文件,以便在调试时使用。 6.启动服务 最后,可以通过以下命令来启动FreeRADIUS服务: systemctl start radiusd 完成以上步骤,FreeRADIUS已经安装完成,可以根据实际需要进行相应的配置和个性化操作。 ### 回答2: FreeRADIUS是一款开源的RADIUS服务器,它支持广泛的身份验证方式和网络设备。它有着可靠的稳定性、广泛的远程管理选项和强大的用户管理功能。安装FreeRADIUS可以帮助我们更好地管理我们的网络资源和用户。 首先,我们需要下载FreeRADIUS-3.0.22-x64的安装包。打开终端,使用wget命令下载: $ wget https://github.com/FreeRADIUS/freeradius-server/archive/v3.0.22.tar.gz 下载完成之后,解压缩文件: $ tar -zxvf v3.0.22.tar.gz 然后进入到解压缩后的目录下: $ cd freeradius-server-3.0.22 接着安装依赖项: $ sudo apt-get install libtalloc-dev libssl-dev libpcre3-dev libmysqlclient-dev libpostgresql-dev libiodbc2-dev libldap2-dev libkrb5-dev libgdbm-dev libdb-dev libsqlite3-dev liblz4-dev liblzma-dev libsnmp-dev libxml2-dev 安装依赖项完成后,我们可以进行编译安装: $ sudo ./configure $ sudo make $ sudo make install 安装完成后,我们可以启动FreeRADIUS: $ sudo radiusd 注意:在安装过程中,可能会出现一些问题和报错,需要根据具体情况进行处理。此外,在安装完成后,需要对FreeRADIUS进行配置和管理,可以参考官方文档进行操作。 总之,安装FreeRADIUS-3.0.22-x64需要下载安装包、解压缩文件、安装依赖项、编译安装等步骤。通过正确的操作,我们可以成功安装配置FreeRADIUS,更好地管理和控制企业网络资源和用户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值