blog mail me! feed

最近干的无聊事儿.

花了几个小时才把209上的FreeRadius + PopTop + PPPD VPN用户验证做好.
因为MySQL是编译安装的缘故, 所以相关lib和include一直没有链接上,  rlm_sql_mysql根本就没有编译.
调试了半天发现验证无法进入sql{}, 最后仔细检查了configure的输出才发现. -____-#

装pptpd的时候把原来apt-get的整套pppd, pptpd都卸载了, 结果pptpd的logwtmp.so不支持2.4.4的pppd;
最后又发现不知道什么时候往radgroupreply里加了条Account-Type := Local的值, 导致验证最后会出错.

这是其一.

其二是继续在FreeRadius的rlm_sql模块上, 自己写了一个做VPN流量控制的功能.
可以通过username和其所属的group做特定限制的流量认证, 超过流量则返回Reject响应.
好久不写C代码了, 在指针上出了一堆莫名其妙的错误, 最后终于是当复习了一次C语言, 汗 -____-#

其实代码很短, 也就几十行, 我也居然就花了几个小时来调试该死的各种指针的错误…
太菜了. 不过最后的效果还不错.

其三是基于Sonic大神的VPN管理前台修改了下, 自己又加了些查看VPN使用记录和流量的功能,
提供了一个相对功能完善的用户前台. 

虽然觉得自己很囧, 写个C代码写成这个破样儿, 不过真正弄完还是觉得不错 -____-#.
未来的考虑是:
1. 修改pppd的代码, 让其可以在线判断流量限制, 从而实现超过限制则断网. (好狠毒 -__-#)
2. 考虑从sql模块中剥离出流量限制的代码, 做一个新的模块.
3. 改天把笔记补上来.

nereid said,

April 13, 2009 @ 11:39 pm

唔。。。你也认识Sonic?就是SB二人组之一的那个?
ps:经常看你们的日志有助于我恶补,不错不错

sub040 said,

April 14, 2009 @ 12:25 am

这下不会出现莫名其妙一大堆人在用了

killkeeper said,

April 14, 2009 @ 12:28 am

@nereid: 没错 就是那个sonic…

nereid said,

April 14, 2009 @ 7:50 pm

啊,世界真小。。。

pops said,

September 22, 2009 @ 3:31 pm

“其二是继续在FreeRadius的rlm_sql模块上, 自己写了一个做VPN流量控制的功能.

是实时判断吗?还是登陆时判断?

想和你交流一下这方面,怎么联系你?

Zeddicus said,

February 2, 2010 @ 11:38 pm

同样对您的VPN流量控制比较感兴趣,不知可否传授?

RSS feed for comments on this post · TrackBack URI

Leave a Comment