识别连接到 OpenVPN 服务器的客户端

识别连接到 OpenVPN 服务器的客户端

当前设置

我使用 Raspberry Pi 在路由器后面运行一些家庭自动化设备。Raspberry
Pi 上有 OpenVPN,我们使用它从 LAN 外部进行连接,例如使用手机。
我们可以通过从路由器转发 VPN 连接的端口来访问 Raspberry Pi。

期望结果

我正在通过文件记录和分析成功和不成功的登录尝试/var/log/openvpn.log。对于所有成功的登录尝试,我希望有一种机制来可靠地识别连接的设备(通常是使用相同公钥/私钥对进行连接的多部不同 Android 手机中的一部)。
但是,我从日志文件中获得的唯一信息是设备的公共 IP 地址,无法将其链接到单个手机。

因此,我想知道是否有一种简单的方法可以实现从 VPN 服务器端触发的这种识别?
理想情况下,通过 Raspberry Pi 终端上的一个命令,该命令将在新设备连接后立即执行。类似于arp在 LAN 中使用。
如果需要,还可以在 Android 设备上安装其他应用程序。

应替换的当前解决方案

目前,我使用运行在 Android 手机上的 Tasker 应用程序来执行此操作,该应用程序在打开 VPN 连接后连接到 Raspberry Pi 上的 MQTT 代理,这种方式相当笨拙。我想替换这种方法,因为它在可靠性和处理方面存在一些问题。

相关内容