RADIUS服务器软件可以从多个地方获得。在本文中,我将使用 FreeRADIUS搭建RADIUS服务,本文将介绍两种搭建方法
RADIUS介绍
远程用户拨入验证服务(RADIUS, Remote Authentication Dial In User Service)是一个AAA协议,通常用于网络访问、或流动IP服务,适用于局域网及漫游服务。
RADIUS协议包括RADIUS验证协议(对应AAA的验证和授权)和RADIUS记账协议,分别定义于IETF RFC 2865和RFC 2866。
什么是AAA协议?
AAA是认证(Authentication)、授权(Authorization)和计费(Accounting)的简称,是网络安全中进行访问控制的一种安全管理机制,提供认证、授权和计费三种安全服务。
AAA提供的安全服务具体是指:
- 认证(Authentication):是对用户的身份进行验证,判断其是否为合法用户。
- 授权(Authorization):是对通过认证的用户,授权其可以使用哪些服务。
- 计费(Accounting):是记录用户使用网络服务的资源情况,这些信息将作为计费的依据。
首先,认证部分提供了对用户的认证。整个认证通常是采用用户输入用户名与密码来进行权限审核。认证的原理是每个用户都有一个唯一的权限获得标准。由AAA服务器将用户的标准同数据库中每个用户的标准一一核对。如果符合,那么对用户认证通过。如果不符合,则拒绝提供网络连接。
其次,用户要通过授权来获得操作相应任务的权限。比如,登录系统后,用户可能会执行一些命令来进行操作。这时,授权过程会检测用户是否拥有执行这些命令的权限。简单而言,授权过程是一系列强迫策略的组合,包括:确定活动的种类或质量、资源或者用户被允许的服务有哪些。授权过程发生在认证上下文中,一旦用户通过了认证,他们也就被授予了相应的权限。
最后,计费这一过程将会计算用户在连接过程中消耗的资源数目。这些资源包括连接时间或者用户在连接过程中的收发流量等等。可以根据连接过程的统计日志、用户信息、授权控制、账单、趋势分析、资源利用以及容量计划活动来执行计费过程。
yum 部署流程
1、yum install -y freeradius-utils freeradius
2、部署完成 ,启动FreeRadius调试模式。
radiusd -X
正常情况返回
可能出现的异常情况
端口被占用了,查看是谁占用了1812端口 输入命令:ss -ulnp
干掉:pkill radiusd 再重新启动就可以了。
1、添加用户并进行测试
按照官方文档的测试方法,在文件 /etc/raddb/users 的末尾添加:
testing Cleartext-Password := "password123"
其中: testing 是用户名, password123 是明文格式的密码.
接下来用radtest来测试服务器:
radtest testing password123 127.0.0.1 0 testing123
正常情况下返回
收到 Access-Accept 即表示测试成功!
2、配置 radius server 端:
修改服务器端记录客户端的配置文件 /etc/raddb/clients.conf 文件,该文件默认值提供了本机测试的 local 配置,即:安装完后默认只允许本机的client客户端访问radius服务器。Client有多种配置方式
# 只允许本机的客户端访问
client localhost {
ipaddr = 127.0.0.1
secret = testing123
}
# 配置所有网段都可访问
client all_clients {
ipaddr = 0.0.0.0/0
secret = testing123
}
保存文件 /etc/raddb/clients.conf,重启radius服务.