博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【freeradius2.x】 安装和学习
阅读量:6089 次
发布时间:2019-06-20

本文共 2686 字,大约阅读时间需要 8 分钟。

虚拟机中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└── users5 directories, 23 files

配置文件结构大概这样子,大部分的功能都是通过配置文件来完毕的,对于配置文件的熟悉很重要,每一个配置文件里都有大量的说明,细致阅读一遍基本也知道怎样操作。

radtest 是用来測试的工具,检查和測试很实用。

  • radiusd.conf 主配置文件

  • clients.conf 用来配置客户端 里面应该相应 NAS设备(比如BRAS),自带了一个本地測试client

  • users 配置了用户信息,针对某些用户设置认证规则,仅仅能使用pap的模式,能够设置password加密

  • 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个经常使用的认证协议,这三种协议都须要实username和password,算是文本协议,所以还挺easy观察和測试

  • PAP

    • redtest 命令默认就是使用这个协议,使用最广泛的协议。

    • NAS会使用 username和加密之后的password 和Radius服务器交互

    • password明文存储

測试, 用户信息在user文件里配置

radtest  alice passme 127.0.0.1 100 testing123Sending 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 = 0x00000000000000000000000000000000rad_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 的升级版本号

    • 添加握手

    • password明文存储 password交互使用密文

  • MS-CHAP

    • 微软版本号的 CHAP 协议
  • EAP 拓展协议

用户存储

头两个种方式都不推荐

  • 文件方式 使用配置文件 users 文件来存储用户和password

  • 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的生命周期

问题

配置多个数据库

參考

  • 首先要编辑 数据库配置文件 sql.conf 添加一个sql配置块。 sql dbname {} dbname相似别名,配置项照着原来的配置写就好了

  • 然后把 site-enable/default 原来的配置项sql 凝视掉 添加 dbname,就会使用 dbname中配置的数据库了

学习资料

转载地址:http://sepwa.baihongyu.com/

你可能感兴趣的文章
Sequence在Oracle中的使用
查看>>
IOS7状态栏StatusBar官方标准适配方法
查看>>
解决小米手机USB安装apk时AS报错:INSTALL_FAILED_USER_RESTRICTED
查看>>
C++ if
查看>>
CF 715 E. Complete the Permutations
查看>>
我的前端工具集(五)提示工具之模态窗提示
查看>>
python_基本语法之变量
查看>>
自定义复选框样式
查看>>
JS数组操作
查看>>
git 冲突
查看>>
简单的 nginx 多站点配置
查看>>
《C++ Primer Plus》读书笔记之十一—类继承
查看>>
Pycharm 安装 autopep8 工具
查看>>
Ubuntu安装Python的mysqlclient
查看>>
Java 多线程(二)—— 线程的同步
查看>>
Java 多线程(五)—— 线程池基础 之 FutureTask源码解析
查看>>
Android AppWidget如何支持复杂的View(转)
查看>>
网页CSS常用中英文字体收集
查看>>
Linux常用命令笔记
查看>>
Python CAN
查看>>