在Steel Belted Radius中将routeros中的拨号用户踢下线的方法 (1279人路过)
16:26 , 引用(0) Via 本站原创
查阅了无数次的资料,参照了软路由论坛太美老大的文章,终于在windows下、在Steel-Belted-Radius中实现了将routeros中的拨号用户踢下线。
这段时间在给别人做国外VPN代理服务器管理(通过radius认证实现管理多台服务器),VPN服务器用的是routeros,radius服务器用的是Steel-Belted-Radius,通过sql server 2000和asp,实现web管理。但是这里有一个令大家都头痛的难题,就是:怎样强制到期用户下线。看了太美老大的文章后,终于看到了希望。想通过抓包,然后编程实现。不过太美老大的文章讲的是linux下的实现方法,我不想费劲安装一个linux,所以在windows下安装了freeradius for windows,网上找不到配置资料,今天早上瞎捣鼓了半天,终于可以实现认证了,用了太美的方法实现强制断线,也抓到了udp数据包,终于可以编程实现了。不过,我后来发现了更省事的办法,就是把radclient.exe和cygwin1.dll这2个文件拷到装有Steel-Belted-Radius的机器中,同时把freeradius中的etc和share文件夹也拷过去,注意,这些文件和文件夹一定要按照原来的目录结构放好,然后就可以以这样的命令实现强制断线了:
echo User-Name=ppp7 | radclient.exe -d ../etc/raddb -x 192.168.0.1:1700 disconnect vpn
命令含义,太美的文章中都有,这里就是多加了一个参数:-d ../etc/raddb ,是用来说明各种radius设备的协议标准的文件所在的目录的。另外,命令中只需指定需要强制断线的用户名就行了,其他参数可以省略。
到这里,基本功能已经实现,接下来就可以使用简单的编程方法,自动定时到数据库里查询,发现到期用户,用shell(以VB为例)的方法向VPN服务器发出命令……
太美的文章地址:http://bbs.routerclub.com/viewthread.php?tid=27203&page=1#pid185529
已把freeradius for windows中的radclient.exe以及相关文件打包上传。radclient.exe在bin目录中。
现在,实现自动强制断线功能的VB程序已完成。很简单,只需一个定时器控件,加上以下代码,就可以在每天0时检查到期用户,并踢下线。
Private Sub Timer1_Timer()
If Val(Time) = 0 Then
Dim Conn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Conn.Open "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=radius;User ID=zxd;Password=zxd"
Rst.Open "SELECT username FROM pppoe_user WHERE online<>'2' and DATEDIFF(" + Chr(34) + "d" + Chr(34) + ",disable_time,GETDATE())>=0", Conn, adOpenStatic, adLockOptimistic
While Not Rst.EOF
Dim rec As String
Dim ip As String
rec = Rst.Fields("username")
ip=Rst.Fields("nas_ip")
Shell "cmd /c echo User-Name=" + rec + " | radclient.exe -d ../etc/raddb -x "+ip+":1700 disconnect vpn", vbHide
Rst.MoveNext
Wend
End If
End Sub
Windows 下使用 CA 验证的 OpenVPN 的配置方法
RouterOS 配置 OpenVPN
Win2003 Nat 与RouterOs Nat速度测试报告
在RouterOS中更新PPTP VPN的撥接IP
Routeros使用Steel Belted Radius进行认证
服务器:消息18456,级别16,状态1 用户‘sa’登录失败解决方法
routeros专题介绍
重置 MySQL root 用户 密码
RouterOS Ros VPN 访问不了内网
作者:77run@齐齐奔跑 -- 骑士威科技
地址:http://blog.77run.com/routeros-Radius-login-user/
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!
大 | 中 | 小 

