pptp vpn记录用户登录和流量信息

来源:互联网 发布:淘宝中的淘口令是什么 编辑:程序博客网 时间:2024/05/29 10:42

转自http://www.07net01.com/storage_networking/pptpvpnjiluyonghudengluheliuliangxinxi_12317_1346294607.html

添加了一些自己的改动和注意事项


自己搭一个vpn,用于自己查资料,另外也提供给朋友用,出于基本的管理需求,想记录一下大家的使用情况,于是找到了上面那篇文章。

pptp的配置目录位于/etc/ppp/,该目录下的ip-up和ip-down可以用来记录登录与登出信息,这两个文件不一定存在,如果不存在的话直接创建就好。

原文章把所有的登入登出记录都存在一个日志里,我这边的话更希望按照天来存储,具体做法如下:

1. 建立日志目录

mkdir /var/log/pptpdlog

2. 记录登录信息

在ip-up中写入以下代码

#!/bin/shLOG_DIR="/var/log/pptpdlog"curDay=`date +"%Y%m%d"`logFile="${LOG_DIR}/pptpd${curDay}.log"echo "##################################" >> $logFileecho "Now User $PEERNAME is connected!!!" >> $logFileecho "##################################" >> $logFileecho "time: `date -d today +%F_%T`" >> $logFileecho "clientIP: $6" >> $logFileecho "username: $PEERNAME" >> $logFileecho "device: $1" >> $logFileecho "vpnIP: $4" >> $logFileecho "assignIP: $5" >> $logFile

3. 记录登出信息

在ip-down里写入以下代码

#!/bin/shLOG_DIR="/var/log/pptpdlog"curDay=`date +"%Y%m%d"`logFile="${LOG_DIR}/pptpd${curDay}.log"echo "#####################################" >> $logFileecho "Now User $PEERNAME is disconnected!!!" >> $logFileecho "#####################################" >> $logFileecho "time: `date -d today +%F_%T`" >> $logFileecho "clientIP: $6" >> $logFileecho "username: $PEERNAME" >> $logFileecho "device: $1" >> $logFileecho "vpnIP: $4" >> $logFileecho "assignIP: $5" >> $logFileecho "connect time: $CONNECT_TIME s" >> $logFileecho "bytes sent: $BYTES_SENT B" >> $logFileecho "bytes rcvd: $BYTES_RCVD B" >> $logFilesum_bytes=$(($BYTES_SENT+$BYTES_RCVD))sum=`echo "scale=2;$sum_bytes/1024/1024"|bc`echo "bytes sum: $sum MB" >> $logFileave=`echo "scale=2;$sum_bytes/1024/$CONNECT_TIME"|bc`echo "average speed: $ave KB/s" >> $logFile

4. 添加执行权限

写好之后务必确保ip-up和ip-down具有可执行权限,尤其是这两个文件本来不存在,自己后来再创建时,这两个文件会被视为纯文本,不会被执行,这正是原来那篇文章中所忽略的,所以记得加上

chmod 755 /etc/ppp/ip-*

之后就可以到/var/log/pptpdlog/下按照日期查看登录信息了

0 0