列出连接的 VPN 客户端

MrD*_*MrD 11 openvpn

情况:我家里有一个私人 VPN 服务器,它对互联网开放,以便特定人群可以连接到它(只允许密钥对身份验证)。

如何查看当前连接到我的 VPN 服务器的客户端?

我已经尝试 ping 主机,但似乎有些(实际上是大多数)阻止了 ICMP 请求,因此总是失败。当然,我可以/etc/openvpn/openvpn.log每次都检查,但这不是很方便,绝对不适合通过电子邮件发送给我的状态报告。

备注:我正在使用OpenVPN 2.2.1 x86_64-linux-gnu.

Goo*_*tty 6

你可以用一个小的期望脚本来做到这一点:

#!/usr/bin/expect
生成 telnet 本地主机 7505
设置超时 10
期待“ OpenVPN 管理接口”
发送“状态 3\r”
期待“结束”
发送“退出\r”

并用(例如)运行它
虽然是真的;做 ./openVPNUserlist.sh |grep -e ^CLIENT_LIST; 睡眠 1; 完毕

此外,在您的 server.conf - 文件中,添加行
管理本地主机 7505

您需要安装的软件包:
telnet 期待

有趣的是,状态只会在一段时间后更新(当客户端断开连接时,它会一直显示在状态中很长一段时间......还没有找到解决这个问题的方法:(
更改 server.conf 中的超时时间到您需要的值:
保活 10 60
= 每 10 秒 ping 客户端并认为它在 1 分钟后断开连接。