Vraag Hoe verbonden gebruikers te bekijken om vpn-server te openen?


Ik ben een website aan het ontwikkelen voor het beheer van OpenVPN-gebruikers met het Django-framework. Maar ik moet weten is er een manier om actieve gebruikers uit OpenVPN te extraheren? Mijn server gebruikt Ubuntu 12.04.


47
2018-02-02 00:30


oorsprong




antwoorden:


Er zou een statuslog moeten zijn om naar te kijken, de mijne is bijvoorbeeld:

cat /etc/openvpn/openvpn-status.log

BEWERK:

Als een alternatief, het toevoegen van de vlag --management IP port [pw-file] of het toevoegen van dezelfde richtlijn aan uw server.conf, bijvoorbeeld:

management localhost 7505

Hiermee kunt u naar die poort telnetten en een lijst met opdrachten aanbieden om uit te voeren:

telnet localhost 7505

help


68
2018-02-02 03:05



Bedankt, maar is er een andere manier om niet te letten op bestandswijzigingen? Bijvoorbeeld een bibliotheek met verbonden gebruikers? - Hamid FzM
@HamidFzM weet niet zeker over een bibliotheek, u kunt de beheerinterface gebruiken die ik als bewerking heb toegevoegd; gebruik alsjeblieft geen IP anders dan localhost want dit zou zeker een nadeel zijn voor je veiligheid - c4urself
@ c4urself, mijn uitvoer voor de .log is: bit.ly/1ORnsYp Waar kan ik de aangesloten gebruikers zien? Is het mogelijk om de ips via deze .log aan hen toegewezen te krijgen? - Maxim V. Pavlov
@ MaximV.Pavlov ziet eruit alsof er in jouw geval niemand is verbonden. Ja, IP-adressen worden getoond. - c4urself
/etc/openvpn/openvpn-status.log werkte niet voor mij op Debian, in plaats daarvan veranderde het nooit /var/run/openvpn/server.status werkte perfect. - Nelson


Vervolledigen @sekrett antwoord :

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

Het blijft draaien, het is geen "gewone" kill, maar een verzoek om enkele statistieken af ​​te drukken.

Weergegeven statistieken zijn zeer leesbaar. Voorbeelduitvoer:

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

14
2017-10-14 05:33



Bedankt voor verbetering. Mijn antwoord was juist, maar het ontbrak een voorbeeld en uitleg. :) - sekrett


Ik kreeg zelf dezelfde behoefte en de eenvoudigste oplossing die ik ontdekte was om telnet te gebruiken om verbinding te maken met de beheerinterface (je moet toevoegen:beheer localhost 6666, in het serverconfiguratiebestand) .

Om het exacte aantal clients te krijgen dat u kunt doen:

  • telnet localhost 6666
  • staat

Dan krijg je veel logs:

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
  • zoek naar =>> KLANT: ENV, n_clients = 19361

In mijn geval, omdat ik een zeer groot aantal clients heb, is het gebruik van het logbestand beslist niet erg praktisch.


7
2018-05-04 10:24



je statuscommando heeft me geholpen, tuurlijk - Mohammed Noureldin


Je kunt ook usr2-signaal naar openvpn-proces sturen om het statistische gegevens naar syslog te laten schrijven. Dit is veilig, u hoeft niet opnieuw op te starten voor het geval u de beheerinterface niet eerder had ingeschakeld.


2
2017-07-06 15:13



kan je hier een opdracht voor schrijven? - Shayan_Aryan
@MichaelC schreef het: killall -USR2 openvpn. Bekijk dan de logs. Het kan zijn /var/log/syslog of /var/log/messages afhankelijk van distro. - sekrett
maar het doodt niet openvpn? - Shayan_Aryan
kill commando kan verschillende signalen verzenden, USR2 zal niet doden, het is maar een signaal. U kunt hier een lijst bekijken: linux.org/threads/kill-signals-and-commands-revised.11625 of door te rennen kill -l. - sekrett
Ik probeerde het gewoon. Het geeft niet de informatie over verbonden clients tellen - Shayan_Aryan


Gebruik sacli gewoon met het volgende commando. Hiermee worden de verbonden VPN-clients weergegeven.

/usr/local/openvpn_as/scripts/sacli VPNSummary
{
"n_clients": 15
}

Gebruik deze optie om alle IP's te bekijken. ./sacli VPNStatus


1
2017-08-17 15:11