답변:
보여줄 수있는 상태 로그가 있어야합니다. 예를 들면 다음과 같습니다.
cat /etc/openvpn/openvpn-status.log
편집하다:
--management IP port [pw-file]
또는 플래그를 추가하거나 동일한 지시문을에 추가하십시오 ( server.conf
예 :
management localhost 7505
이를 통해 해당 포트로 텔넷으로 연결하고 실행할 명령 목록을 제공 할 수 있습니다.
telnet localhost 7505
help
/etc/openvpn/openvpn-status.log
데비안에서 나를 위해 일하지 않았고 결코 바뀌지 /var/run/openvpn/server.status
않았으며 대신 완벽하게 작동했습니다.
@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
나는 나 자신도 똑같은 필요를 얻었고 내가 찾은 가장 쉬운 해결책은 언급 한 텔넷을 사용하여 관리 인터페이스에 연결하는 것입니다 ( 서버 구성 파일에 관리 로컬 호스트 6666 을 추가해야 합니다).
정확한 클라이언트 수를 얻으려면 다음을 수행하십시오.
그런 다음 많은 로그를 얻을 수 있습니다.
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
필자의 경우 매우 많은 수의 클라이언트가 있으므로 로그 파일을 사용하는 것은 그리 실용적이지 않습니다.
통계 정보를 syslog에 기록하도록 usr2 신호를 openvpn 프로세스로 보낼 수도 있습니다. 이것은 안전합니다. 전에 관리 인터페이스를 활성화하지 않은 경우 다시 부팅 할 필요가 없습니다.
killall -USR2 openvpn
. 그런 다음 로그를보십시오. 그것은 수 있습니다 /var/log/syslog
또는 /var/log/messages
배포판에 따라 달라집니다.
kill
명령은 다른 신호를 보낼 수 있습니다, USR2는 죽이지 않고 단지 신호일뿐입니다. linux.org/threads/kill-signals-and-commands-revised.11625 또는 다음을 실행 하여 목록을 볼 수 있습니다 kill -l
.
회사 OpenVPN 서버를 관리하며 활성 연결을 보는 방식은 다음과 같습니다.
/etc/openvpn/server.conf에 추가
management 127.0.0.1 5555
openvpn 서버를 다시 시작하십시오
systemctl restart openvpn@server.service
OpenVPN Monitor Python 패키지 추가-Gunicorn 웹 서버를 통해 실행되며 활성 연결을 보여줍니다.
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
활성 연결을 표시 할 웹 서버를 시작하십시오.
gunicorn openvpn-monitor -b 0.0.0.0:80 --name openvpn-monitor --daemon
모니터를 중지하려면
pkill gunicorn
활성 연결을 보려면 VPN 서버의 공용 IP로 이동하십시오.
http://<ip of openvpn server>
포트 80에 적합한 방화벽을 구성하고 신뢰할 수있는 인바운드 IP 만 허용 목록에 추가하십시오