虚拟机中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),自带了一个本地测试client

  • users 配置了用户信息,针对某些用户设置认证规则,只能使用pap的模式,可以设置密码加密

  • sql.conf 配置使用哪种数据库等,以及sql规则等

  • site-available site-enabled 是存放 virtual server的目录,类似Apache的配置策略

概念

  • NAS 设备: 网络接入设备,这里一般是 Radius Client

  • 认证和权鉴 使用 UDP 1812端口

  • 计费 使用 UDP 1813端口

命令

  • radiusd freeradius主程序,一般调试调试模式 使用 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。

    1. 安装mysql插件 yum install freeradius2-mysql

    2. 创建数据库,导入初始化输入(根据文档就好了)

    3. 编辑 radius.conf# $INCLUDE sql.conf 行的注释

    4. 编辑 sql.conf 中 msql 的认证信息

    5. 编辑 sites-enabled/defaultauthorize 部分 去掉 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】 安装和学习的更多相关文章

  1. 20165226 预备作业3 Linux安装及学习

    20165226 预备作业3 Linux安装及学习 Linux安装 一.下载安装VirtualBox 1.首先在官网下载,点开基于VirtualBox虚拟机安装Ubuntu图文教程 找到版本进行下载安 ...

  2. 20165230 预备作业3 Linux安装及学习

    20165230 预备作业3 Linux安装及学习 安装Linux操作系统 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,开始了虚拟机的安装,根据教程按着步骤一步一步的完成. 遇 ...

  3. Torch的安装和学习

    Long long ago, 就已经安装好Torch,这里再记录一下.Torch是Facebook开发的用于AI的科学计算框架,可广泛运用于机器学习的很多算法.相比Caffe,其接口运用更加方便,使用 ...

  4. 20165237 预备作业3 Linux安装及学习

    Linux安装及学习 安装 对操作系统略知一二的我,按照老师发的基于VirtualBox虚拟机安装Ubuntu图文教程慢慢一步步往下做,虽然中间有些小困难,但最终都得以解决,安装成功. 遇到的小困难: ...

  5. 20165325 预备作业3 Linux安装及学习

    Linux安装及学习 一.VirtualBox和Ubuntu安装 问题一:虚拟机中Ubuntu的版本 在设置虚拟机的操作系统的版本时,我发现我的电脑只能设置32-bit的Ubuntu版本.教程上选用了 ...

  6. 20165206 预备作业3 Linux安装及学习

    Linux的安装与学习 - 在自己笔记本上安装Linux操作系统 在安装虚拟机的过程中遇到了不少问题,但也都进行了尝试并得到了解决.首先是在安装VirtulBox的安装上,按照老师给的链接下载安装,不 ...

  7. redis 安装配置学习笔记

    redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://downl ...

  8. 20165317 Linux安装及学习

    Linux安装及学习 一.Linux的安装 我通过virtualbox和ubuntu官网下载了virtualbox5.2.6和ubuntu17.04版本. 在操作过程中,我基本是按照老师的步骤进行的, ...

  9. 20165336 预备作业3 Linux安装及学习

    Linux 安装及学习 一.VirtualBox和Ubuntu的安装 依照老师所给的步骤下载了VirtualBox 5.2.6和Ubuntu 16.04.3. 按照步骤一步一步进行了安装,出现的问题有 ...

随机推荐

  1. python语言学习

    前段时间要做视频直播需要编写自动模块,就考虑使用python脚本语言,python的好多语法都是很独特的,比如数据类型不需要预定义,缩进的方式等,另外功能也很强大,豆瓣就是用python写的.我写的部 ...

  2. logstash分析日志

    待处理日志格式如下: [totalCount: 298006556, count: 287347623, queryCount: 259027994, exeCount: 28319629, tota ...

  3. 重新安装nginx注意事项

    记得清理/etc/nginx/sites-enabled/default

  4. 漏洞挖局利器-Fuzz技术介绍

    模糊测试的定义 模糊测试定义为"通过向应用提供非预期的输入并监控输出中的异常来发现软件中的故障(faults)的方法". 典型而言,模糊测试利用自动化或是半自动化的方法重复地向应用 ...

  5. 利用CocoaHTTPServer实现wifi局域网传输文件到iphone

    背景 近日在做一个代码阅读器,其中涉及到代码文件的上传,之前看到过许多app支持局域网传文件,因此就通过查询和研究实现了此功能,我是用的框架是CocoaHTTPServer. 原理 CocoaHTTP ...

  6. 利用ScrollView滑动属性实现点击查看更多

    利用ScrollView的滚动实现点击查看更多 效果图 更新内容布局 <ScrollView android:id="@+id/sv_des" android:layout_ ...

  7. 什么时候App委托会收到App进程被结束的消息

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们在Xcode建立的新项目后,在AppDelegate类会发 ...

  8. 根据iOS 10 的新特性,创建iMessage App,可用于自定义表情

    第一. 介绍(原文作者 澳大利亚19岁少年--Davis Allie ----原文地址) 随着iOS10的发布,苹果对开发者开放了Messages应用程序,开发人员现在可以创建他们自己的各种类型 并且 ...

  9. 刀片服务器和磁盘阵列卡(RAID)技术---永和维护

    近期客户需要更换服务器,客户把买好的服务器送来了,原本感觉很小的一个服务器,可当我看到的时候是一个大个的又长又宽,类似机房服务器的那种,后来米老师给大致讲解一番:这个是刀片服务器. 刀片服务器是指在标 ...

  10. UNIX环境高级编程——存储映射I/O(mmap函数)

         共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式,因为进程可以直接读写内存,而不需要任何数据的拷贝.对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共 ...