![跟踪 OpenVPN 用户登录](https://linux22.com/image/630366/%E8%B7%9F%E8%B8%AA%20OpenVPN%20%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95.png)
情况是每个用户登录都记录在日志文件中。每次服务器启动日志文件都会被删除并创建新的。有没有办法将用户登录记录到另一个文件或其他地方,这样当服务器启动时就不会破坏记录?
答案1
您可以--client-connect
在您的server.conf
此指令允许您指定在客户端刚刚通过身份验证时运行的脚本。此指令调用的脚本将检索 openvpn 服务器为经过身份验证的用户设置的一些环境变量,例如:通用名称($common_name
)和 IP 地址($ifconfig_pool_remote_ip
)
你的指令看起来应该是这样的:
client-connect /path/to/your/script.sh
还有script.sh
:
#!/bin/sh
user=$common_name
remote_ip=$trusted_ip
local_ip=$ifconfig_pool_remote_ip
echo $(date) $user $remote_ip $local_ip >>/path/to/your/logfile.log
指令--client-disconnect
也存在,以防您想要跟踪客户端断开连接的时间。
更多相关信息请参见此处: https://openvpn.net/index.php/open-source/documentation/manuals/65-openvpn-20x-manpage.html
答案2
当然。
- 在 OpenVPN 配置中启用执行脚本(
script-level
指令,IIRC)。 - 编写一个脚本,将经过身份验证的客户端出示的证书中的规范名称 (CN) 记录到文件中或将其发送到任何其他事件注册系统。