freeradius client+ pptpd server + freeradius server + mysql成功结合总结

Idealityhunter 2011-04-14

本博文于2011-10-10更新

freeradius client、pptpd、freeradius server、mysql的安装,我的博客上都有了

网上大部分介绍radius对接这类的文章,都是pptpd server跟radius server在同一台机器上,今天必须鄙视一下,配置神马的都是localhost跟127.0.0.1的。明显现实里面不会有这种情况,pptpd server跟radius server肯定是两台机器的。

其中最大的问题出在radius client跟pptpd server这块,因为这两个是同一台机器上面,这两个一定要结合起来才能到radius server那去。安装不说了,我的radius client是最新的,安装目录是在/usr/local/etc/radiusclient目录,不像大部分说的都弄到/etc/radiusclient上去。

radiusclient目录包含了最核心的配置文件,你别小看,几乎每个文件有不正确都会影响radius连接,目录有以下文件

dictionary、dictionary.microsoft、radiusclient.conf、dictionary.ascend、dictionary.sip、radiusclient.conf.in、dictionary.compat、issue、realms、dictionary.merit、port-id-map、servers

个人建议这些文件除了radiusclient.conf、server之外,其他的都从radius server的安装目录中的share目录中复制过去,而不是从pppd文件中复制过去

首先是radiusclient.conf,authserver  acctserver就不说了

注释掉radius_deadtime  0 和bindaddr *

注释掉之后执行radlogin时会出现段错误,不用管这个,不影响对接,这个只是测试用的

然后是server:配置上radius server的ip跟key

然后是pptpd加入radius插件,首先安装pppd、ppptpd,然后修改pptpd的pptpd.conf和options.pptpd文件

pptpd.conf:去掉ppp的注释,改成 ppp /usr/local/sbin/pppd

options.pptpd:在最后面加入

写道
logfile /var/log/pptpd.log

plugin/usr/local/lib/pppd/2.4.5/radius.so

plugin/usr/local/lib/pppd/2.4.5/radattr.so

radius-config-file /usr/local/etc/radiusclient/radiusclient.conf

 要注意每台服务器可能plugin的位置不对,根据实际情况修改

改完后重启pptpd

尝试用windows客户端连接VPN,VPN用户名跟密码必须是radius mysql里面配置的用户名跟密码。radius server那边打开debug模式,pptpd server这边tail -f /var/log/pptpd.log查看实时log,此时log里面应该会有一些报错,报错中包含了具体文件具体行数的错误,很简单,哪行出错哪行就注释掉,直到VPN可以拨上为止。

由于上面的注释,所以radiusclient目录中的很多文件就做了修改。

radius server那边的话,在client.conf加入拨入的ip,其他的更改见博客其他文章,包括mysql的配置等等

这是VPN拨号用的用户名密码,不在是pptpd的chap-secrets里面的配置,而是mysql里面radusergroup里面的用户名跟密码了。

配置完毕后,windows客户端可以拨入VPN,若关掉radius server,VPN就拨不上了,并且pptpd.log里面会提示为radius 1812端口关闭

写道
Oct 10 16:46:45 cssd pppd[17421]: rc_get_ipaddr: couldn't resolve hostname: cssdOct 10 16:46:45 cssd pppd[17421]: rc_own_ipaddress: couldn't get own IP address

 如果在连接过程中,log显示如上错误

解决方法:

写道
vim /etc/hosts

添加一行

127.0.0.1 myhostname

 记住把myhostname改成你机器真正的hostname

相关推荐