You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Ubuntu 22.04上的OpenVPN服务器发送自定义环境变量以获取更多客户端设备日志信息

如何向Ubuntu 22.04上的OpenVPN服务器发送自定义环境变量以获取更多客户端设备日志信息

看起来你已经走对了一半路——用client-connect/disconnect脚本来捕获客户端事件,但在自定义变量的传输上踩了几个小坑。我来帮你梳理正确的配置步骤,让自定义变量能顺利从客户端传到服务端脚本里:

1. 先把服务端配置的基础项补全

首先,服务端得明确允许接收客户端的peer信息,还要指定脚本路径。打开你的OpenVPN服务端配置文件(一般是/etc/openvpn/server.conf),确保添加以下配置:

# 告诉客户端要发送peer信息给服务端
push-peer-info
# 客户端连接时触发的脚本路径
client-connect /etc/openvpn/scripts/connect-handler.sh
# 客户端断开时触发的脚本路径
client-disconnect /etc/openvpn/scripts/disconnect-handler.sh

别忘了给脚本加上执行权限,不然服务端跑不了:

chmod +x /etc/openvpn/scripts/connect-handler.sh
chmod +x /etc/openvpn/scripts/disconnect-handler.sh

2. 客户端配置:自定义变量必须加IV_前缀

这是你之前的核心问题——OpenVPN客户端只会主动传输以IV_开头的变量到服务端,非IV_前缀的(比如你用的UV_TEST)会被忽略,所以日志里根本看不到。

修改你的客户端.ovpn配置,把自定义变量改成IV_前缀:

# 自定义测试变量,必须以IV_开头
setenv IV_TEST "test1"
# 可以再加一个比如设备ID的变量
setenv IV_DEVICE_TAG "office-win-laptop"

另外,push-peer-info不需要写在客户端配置里,这个是服务端推给客户端的指令,让客户端知道要发peer信息,所以放在服务端配置里就够了。

3. 在脚本里获取自定义变量

当客户端连接时,服务端会把客户端发送的IV_*变量转换成以peer_info_为前缀的环境变量,供client-connect脚本使用。比如客户端的IV_TEST,在脚本里就是$peer_info_IV_TEST。

给你个示例脚本connect-handler.sh,用来记录这些信息:

#!/bin/bash
# 日志文件路径,确保OpenVPN进程有写入权限
LOG_FILE="/var/log/openvpn/client-activity.log"

# 记录连接时间、客户端CN、公网IP和自定义变量
echo "$(date '+%Y-%m-%d %H:%M:%S') - 客户端连接: CN=$common_name, 公网IP=$trusted_ip, 测试变量=$peer_info_IV_TEST, 设备标签=$peer_info_IV_DEVICE_TAG" >> $LOG_FILE

脚本里还能用到OpenVPN默认提供的环境变量,比如$common_name(客户端证书的通用名)、$trusted_ip(客户端的公网IP),这些都能帮你更详细地记录客户端信息。

4. 验证配置是否生效

重启OpenVPN服务让配置生效:

systemctl restart openvpn@server

然后用客户端连接VPN,之后查看服务端的OpenVPN主日志:

tail -f /var/log/openvpn/server.log

现在你应该能看到自定义的peer info条目了:

2024-09-11 07:31:09 us=326572 192.168.175.1:49395 peer info: IV_TEST=test1
2024-09-11 07:31:09 us=326583 192.168.175.1:49395 peer info: IV_DEVICE_TAG=office-win-laptop

再看看脚本生成的日志:

tail -f /var/log/openvpn/client-activity.log

就能看到你需要的自定义信息已经被记录下来啦!

备注:内容来源于stack exchange,提问作者dzboot02

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:13:18