【freeradius3】安装和拓展需求
这次主要来看看 freeradius的安装,以及Python拓展的例子,还有计费字段根据厂家进行拓展。
3.0版本的安装
yum install libtalloc-devel
wget -c ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.11.tar.gz
tar zxvf freeradius-server-3.0.11.tar.gz
cd freeradius-server-3.0.11
./configure
make
make install
ldconfig
如果需要用mysql 和 python拓展 yum 安装下 python-devel, mysql-devel
默认的安装位置 /usr/local/etc/raddb/
开启python拓展
把
mods-available/python软连接到mods-enabled/python编辑 mods-enabled/python文件,这里是配置不同阶段使用那些python模块的地方,我这里只要去掉
#func_authorize = authorize这行的注释即可指定python的路径
export PYTHONPATH='/usr/local/etc/raddb/mods-config/python'
由于只启用了认证的部分,默认的配置的还是example.py 文件,所以这里就用这部分来实验下。
打印一些操作信息
def authorize(p):
print "*** authorize ***"
print
radiusd.radlog(radiusd.L_INFO, '*** radlog call in authorize llllll***')
print
print p
print sys.path
print os.getcwd()
radiusd.radlog(radiusd.L_INFO, '*** python part end ***')
return radiusd.RLM_MODULE_OK
自定义reply
def authorize(p):
print "*** authorize ***"
print
radiusd.radlog(radiusd.L_INFO, '*** radlog call in authorize llllll***')
print
print p
reply = (('Reply-Message', ':=', 'Hello from rlm_python'),
('Benu-Redirection-URL', ':=', 'http://baidu.com'),)
config = (('Cleartext-Password', 'benu123'),)
radiusd.radlog(radiusd.L_INFO, '*** python part end ***')
return (radiusd.RLM_MODULE_OK, reply, config)
config 配置的是用户的密码, 来看下测试结果
# echo "User-Name=cc:ff:ff:ff:ff,User-Password=benu123" |radclient 127.0.0.1:1812 auth testing123 -x
Sent Access-Request Id 182 from 0.0.0.0:48733 to 127.0.0.1:1812 length 54
User-Name = "cc:ff:ff:ff:ff"
User-Password = "benu123"
Cleartext-Password = "benu123"
Received Access-Accept Id 182 from 127.0.0.1:1812 to 0.0.0.0:0 length 67
Reply-Message = "Hello from rlm_python"
Benu-Redirection-URL = "http://baidu.com"
拓展计费表字段
以mysql作为计费表为例子。
调整mysql中计费表的字段
/mods-enabled/sql中要设置mysql数据库, 否则还是加载默认的sqlite修改
mods-config/sql/main/mysql/queries.conf里的insert和update语句,根据已经有语句的作为参照语法,调整sql即可。修改完之后 使用
radiusd -Xx来启动,如果语法正确是可以正常启动的,否则会报错。接着就可以用 radclient 来模拟认证请求测试了。
【freeradius3】安装和拓展需求的更多相关文章
- linux和windows下安装python拓展包及requirement.txt安装类库
python拓展包安装 直接安装拓展包默认路径: Unix(Linux)默认路径:/usr/local/lib/pythonX.Y/site-packagesWindows默认路径:C:\Python ...
- phpstudy 2016 切换Nginx+php7.0版本所需运行库 vc14 + 安装redis拓展
去微软官方下载vc14的运行库 链接:https://www.microsoft.com/en-us/download/details.aspx?id=48145 32位运行库 安装成功 切换版本成功 ...
- 如何导出chrome已安装的拓展程序
如何导出chrome已安装的拓展程序 已安装的chrome插件可以在浏览区中输入*chrome://extensions*便可以查看插件列表. 对于windows系统来说,这些插件对应的目录为: C: ...
- mac安装redis拓展
安装 下载源码 编译安装 添加拓展 添加权限重启 安装 在mac上安装了php7.1.7 php -m 查看安装的拓展,没有redis,以前可以brew install php71-redis简单命令 ...
- 2. Rabbitmq php 安装 amqp 拓展
记录一下 使用 rabbitmq 安装 amqp 拓展 环境 ubuntu 安装目录在 /user/local 下进行 1. 安装 wget apt-get update apt-get inst ...
- Win10中装Win10---virtualbox虚拟机的安装及拓展
最近在准备一档专栏时,发现我电脑中已经把一些环境配置完了,卸掉重装又显得麻烦,于是我就求助于虚拟机,虚拟机确实是个很好的东西,不久前我的一个伙伴向我请教虚拟机怎么装,发现这玩意三言两语还很难说清,于是 ...
- windows环境下wamp安装redis拓展
环境: wamp集成环境 安装分为两部 1.安装redis客户端 https://github.com/ServiceStack/redis-windows/raw/master/download ...
- 安装 redis 拓展
PHP API 20121113 PHP Extension 20121212 Zend Extension 220121212 Zend Extension Build API220121212,T ...
- php7 安装redis拓展
配置之前应该是环境已经搭好了,phpinfo的页面可以加载出来. 使用git clone下载git上的phpredis扩展包 git clone https://github.com/phpre ...
随机推荐
- premake设置静态运行库
premake设置静态运行库(金庆的专栏)链接protobuf库时,碰到RuntimeLibrary不匹配:1>libprotobufd.lib(int128.obj) : error LNK2 ...
- C++ 虚函数表 单继承
本文研究单继承情况下,c++对象的虚函数表的具体情况. 假设有两个类A,B, 其中B由A派生出来,A含有虚函数fun1,B含有虚函数fun2. 测试的代码如下: #include<iostrea ...
- Dynamics CRM 删除字段时检测到有组件类型为查看的依赖组件而无法删除问题
今天在删除一个字段的时候报如下截图错误,点开详细信息会看到是一个快速查找视图,但却在视图列中没有找到我要删的那个字段,然后回过头来又看到组件类型是查看,这是啥类型?有点摸不着头脑了. 最后想到是不是查 ...
- 关于bootstrap在IE8下不能支持自适应的问题
说到这个问题,我就想吐槽下IE了,开发这么多版本,每个版本都有一些这样那样的问题不支持,别的正常的浏览器咋都能支持呢?真是垃圾浏览器!!!! 说归说,但是IE现在用的人多啊,怎么办?这个问题还是得解决 ...
- 1089. Insert or Merge (25)
题目如下: According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, ...
- API创建/更新员工薪水
DECLARE lb_inv_next_sal_date_warning BOOLEAN; lb_proposed_salary_warning BOOLEAN; lb_approved_warnin ...
- Swift基础之集成单选按钮横竖两种样式
最近马上放假所以比较忙,今天简单写一个项目中出现的单选按钮的横竖样式,PS:封装的是Swift语言样式 首先创建一个UIView的类,然后创建方法,最后调用类中的方法进行显示 //参数一:需要显示的内 ...
- Xdoclet + Ant自动生成Hibernate配置文件
在使用Hibernate的时候,过多的Hibernate配置文件是一个让人头疼的问题.最近接触了Xdoclet这个工具.它实际上就是一个自动代码生成的工具,Xdoclet不能单独运行,必须搭配其他工具 ...
- Android简易实战教程--第四话《最简单的短信发送器》
首先配置一个布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...
- 免安装版本tomcat 指定的服务并未以已安装的服务存在,Unable to open the service
今天在自己的电脑上安装了Tomcat6.0.14,是在Tomcat主页上直接下载的免安装版.但是把文件解压的之后,双击Tomcat6w.exe时,去出现了"指定的服务并未以已安装的服务存在, ...