测试环境:CentOS 5 32bits
使用方法:
wget http://soft.kwx.gd/vpn/pptpd.sh sh pptpd.sh |
安装完成后会提示vpn用户名和密码。
VPN用户管理:
直接编辑/etc/ppp/chap-secrets文件,按照相同格式添加用户名和密码即可。
2015.12.1更新说明:由于diahosting资源失效,链接改成soft.kwx.gd。
2015.06.03更新说明:由于diahosting的链接失效,改成我博客的链接了。
测试环境:CentOS 5 32bits
使用方法:
wget http://soft.kwx.gd/vpn/pptpd.sh sh pptpd.sh |
安装完成后会提示vpn用户名和密码。
VPN用户管理:
直接编辑/etc/ppp/chap-secrets文件,按照相同格式添加用户名和密码即可。
2015.12.1更新说明:由于diahosting资源失效,链接改成soft.kwx.gd。
2015.06.03更新说明:由于diahosting的链接失效,改成我博客的链接了。
确认各项服务正常以及用户名、密码无误的情况下,连接pptp仍然619错误,可以执行下面的命令后尝试连接。
rm -rf /dev/ppp mknod /dev/ppp c 108 0 |
之前的CentOS PPTP配置FreeRADIUS+DaloRADIUS实现高级用户控制+流量控制的流量控制似乎没写清楚,在这里单独写一遍。
建立流量控制表格
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Auth-Type',':=','Local'); INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Service-Type',':=','Framed-User'); INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Address',':=','255.255.255.255'); INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Netmask',':=','255.255.255.0'); INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Acct-Interim-Interval',':=','600'); INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Max-Monthly-Traffic',':=','5368709120'); INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('user','Simultaneous-Use',':=','1'); |
acct-interim-interval是计算流量的间隔(600秒),意味着每隔10分钟记录当前流量。倒数第二行是每月最大流量,这里是5G(单位是字节)。最后一行是允许同时连接数目。
创建完表格,编辑/usr/local/etc/raddb/dictionary,到最后一行,添加ATTRIBUTE Max-Monthly-Traffic 3003 integer。
进入radius -X调试模式,看看是否正常,如果正常,继续看下面操作:
编辑/usr/local/etc/raddb/sites-enabled/default,找到authorize字节,添加下面内容:
update request { Group-Name := "%{sql:SELECT groupname FROM radusergroup WHERE username='%{User-Name}' ORDER BY priority}" } if ("%{sql: SELECT SUM(acctinputoctets+acctoutputoctets) FROM radacct WHERE username='%{User-Name}' AND date_format(acctstarttime, '%Y-%m-%d') >= date_format(now(),'%Y-%m-01') AND date_format(acctstoptime, '%Y-%m-%d') <= last_day(now());}" >= "%{sql: SELECT value FROM radgroupreply WHERE groupname='%{Group-Name}' AND attribute='Max-Monthly-Traffic';}") { reject } |
至此,完事,如果流量超限了,用户登录则无法通过验证,会提示691的错误。
操作前的准备操作
yum remove -y pptpd ppp iptables --flush POSTROUTING --table nat iptables --flush FORWARD rm -rf /etc/pptpd.conf rm -rf /etc/ppp |
最新评论
zwwooooo:买特斯拉和买iPhone的人群其实相似...
平安家属子痕:一直坚持油车,看你写的心里有...
秦大叔:室内每年能开2万公里电车确实划算 ...
灰常记忆:尊贵的特斯拉车主啊,对了一直对单...
拳废神域界:我的车现在平常跑不了啥,就放假...
大峰:电车起步超级快,我油车反正是跟不上,...
Mr.Chou:电车高速上真120和油车120真的有区...
Mr.Chou:18 19年入手的房子现在死的心都有了...
老何:不至于跌得这么狠吧
Andy烧麦:这些大厂都能提供必要的售后