Ready to process requests.
见过很多关于Certificate_Compatibility的解决方案,却没有一个解决掉,如果两台内部电脑用radtest ,radeapclient 测试都没有问题的话。不要去看警告,找多线路路由器问题。
分析: freeradius服务器Sending Access-Challenge of id 20 to 113.89.155.93 port 1063,发送了数据就等待一个receive包,如果一直等不到呢?就会显示上面的waring,造成假象。
正常的验证过程如下
Sending Access-Challenge of id 35 to 113.89.155.93 port 1063 /* radius 服务器 发送包到客户端 */
Service-Type = Framed-User
Framed-Protocol = PPP
Framed-MTU = 1400
Framed-Compression = Van-Jacobson-TCP-IP
EAP-Message = 0x010100061920
Message-Authenticator = 0x00000000000000000000000000000000
State = 0x76dd868a76dc9fa4fcaf1b0bda6fe328
Finished request 0.
Going to the next request
Waking up in 4.9 seconds.
rad_recv: Access-Request packet from host 113.89.155.93 port 1063, id=36, length=330 /*得到了客户端的确认包,我在呢!/
User-Name = "steve"
NAS-IP-Address = 192.168.1.2
NAS-Port = 0
Called-Station-Id = "20-DA-E6-BC-8F-FC:chinaNet-11"
Calling-Station-Id = "D0-65-CA-650-F1-72"
Framed-MTU = 1400
NAS-Port-Type = Wireless-802.11
Connect-Info = "CONNECT 0Mbps 802.11"
==================================================================================================
失败的原因: radius服务器发送包没有问题,但客户端不一定得到!!why?很大问题就是在radius服务器所在的对外出口有多线路ISP,
远程的客户端从ISP1线路进来验证,不幸的事情是radius服务器发送包却不走ISP1,默认到ISP2线路,于是传丢了!!
解决方法:登陆外部出口的多条线路的路由设备,ip route add 113.89.155.93 via $ISP1-GATEWAY 增加静态路由器强迫也走ISP1,哈哈,就是正确结果,远程验证OK。
傻瓜记录:在etc/radb/certs中乱修改N次,以为真的是兼容性问题,例如sha256修改为md5,国家fr修改为CN....
还用手工方式用openssl.cnf建立证书。。。还是没有解决。
有时用make all 或者bootstrap 重新建立证书过程发生稀奇错误,一般来说就是没有删除serial和index.txt文件。
如果freeradius证书无法生成,就先用make destroycerts 命令将不必要的文件干掉,重新make all ,证书马上就成。
因此个人认为,不要去怀疑证书问题,多找路由器的静态路由问题,防火墙是否阻碍。