pptpd开启日志记录功能
1 开启pptp日志记录选项
编辑文件 /etc/ppp/options.pptpd
找到nologfd
(表示不记录日志),将其注释掉
然后,增加一行 logfile /var/log/pptpd.log
,记录日志到文件
2 vpn登录/断开时,增加自定义日志记录
vpn登录和断开的时候,会自动执行/etc/ppp/ip-up
和/etc/ppp/ip-down
两个脚本,查看这两个脚本,会发现有这样一行This file should not be modified -- make local changes to /etc/ppp/ip-up.local instead
也就是说这两个脚本不要修改,如果要添加自定义的功能,修改ip-up.local
和ip-down.local
脚本。
另外需要注意的是,上面的脚本被调用时是有命令行参数的,具体如下:
$PEERNAME: 用户名
$1: 分配的ppp设备
$4: VPN服务器的IP
$5: 分配给客户端的内网IP
$6: 客户端真实公网IP
知道了这些,下面的日志文件就很清晰了。
查看/etc/ppp/
下并没有ip-up.local
文件,新建一个,写入如下内容记录上线信息
echo "---------------Login---------------" >> /var/log/pptpd.log
echo "time: `date -d today +%F_%T`" >> /var/log/pptpd.log
echo "clientIP: $6" >> /var/log/pptpd.log
echo "username: $PEERNAME" >> /var/log/pptpd.log
echo "device: $1" >> /var/log/pptpd.log
echo "vpnIP: $4" >> /var/log/pptpd.log
echo "assignIP: $5" >> /var/log/pptpd.log
echo "-----------------------------------" >> /var/log/pptpd.log
保存后,执行 chmod +x ip-up.local
添加可执行权限;
同样/etc/ppp/
下新建一个ip-down.local
,写入如下内容记录下线信息
echo "---------------Logout---------------" >> /var/log/pptpd.log
echo "time: `date -d today +%F_%T`" >> /var/log/pptpd.log
echo "clientIP: $6" >> /var/log/pptpd.log
echo "username: $PEERNAME" >> /var/log/pptpd.log
echo "device: $1" >> /var/log/pptpd.log
echo "vpnIP: $4" >> /var/log/pptpd.log
echo "assignIP: $5" >> /var/log/pptpd.log
echo "-----------------------------------" >> /var/log/pptpd.log
保存后,执行 chmod +x ip-down.local
添加可执行权限。
3 重启pptpd
执行 systemctl restart pptpd
重启pptpd
服务。