测试环境: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 |
最新评论
老何:不至于跌得这么狠吧
Andy烧麦:这些大厂都能提供必要的售后
王光卫博客:小米生态还是比较丰富
空空裤兜:在天猫买的利维斯顿,阿里智能APP...
林羽凡:我突然发现,你也记录了很多博文了。
菊座:小米的东西还行
zwwooooo:一般电器产品都jd,就是想售后身心
zwwooooo:能随便搞个公司玩玩也算是实力选手
大D:坚持就是胜利哈哈哈
老麦:看着那一排日志存档,老前辈了啊。