【freeradius2.x】 安装和学习
虚拟机中centos 安装和学习 radius2 版本是2.2.x 的使用等知识
安装
为了测试方面,yum安装
yum -y install freeradius*
配置文件的位置是 /etc/raddb/ 编译安装可能在 /usr/local/etc/raddb
# /etc/init.d/radiusd
用法:/etc/init.d/radiusd {start|stop|status|restart|condrestart|try-restart|reload|force-reload}
yum会自动生成服务脚本,然后可以把radius当做服务直接使用了
配置文件
[root@orangleliu raddb]# tree -L 1
.
├── acct_users
├── attrs
├── attrs.access_challenge
├── attrs.access_reject
├── attrs.accounting_response
├── attrs.pre-proxy
├── certs
├── clients.conf
├── dictionary
├── eap.conf
├── example.pl
├── hints
├── huntgroups
├── ldap.attrmap
├── modules
├── panic.gdb
├── policy.conf
├── policy.txt
├── preproxy_users
├── proxy.conf
├── radiusd.conf
├── sites-available
├── sites-enabled
├── sql
├── sql.conf
├── sqlippool.conf
├── templates.conf
└── users
5 directories, 23 files
配置文件结构大概这样子,大部分的功能都是通过配置文件来完成的,对于配置文件的熟悉非常重要,每个配置文件中都有大量的说明,仔细阅读一遍基本也知道如何操作。
radtest 是用来测试的工具,检查和测试非常有用。
radiusd.conf主配置文件clients.conf用来配置客户端 里面应该对应 NAS设备(例如BRAS),自带了一个本地测试clientusers配置了用户信息,针对某些用户设置认证规则,只能使用pap的模式,可以设置密码加密sql.conf配置使用哪种数据库等,以及sql规则等site-available site-enabled是存放 virtual server的目录,类似Apache的配置策略
概念
NAS 设备: 网络接入设备,这里一般是 Radius Client
认证和权鉴 使用 UDP 1812端口
计费 使用 UDP 1813端口
命令
radiusdfreeradius主程序,一般调试调试模式 使用radiusd -Xx来启动radlast用来查询用户通过NAS登录的情况radtest用来模拟NAS设备发送请求radwho查看当前在线的用户,可能因为配置编译等原因不好使radrap关闭某个NAS的所有session
功能
认证
3个常用的认证协议,这三种协议都需要有用户名和密码,算是文本协议,所以还挺容易观察和测试
PAP
redtest命令默认就是使用这个协议,使用最广泛的协议。NAS会使用 用户名和加密之后的密码 和Radius服务器交互
密码明文存储
测试, 用户信息在user文件中配置
radtest alice passme 127.0.0.1 100 testing123
Sending Access-Request of id 41 to 127.0.0.1 port 1812
User-Name = "alice"
User-Password = "passme"
NAS-IP-Address = 127.0.0.1
NAS-Port = 100
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=41, length=40
Framed-IP-Address = 192.168.59.103
Reply-Message = "Hello, alice"
CHAP
PAP 的升级版本
增加握手
密码明文存储 密码交互使用密文
MS-CHAP
- 微软版本的 CHAP 协议
EAP 拓展协议
用户存储
头两个种方式都不推荐
文件方式 使用配置文件 users 文件来存储用户和密码
Unix 系统用户 其实是使用
/etc/shadow来存储的用户信息(但是要注意权限问题,需要再 site-enable 中authorize 中打开unix配置)数据库方式 例如Mysql。
安装mysql插件
yum install freeradius2-mysql创建数据库,导入初始化输入(根据文档就好了)
编辑
radius.conf中# $INCLUDE sql.conf行的注释编辑
sql.conf中 msql 的认证信息编辑
sites-enabled/default中authorize部分 去掉 sql 的选项注释
计费过程
计费和认证相对独立的,需要NAS来控制整个过程。
可以用来统计用户上网时间,以及流量数据等。
计费开始发送
Accounting-Request请求, 开始一个session,分配一个session-id计费请求中状态字段 Acct-Status-Type 为
Start, Interim-Update, Stop来操作session的生命周期
问题
配置多个数据库
参考freeradius-checking-account-on-multiple
首先要编辑 数据库配置文件 sql.conf 增加一个sql配置块, sql dbname {} dbname类似别名,配置项照着原来的配置写就好了
然后把
site-enable/default原来的配置项sql 注释掉 增加 dbname,就会使用 dbname中配置的数据库了
学习资料
【freeradius2.x】 安装和学习的更多相关文章
- 20165226 预备作业3 Linux安装及学习
20165226 预备作业3 Linux安装及学习 Linux安装 一.下载安装VirtualBox 1.首先在官网下载,点开基于VirtualBox虚拟机安装Ubuntu图文教程 找到版本进行下载安 ...
- 20165230 预备作业3 Linux安装及学习
20165230 预备作业3 Linux安装及学习 安装Linux操作系统 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,开始了虚拟机的安装,根据教程按着步骤一步一步的完成. 遇 ...
- Torch的安装和学习
Long long ago, 就已经安装好Torch,这里再记录一下.Torch是Facebook开发的用于AI的科学计算框架,可广泛运用于机器学习的很多算法.相比Caffe,其接口运用更加方便,使用 ...
- 20165237 预备作业3 Linux安装及学习
Linux安装及学习 安装 对操作系统略知一二的我,按照老师发的基于VirtualBox虚拟机安装Ubuntu图文教程慢慢一步步往下做,虽然中间有些小困难,但最终都得以解决,安装成功. 遇到的小困难: ...
- 20165325 预备作业3 Linux安装及学习
Linux安装及学习 一.VirtualBox和Ubuntu安装 问题一:虚拟机中Ubuntu的版本 在设置虚拟机的操作系统的版本时,我发现我的电脑只能设置32-bit的Ubuntu版本.教程上选用了 ...
- 20165206 预备作业3 Linux安装及学习
Linux的安装与学习 - 在自己笔记本上安装Linux操作系统 在安装虚拟机的过程中遇到了不少问题,但也都进行了尝试并得到了解决.首先是在安装VirtulBox的安装上,按照老师给的链接下载安装,不 ...
- redis 安装配置学习笔记
redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://downl ...
- 20165317 Linux安装及学习
Linux安装及学习 一.Linux的安装 我通过virtualbox和ubuntu官网下载了virtualbox5.2.6和ubuntu17.04版本. 在操作过程中,我基本是按照老师的步骤进行的, ...
- 20165336 预备作业3 Linux安装及学习
Linux 安装及学习 一.VirtualBox和Ubuntu的安装 依照老师所给的步骤下载了VirtualBox 5.2.6和Ubuntu 16.04.3. 按照步骤一步一步进行了安装,出现的问题有 ...
随机推荐
- Android反编译(未混淆的apk)
Android反编译(未混淆的apk) 工具 dex2jar 下载地址:我的CSDN 或者 官网 jd-gui 下载地址:我的CSDN 或者 官网 反编译步骤 1. 将APK解压缩,获取classes ...
- 关于bitmap你不知道的一些事
1.计算机表示图形的几种方式 1)BMP :几乎不进行压缩 占用空间比较大 2)JPG : 在BMP的基础上对相邻的像素进行压缩,占用空间比BMP小 3) PNG : 在JPG的基础上进一步压缩 占用 ...
- Android中Sqlite数据库进行增删改查
今天这篇文章写Sqlite数据库,通过一个小案例来完整讲一下数据库常见的CRUD操作. 先对知识点总结: SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHel ...
- 28自定义View 模仿联系人字母侧栏
自定义View LetterView.java package com.qf.sxy.customview02; import android.content.Context; import andr ...
- 【我的书】Unity Shader的书 — 目录(2016.5.19最后一次更新)
写在前面 感谢所有点进来看的朋友.没错,我目前打算写一本关于Unity Shader的书. 出书的目的有下面几个: 总结我接触Unity Shader以来的历程,给其他人一个借鉴.我非常明白学Shad ...
- Android之触摸手势检测GestureDetector使用详解
在Android中,当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing,onSingleTapConfirmed(单击),onDoubleTap(双击)等等. 一般情 ...
- 安卓2.x的版本使用4.x的主题
现在,还有大部分安卓开发者在开发安卓APP时使用的是2.x的SDK版本,为了兼容2.x的手机这本倒无可厚非,但最令人头痛的就是2.x版本的主题是在太丑了,这是安卓刚推出时只考虑到了实用,并没考虑到美观 ...
- Android中Socket通信之TCP与UDP传输原理
一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是"请求-响应方式",即在请求时 ...
- EBS系统克隆
术语 克隆是对已有的Oracle应用系统创建一份拷贝的过程.克隆一个Oracle应用系统有几种不同的情况,包括: l 标准克隆 – 复制一个已有的Oracle应用系统生成一份拷贝,例如对生产 ...
- 对Bitmap的内存优化
在Android应用里,最耗费内存的就是图片资源.而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常.所以,对于图 ...