zoukankan      html  css  js  c++  java
  • freeradius源码安装及相关问题解释

    当前版本基于:2.1.12

    安装freeradius

     =============================================================================

    源码安装的话没什么好说的、去官网下载最新源码包、解压安装

     $ ./configure
    $ make
    $ make install



    源码安装完毕后、运行调试模式

    radiusd -X

    成功运行就表示安装好了、

    相关目录:

    配置文件目录:/usr/local/etc/raddb

    运行radius遇到的问题 

     =============================================================================

    安装后出现类似的问题

    问题一:

    radiusd: error while loading shared libraries: libfreeradius-radius-2.1.3.so: cannot open shared object file: No such file or directory 

    这个就是radiusd找不到相关so文件、迩可以通过find命令来定位这个文件目前在哪里、通常经过源码安装方式安装后都会在/usr/local/lib目录下、把这个路径加入环境变量就可以了、

    先执行

    export LD_LIBARY_PATH="/usr/local/lib"

    再执行

    /sbin/ldconfig -v


    问题二:

    也是在执行调试模式时

    radiusd -X

    遇到"unable to write 'random state'"
    这个时候、迩把.rnd删除就行了、通常是在用户目录或者openssl的相关目录中、迩可以自行使用find命令来搜索一下具体的位置然后删除

    sudo rm ~/.rnd

    .rnd文件是用户安装一些软件产生的key file、随机文件来的、删除了也没关系、因为下次需要的话相关程序也会再次自动生成它、这里可能就是因为当前.rnd文件占用了所以导致radiusd服务器无法生成一个新的rnd文件所以导致错误的、

    测试服务端和客户端的连接

     =============================================================================

    当迩成功运行了radiusd的调试模式后、radiusd就一直处于等待请求的状态、下面莪们试试使用radtest来测试一下验证服务是否工作正常、打开配置文件目录:/usr/local/etc/raddb、编辑其中的users文件

    vim users                      

    这个文件就是定义radiusd用户的文件、其实正式使用验证服务器的话应该是使用数据库如mysql来管理这些用户数据的、不过现在开发测试阶段就先把用户信息使用这个users的文本方式来简单记录一下吧、打开users后、默认的users文件有几百行、不过大多数是注释文件、起作用的就是几行、规定了连接使用的协议等等、使用查找命令查找“Cleartext-Password”、会找到几个已经被注释掉的用户信息、把这个反注释掉令其生效就可以使用该用户了、比如莪们将使用steve这个用户来登录

    steve   Cleartext-Password := "testing"
    Service-Type = Framed-User,
    Framed-Protocol = PPP,
    Framed-IP-Address = 172.16.3.33,
    Framed-IP-Netmask = 255.255.255.0,
    Framed-Routing = Broadcast-Listen,
    Framed-Filter-Id = "std.ppp",
    Framed-MTU = 1500,
    Framed-Compression = Van-Jacobsen-TCP-IP

    把这几行反注释掉、然后就会得到一个用户名为steve和密码为testing的用户了、保存users文件、然后再重启radiusd服务器、

    radiusd -X

    然后再新建一个终端窗口、使用radtest命令来测试用户

    radtest steve testing localhost 1812 testing123

    观察两个窗口的变化、服务器和客户端、服务器会经过一连串的变化、然后客户端那里会显示出Access-Accept的提示、就表示用户已经通过验证了、而服务器则会又进入等待状态进行下一次的接收请求的状态、现在就已经完成用户的验证、服务器端和客户端都已经正常了、莪们再回到users文件把steve这个用户注释掉重启服务器、接着下一步就是使用mysql来替代这个users文件、

    P.S.:如果使用radtest时遇到这个问题

    radclient: socket: cannot initialize udpfromto: Function not implemented

    把localhost替换成127.0.0.1就可以了






  • 相关阅读:
    Atcoder Regular Contest 123 题解
    Atcoder Grand Contest 015 F Kenus the Ancient Greek(找性质+乱搞)
    Solution 「CF 575G」Run for beer
    Solution 「CF 510E」Fox And Dinner
    Solution 「洛谷 P4389」付公主的背包
    Solution 「CF 555E」Case of Computer Network
    Solution 「CF 802C」Heidi and Library (hard)
    Solution 「JOISC 2020」「UOJ #509」迷路的猫
    Div弹出框
    JS对话框
  • 原文地址:https://www.cnblogs.com/klobohyz/p/2332878.html
Copyright © 2011-2022 走看看