जवाबों:
एक स्टेटस लॉग होना चाहिए जिसे आप देख सकते हैं कि आपको दिखाना है, मेरा है, परीक्षा के लिए:
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
मेरे मामले में चूंकि मेरे पास बहुत बड़ी संख्या में ग्राहक हैं, इसलिए लॉग फ़ाइल का उपयोग करना निश्चित रूप से बहुत व्यावहारिक नहीं है।
आप usv2 सिग्नल को Openvpn प्रक्रिया में भेजने के लिए भी भेज सकते हैं, ताकि वह Syslog को सांख्यिकीय जानकारी लिख सके। यह सुरक्षित है, आपको उस मामले में रिबूट करने की आवश्यकता नहीं है जब आपने पहले प्रबंधन इंटरफ़ेस को सक्षम नहीं किया था।
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
एक आभासी env बनाएँ (आवश्यक नहीं है, लेकिन 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
सक्रिय कनेक्शन देखने के लिए, अपने वीपीएन सर्वर के सार्वजनिक आईपी पर जाएं
http://<ip of openvpn server>
पोर्ट 80 के लिए उचित फ़ायरवॉल को कॉन्फ़िगर करना सुनिश्चित करें, श्वेतसूची केवल इनबाउंड आईपी पर भरोसा करती है
बस निम्न आदेश के साथ sacli का उपयोग करें। यह कनेक्टेड वीपीएन क्लाइंट्स को सूचीबद्ध करेगा।
/usr/local/openvpn_as/scripts/sacli VPNSummary
{
"n_clients": 15
}
सभी IP देखने के लिए इस विकल्प का उपयोग करें। ./sacli VPNStatus