CentOS6.5搭建freeradius服务器

本文详细介绍如何在Linux环境下安装和配置Freeradius服务器,并通过MySQL数据库进行用户管理和带宽设置,包括安装软件包、创建数据库、配置文件调整、用户添加及测试认证等步骤。

1 安装freeradius和mysql

yum -y install freeradius freeradius-mysql freeradius-utils mysql-server

2 启动mysql

service mysqld start

创建数据库并授权

mysql -uroot -p

mysql-> CREATE DATABASE radius;

mysql-> GRANT ALL PRIVILEGES ON radius.* TO radius@localhost IDENTIFIED BY "radpass";

mysql-> flush privileges;

4 导入数据表

mysql> use radius;

mysql> SOURCE /etc/raddb/sql/mysql/schema.sql

mysql> exit

配置freeradius

5.1 数据库连接文件

修改配置文件/etc/raddb/sql.conf 

# Connection info:

server = "localhost"

#port = 3306

login = "root"      #mysql登录用户名

password = ""     #上述登录用户名的密码

# Database table configuration for everything except Oracle

radius_db = "radius"

5.2 基本配置文件

修改配置文件/etc/raddb/radiusd.conf

$INCLUDE  sql.conf   #去掉前面的注释

5.3 默认配置文件

修改配置文件/etc/raddb/sites-available/default

authorize{} 字段中去掉里面sql前面的注释

accounting {} 字段中去掉里面sql前面的注释

session {} 字段中去掉里面sql前面的注释

下图所示:


5.4 inner-tunnel配置文件

修改配置文件/etc/raddb/sites-available/inner-tunnel 

authorize {} 字段中去掉里面sql前面的注释

session {} 字段中去掉里面sql前面的注释

5.5 访问权限配置文件

修改配置文件/etc/raddb/clients.conf

添加freeradius clientip地址secret

