全球主机交流论坛

标题: OPENVPN记录流量使用 [打印本页]

作者: ika    时间: 2010-5-25 16:51
标题: OPENVPN记录流量使用
看到有人在问怎么限制openvpn的流量,这里是我自己正在用的记录openpvn流量的方法,以下方法只能做记录,并不能做到限制
若要限制总流量,可以考虑加上数据库或者是用其他方法进行统计

server.conf里加入
  1. client-connect /etc/openvpn/connect.sh
  2. client-disconnect /etc/openvpn/disconnect.sh
复制代码
connect.sh
  1. #!/bin/bash
  2. day=`date +%F`
  3. if [ -f /var/log/openvpn/$day ];then
  4. echo "`date '+%F %H:%M:%S'` User $common_name $trusted_ip logged in" >>/var/log/openvpn/$day
  5. else
  6. touch /var/log/openvpn/$day
  7. echo "`date '+%F %H:%M:%S'` User $common_name $trusted_ip logged in" >>/var/log/openvpn/$day
  8. fi
复制代码
disconnect.sh
  1. #!/bin/bash
  2. day=`date +%F`
  3. if [ -f /var/log/openvpn/$day ];then
  4. echo "`date '+%F %H:%M:%S'` User $common_name $trusted_ip logged off | Bytes received: $bytes_received | Bytes sent: $bytes_sent" >>/var/log/openvpn/$day
  5. else
  6. touch /var/log/openvpn/$day
  7. echo "`date '+%F %H:%M:%S'` User $common_name $trusted_ip logged off | Bytes received: $bytes_received | Bytes sent: $bytes_sent" >>/var/log/openvpn/$day
  8. fi
复制代码
给/var/log/openvpn目录加上666的权限

每次vpn连接和断开后都会在/var/log/openvpn目录下以当前日期为名的文件(如2010-05-25)里留下记录(断开后的记录可能稍有最多几分钟的延迟)
记录的内容如:
2010-05-25 12:12:12 User XX 123.123.123.123 logged off | Bytes received: 12345 | Bytes sent: 54321
2010-05-25 12:12:12 User XX 123.123.123.123 logged in

存在的缺陷:
如果用户一直不断开连接,所用去的流量就无法被统计,不知是否有人有更好的解决方案。

[ 本帖最后由 ika 于 2010-5-25 16:55 编辑 ]
作者: outshine    时间: 2010-5-25 16:52
我试试
作者: GoTop    时间: 2010-5-25 17:00
那pptpd呢?

有没有记录的方法?
作者: ninjai    时间: 2010-5-25 18:14
pptpd-->freeradius
作者: hidaigou    时间: 2010-5-25 18:55
radius系搞定一切。
作者: hx    时间: 2010-5-25 21:23
用radius搞定。
不过用脚本的方法也不错,支持。
作者: GoTop    时间: 2010-5-25 21:30
原帖由 ninjai 于 2010-5-25 18:14 发表
pptpd-->freeradius


研究好freeradius

那不是可以买vpn啦?
作者: netroby    时间: 2010-5-25 22:11
卖VPN?




欢迎光临 全球主机交流论坛 (https://fd.vvwvv.eu.org/) Powered by Discuz! X3.4