admin 管理员组文章数量: 887021
2024年3月7日发(作者:accept函数作用)
1 RADIUS服务
1.1 radius工作原理
RADIUS(Remote Authentication Dial In User Service)远程认证拨号用户服务,是在网络访问服务器(Network Access Server,NAS)和集中存放认证信息的Radius服务器之间传输认证、授权和配置信息的协议。
RADIUS以Client/Server方式工作,实现了对远程电话拨号用户的身份认证、授权和计费功能。其Client端多为通过拨号方式实现的 NAS,主要用来将用户信息传递给服务器;RADIUS服务器则对用户进行认证,并返回用户的配置信息。为了保证传输的安全性,在Client和 Server之间传送的数据均以MD5方式加密。在RADIUS的Server端和Client端之间的通信主要有两种情况;一种是接入认证;另一种是计费请求。
使用RADIUS可以实现集中化的认证和记费功能,可以减少管理的负担和费用,同时还可以实现很多扩展的功能,如用户拨号时间的限定、用户拨号时间的配额、根据用户分配特定IP地址等等。RADIUS是一种基于UDP协议的上层协议,认证服务的监听端口号为1812,记费服务的监听端口号为1813。
RADIUS的工作流程是:(1)用户拨入NAS; (2)NAS向RADIUS服务器发送一系列加密的“属性/值”; (3)RADIUS服务器检查用户是否存在、属性/值是否匹配;(4)RADIUS服务器发送回“接受“或“拒绝“给NAS。
RADIUS服务器通常是基于数据库来实现的。对于大型ISP,通常会使用诸如Oracle之类的大型后台数据库。而对于中小型应用使用mySQL这样的数据库就足够了。RADIUS的身份验证也可以通过LDAP来实现,但其应用不如数据库那么广泛。
2 FREERADIUS安装
FREERADIUS是一套开源免费的完全兼容RADIUS协议的RADIUS服务器/客户端软件,可以用它对用户的接入和访问特定的网络进行有效的控制、授权、计费等等,它支持多种验证,包括文件、LDAP以及主流的支持SQL的数据库(ORACLE,MYSQL,DB2等等)。我们可以使用FREERADIUS来搭建一个3A认证的服务器,下面对详细介绍如何配置FREERADIUS。
2.1 安装FREERADIUS
首先从FREERADIUS的官方网站上下载最新的FREERADIUS的安装包,网址是:/。安装包一般被命名为,其中X是
带表其版本号,根据不同的发布时间,其值将会有所不同,我们以的安装包为例。
1) [root@localhostava]# tar zxvf
对其进行解包,将在本目录下生成一个freeradius-server-2.2.0的文件夹.
2) [root@localhostava]# cd freeradius-server-2.2.0进入此文件夹。
3) ./configure执行安装配置命令
出现以下信息:
。。。。。。
configure: creating ./
: creating Makefile
4) make编译安装包
5) make install安装radius
。。。。。。
Installing dictionary files in /usr/local/share/freeradius
/tmp/freeradius-server-2.2.0/libtool --finish /usr/local/lib
PATH="$PATH:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and (8) manual pages.
----------------------------------------------------------------------
至此,FREERADIUS的安装过程就已经结束了,如果你是严格安装以上的顺序进行安装的,那么FREERADIUS将被默认安装在/usr/local的目录下。其中,在/usr/local/etc/raddb的目录下存放的是FREERADIUS的配置文件,/usr/local/bin下面存放的是FREERADIUS的常用命令。
另外,在FREERADIUS的安装包文件夹的DOC目录下存放有大量的关于FREERADIUS的说明文档资料,有兴趣的话可以去看看。
2. 查看服务器安装位置
#cd /usr/local/etc/raddb
查看该目录,如果存在证明服务器安装完成。
3.
2.2 启动和停止RADIUS的服务
2.2.1 启动radius服务
FREERADIUS的启动分为两种模式:一种是DEBUG模式,一种是正常启动模式。其中DEBUG模式用于观察RADIUS的运行情况,可以对验证请求的整个过程进行监测。如我们可以通过FREERADIUS的DEBUG模式,观察从NAS发出验证请求到服务器回应验证的结果的这段时间内,服务器做了哪些事情。而正常启动模式是单纯的启动RADIUS的服务,一般在后台运行,等待并处理NAS发出的验证请求。
1)启动DEBUG模式的方法是在系统终端下的命令行中执行:
[root@localhost freeradius-server-2.2.0]# radiusd –X
其中参数X代表以DUBUG模式启动。提示信息如下:
... adding new socket proxy address * port 52856
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /usr/local/var/run/radiusd/
Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Listening on proxy address * port 1814
Ready to process requests.
证明服务器已经启动,处于监听状态,等待客户端发送信息。如果要停止FreeRadius服务,直接Ctrl+C中断。
2)正常启动模式,可以在系统终端下的命令行中执行:
[root@localhost freeradius-server-2.2.0]# radiusdor
2.2.2 测试FreeRadius服务器
[root@localhost ~]# radtestava testing 127.0.0.1 1812 testing123
Sending Access-Request of id 58 to 127.0.0.1 port 1812
User-Name = "ava"
User-Password = "testing"
NAS-IP-Address = 127.0.0.1
NAS-Port = 1812
Message-Authenticator = 0x00000000
rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=58, length=20
如果radtest收到如上的响应,则表明FreeRADIUS服务器工作正常。注意:用户名随便输入,都能验证通过,这个是因为用户配置文件没有进行配置,增加用户是修改users文件。
2.2.3 停止radius服务
1)在DEBUG模式下启动的RADIUS服务可以按键盘的CTRL+C来终止。
2)正常启动的RADIUS服务终止方式如下:
[root@localhost ~]# ps –ef
。。。。。。
root 4198 1 0 14:40 ? 00:00:00 gnome-screensaver
root 4204 1 0 14:41 ? 00:00:00 gnome-terminal
root 4208 1 0 14:41 ? 00:00:00 scim-bridge
root 4209 4204 0 14:41 ? 00:00:00 gnome-pty-helper
root 4210 4204 0 14:41 pts/1 00:00:00 bash
root 4235 3030 0 14:41 ? 00:00:00 sshd: root@pts/2
root 4237 4235 0 14:41 pts/2 00:00:00 -bash
root 4279 4210 0 14:44 pts/1 00:00:00 radiusd -X
root 4288 4237 0 14:45 pts/2 00:00:00 ps -ef
找到其中名为radiusd的进程,记住进程号,这里radiusd进程的ID为4279。
[root@localhost ~]# kill -9 4279
3 RADIUS服务器配置
版权声明:本文标题:学习笔记--Radius服务及其搭建过程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1709822163h547783.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论