(例如在clients.conf末尾添加下面语句

client 10.18.0.0/24 {

    secret = 1234567890

}

 

6启动freeradius服务

service radiusd restart

 

7添加用户和密码

mysql -uroot -p
mysql> use radius;
mysql> insert into radcheck (username,attribute,op,value) values ('test','User-Password',':=','test');
mysql> exit;

 

 

8添加用户带宽设置

必须增加这些字段,否则用户获取不到带宽,tm将不转发该用户的包。

这里以添加zte厂商的带宽设置为例,不同的用户将test改成对应的用户名即可。

 

mysql -uroot -p

mysql> use radius;

 

mysql> insert radreply values("","test","ZTE-Rate-Ctrl-Scr-Down","=", "512000");

mysql> insert radreply values("","test","ZTE-Rate-Ctrl-Scr-Up","=", "512000");

 


9测试

9.1 服务器本地测试

radtest test test 127.0.0.1 0 testing123

测试工具   radtest freeradius后自带的工具

用户名:     test

密码:       test

服务器地址 127.0.0.1

端口数量   0(默认

秘钥:       testing(系统默认

 

看到“rad_recv: Access-Accept” 表示认证成功认证成功。


 

9.2 客户端远程测试

radtest test test 10.18.0.42 0 1234567890

测试工具   radtest freeradius后自带的工具

用户名:     test

密码:       test

服务器地址 10.18.0.42

端口数量   0(默认

秘钥:       1234567890(5.5设置

 

[root@localhost home]# radtest test test 10.18.0.42 0 1234567890

Sending Access-Request of id 125 to 10.18.0.42 port 1812

User-Name = "test"

User-Password = "test"

NAS-IP-Address = 127.0.0.1

NAS-Port = 0

Message-Authenticator = 0x00000000000000000000000000000000

rad_recv: Access-Accept packet from host 10.18.0.42 port 1812, id=125, length=44

ZTE-Rate-Ctrl-SCR-Down = 512000

ZTE-Rate-Ctrl-SCR-


<think>嗯,用户想在CentOS 9上安装和配置FreeRADIUS服务器。我需要先整理一下步骤。首先,CentOS 9可能和之前版本的包管理有些不同,比如用dnf代替yum。然后,FreeRADIUS的安装可能需要从源码编译,因为默认仓库可能没有最新的版本。参考之前的引用里提到过CentOS7的安装步骤,用户需要类似的指导,但针对CentOS9。 首先,环境准备部分。用户需要安装必要的开发工具和依赖包。比如gcc、make这些编译工具,还有像libtalloc这样的库。可能需要运行dnf groupinstall "Development Tools"来安装开发工具组。然后关闭防火墙和SELinux,这部分和之前的CentOS7步骤类似,但需要确认命令是否有变化,比如systemctl的用法是否一样。 接下来是下载和编译FreeRADIUS。用户需要从官网下载源码包,解压后进入目录,执行configure、make、make install。这里要注意权限问题,可能需要用sudo来执行安装。另外,configure的时候可能需要指定安装路径或启用某些模块,比如数据库支持,但用户的问题中没有提到需要数据库,可能基础配置就够了。 然后是配置FreeRADIUS的部分。编辑radiusd.conf,设置日志、认证端口等。用户需要知道默认的客户端配置,比如在clients.conf中添加本地客户端的IP和共享密钥。测试时使用radtest命令,这里需要确保用户文件(如users)中有测试账号的正确配置。 可能遇到的问题包括依赖包缺失,编译错误,或者配置文件路径不正确。比如CentOS9的某些库名称可能不同,需要确认。另外,SELinux如果开启可能会阻止服务运行,所以建议先禁用它,或者配置相应的策略。 用户可能还希望服务器在启动时自动运行,所以需要创建systemd服务文件,并启用服务。这部分在之前的引用中提到过,但CentOS9的systemd配置是否相同呢?可能需要检查服务文件的路径和内容是否正确。 最后,生成相关问题时,要考虑用户可能的后续需求,比如性能优化、与其他服务集成(如LDAP或MySQL),或者生产环境的安全配置。比如如何配置TLS加密,或者使用EAP方法进行更安全的认证。</think>### CentOS 9 安装配置 FreeRADIUS 服务器指南 #### 一、环境准备 1. **关闭防火墙与SELinux** ```bash sudo systemctl stop firewalld sudo systemctl disable firewalld sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config sudo setenforce 0 ``` 该操作可避免网络策略干扰服务运行[^2] 2. **安装开发工具** ```bash sudo dnf groupinstall "Development Tools" -y sudo dnf install openssl-devel libtalloc-devel -y ``` 这是编译FreeRADIUS的必要依赖 #### 二、源码编译安装 1. **下载源码包** ```bash wget https://github.com/FreeRADIUS/freeradius-server/archive/refs/tags/release_3_2_3.tar.gz tar xzf release_3_2_3.tar.gz cd freeradius-server-release_3_2_3/ ``` 2. **编译与安装** ```bash ./configure --prefix=/usr/local/freeradius make sudo make install ``` 通过`--prefix`指定自定义安装路径 #### 三、基础配置 1. **创建系统服务** ```bash sudo tee /etc/systemd/system/freeradius.service <<EOF [Unit] Description=FreeRADIUS After=network.target [Service] Type=forking ExecStart=/usr/local/freeradius/sbin/radiusd -d /usr/local/freeradius/etc/raddb ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target EOF ``` 2. **配置测试客户端** 编辑`/usr/local/freeradius/etc/raddb/clients.conf`: ```nginx client localhost { ipaddr = 127.0.0.1 secret = testing123 require_message_authenticator = no } ``` #### 四、运行与验证 1. **启动服务** ```bash sudo systemctl daemon-reload sudo systemctl start freeradius sudo systemctl enable freeradius ``` 2. **执行基础测试** ```bash radtest testuser testpass 127.0.0.1 0 testing123 ``` 成功响应应包含`Access-Accept`报文 #### 五、进阶配置建议 1. **用户存储配置** - 编辑`/usr/local/freeradius/etc/raddb/mods-available/files` - 添加测试用户: ``` "testuser" Cleartext-Password := "testpass" ``` 2. **启用EAP-TLS认证** ```bash cd /usr/local/freeradius/etc/raddb/mods-enabled sudo ln -s ../mods-available/eap . ``` 需配置SSL证书后生效[^1]
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值