#1 楼
例如,应该有一个状态日志可以显示给您看,例如:cat /etc/openvpn/openvpn-status.log
编辑:
,添加标志
--management IP port [pw-file]
或将相同的指令添加到server.conf
中,例如:management localhost 7505
这将允许您远程登录到该端口并提供命令列表运行:
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
评论
感谢您的改进。我的回答是正确的,但缺少示例和解释。 :)
–sekrett
17年6月6日在16:45
#3 楼
我自己也有同样的需求,发现的最简单的解决方案是使用上述telnet连接到管理界面(您必须在服务器配置文件中添加:management localhost 6666)。。 />
要获取确切的客户端数量,您可以执行以下操作:
status
那么您将获得很多日志:
10.9.10.11,test-docker,52.58.48.98:56859,Wed May 4 09:37:34 2016
10.9.7.45,test-docker,52.58.156.80:38774,Wed May 4 09:36:59 2016
10.9.1.103,test-docker,52.58.161.230:52201,Wed May 4 09:35:47 2016
GLOBAL STATS
Max bcast/mcast queue length,0
END
>CLIENT:ESTABLISHED,19845
>CLIENT:ENV,n_clients=19361
>CLIENT:ENV,time_unix=1462357164
==> CLIENT:ENV,n_clients = 19361
有很多客户端,使用日志文件绝对不是很实用。
评论
您的状态命令对我有帮助
– Mohammed Noureldin
16 Sep 24 '15:57
#4 楼
我管理我们公司的OpenVPN服务器,我看到活动连接的方式是这样的,添加到/etc/openvpn/server.conf
management 127.0.0.1 5555
重新启动openvpn服务器
systemctl restart openvpn@server.service
添加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列入白名单
评论
即时通讯与此有关的一些问题,我只能与127.0.0.1,而不是本地lan 192 ip连接,并在顶部说不能连接到localhost:5555连接被拒绝。
– Twml
20-2-19在21:37
我必须将openvpn-monitor.conf复制到存在openvpn-monitor.py的文件夹中。否则,它将使用其默认配置。还需要从dev.maxmind.com/geoip/geoip2/geolite2下载GeoLite2-City.mmdb到geoip_data配置文件中指定的文件夹。
–shr
20-3-21在6:35
#5 楼
您还可以将usr2信号发送到openvpn进程,以使其将统计信息写入syslog。这是安全的,如果您之前没有启用管理界面,则无需重新启动。评论
您可以为此编写命令吗?
– Shayan_Aryan
18年6月28日在19:54
@MichaelC写道:killall -USR2 openvpn。然后查看日志。根据发行版的不同,它可能是/ var / log / syslog或/ var / log / messages。
–sekrett
18年6月29日在11:11
但这不会杀死openvpn吗?
– Shayan_Aryan
18年7月13日在15:46
kill命令可以发送不同的信号,USR2不会杀死,这只是一个信号。您可以在此处查看列表:linux.org/threads/kill-signals-and-commands-revised.11625或运行kill -l。
–sekrett
18年7月13日在16:39
不显示计数,您应该自己计算行数。如果您的日志中没有任何内容,请检查系统日志设置。
–sekrett
18年7月19日在13:07
#6 楼
只需在以下命令中使用sacli。这将列出连接的VPN客户端。/usr/local/openvpn_as/scripts/sacli VPNSummary
{
"n_clients": 15
}
要查看所有IP,请使用此选项。
./sacli VPNStatus
评论
此选项仅在使用OpenVPN Access Server(付费版本)时有效。
–apagr
20 Jan 24'在11:14
评论
谢谢,还有其他方法可以不用监视文件更改吗?例如,列出了已连接用户的库?
– Hamidfzm
2014年2月2日在15:18
@HamidFzM不确定库,可以使用我添加的管理界面进行编辑;请不要使用本地主机以外的IP,因为它肯定会损害您的安全性
– c4urself
2014年2月2日在17:05
@ c4urself,我的.log输出为:bit.ly/1ORnsYp在哪里可以看到连接的用户?是否可以查看通过此.log分配给它们的ip?
– Maximv。Pavlov
15年7月30日在19:21
@ MaximV.Pavlov在您的情况下似乎没有人连接。是的,显示了IP地址。
– c4urself
15年8月12日在8:09
/etc/openvpn/openvpn-status.log在Debian上对我不起作用,它从未更改,而是/var/run/openvpn/server.status完美地工作了。
–尼尔森
17年10月1日在8:20