如何查看已连接打开vpn服务器的用户?

如何查看已连接打开vpn服务器的用户?

我正在使用 Django 框架开发一个用于管理 OpenVPN 用户的网站。但我想知道是否有任何方法可以从 OpenVPN 中提取活跃用户?我的服务器运行的是 Ubuntu 12.04。

答案1

应该有一个状态日志可供您查看,例如:

cat /etc/openvpn/openvpn-status.log

编辑:

或者,添加标志--management IP port [pw-file]或将相同的指令添加到您的server.conf,例如:

management localhost 7505

这将允许您 telnet 到该端口并提供要运行的命令列表:

telnet localhost 7505

help

答案2

去完成@sekrett回答 :

killall -USR2 openvpn ; tail -f /var/log/syslog

它会继续运行,它不是一个“常规”的终止,只是一个打印一些统计数据的请求。

显示的统计数据非常易读。示例输出:

Oct 14 07:34:14 vpn2 openvpn[20959]: Updated,Fri Oct 14 07:34:14 2016
Oct 14 07:34:14 vpn2 openvpn[20959]: Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
Oct 14 07:26:26 vpn2 openvpn[20959]:
10.8.0.132,hostname1,213.219.XXX.XXX:63765,Fri Oct 14 07:25:01 2016
Oct 14 07:26:26 vpn2 openvpn[20959]:
10.8.0.242,hostname2,213.219.XXX.XXX:62416,Sun Sep 25 03:49:19 2016

答案3

我管理我们公司的 OpenVPN 服务器,我看到的活动连接是这样的,

添加到 /etc/openvpn/server.conf

management 127.0.0.1 5555

重启 openvpn 服务器

systemctl restart [email protected]

添加 OpenVPN Monitor Python 包 - 这将通过 Gunicorn Web 服务器运行并显示活动连接,

mkdir /opt/openvpn-monitor

创建一个虚拟环境(不是必需的,但使用 py 包是一种很好的做法)

cd /opt/openvpn-monitor
virtualenv venv
source venv/bin/activate

安装所需的软件包

pip install openvpn-monitor gunicorn

添加监视器配置文件

vi /opt/openvpn-monitor/openvpn-monitor.conf

[openvpn-monitor]
site=your-openvpn-site
#logo=logo.jpg
#latitude=40.72
#longitude=-74
maps=True
geoip_data=/var/lib/GeoIP/GeoLite2-City.mmdb
datetime_format=%d/%m/%Y %H:%M:%S

[VPN1]
host=localhost
port=
name=Your VPN Server Name
show_disconnect=False

启动将显示活动连接的 Web 服务器,

gunicorn openvpn-monitor -b 0.0.0.0:80 --name openvpn-monitor --daemon

停止监控

pkill gunicorn 

要查看活动连接,请转到 VPN 服务器的公共 IP

http://<ip of openvpn server>

确保为端口 80 配置适当的防火墙,仅将受信任的入站 IP 列入白名单

在此处输入图片描述

答案4

您还可以向 openvpn 进程发送 usr2 信号,使其将统计信息写入 syslog。这是安全的,如果您之前没有启用管理接口,则无需重新启动。

相关内容