关于freeradius-client-1.1.6的有关问题。

关于freeradius-client-1.1.6的问题。。。

历时四天终于解决了问题,开心。。。

      安装以及配置好freeradius-server 2.1.8以及freeradius-client-1.1.6后,运行radtest顺利认证。但运行radlogin或者运行编译radexample.c后的程序总是认证失败,看了一下服务端回显是密码错了,一开始我以为是用户密码被加密了,而freeradius-server是明文密码,因此认证失败。于是我想找一个方法让服务端能够加密认证,查了很多资料,改了很多配置一直解决不了。我又转到了客户端,先调整客户端配置,一直还是认证失败,密码貌似还是被加密。于是我使用gdb调试radexample.c编译出的程序,一步步寻找问题所在,也一直找不到头绪。终于,我发现在程序读配置文件(radiusclient.conf)时,读到acctserver时,发生了莫名其妙的事情,竟然读出acctserver对应的secret是"User-Name"(目前不知为何,因为authserver的格式和acctserver是一样的,而读出的secret是空的),于是我查看config.c下的set_option_srv方法,发现一开始是寻找诸如"localhost:1810:testing123"此类的server格式,找到的话就利用这里面的secret,这里是"testing123",如果一开始在authserver可以找到secret那么就不会去查acctserver的secret了,就能读到正确的secret了,于是我修改/usr/loal/radiusclient/radiusclient.conf文件,"authserver  localhost:1812:testing123",现在再运行radlogin,顺利认证。

等有空了一定搞明白真正的原因。