Câu trả lời:
Cần có một nhật ký trạng thái mà bạn có thể xem để hiển thị cho bạn, của tôi là, để kiểm tra:
cat /etc/openvpn/openvpn-status.log
BIÊN TẬP:
Cách khác, thêm cờ --management IP port [pw-file]
hoặc thêm lệnh tương tự vào server.conf
ví dụ của bạn :
management localhost 7505
Điều này sẽ cho phép bạn telnet đến cổng đó và cung cấp cho bạn một danh sách các lệnh để chạy:
telnet localhost 7505
help
/etc/openvpn/openvpn-status.log
Tôi không làm việc với Debian, nó không bao giờ thay đổi, thay vào đó /var/run/openvpn/server.status
nó hoạt động hoàn hảo.
Để hoàn thành câu trả lời @sekrett :
killall -USR2 openvpn ; tail -f /var/log/syslog
Nó sẽ tiếp tục chạy, nó không phải là "giết" thông thường, chỉ là một yêu cầu in một số thống kê.
Thống kê hiển thị là rất dễ đọc. Đầu ra mẫu:
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
Tôi cũng có nhu cầu tương tự và giải pháp đơn giản nhất mà tôi đã tìm ra là sử dụng như telnet đã đề cập để kết nối với giao diện quản lý (bạn sẽ phải thêm: quản lý localhost 6666 , trong tệp cấu hình máy chủ).
Để có được số lượng khách hàng chính xác, bạn có thể làm:
Sau đó, bạn sẽ nhận được rất nhiều nhật ký:
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
Trong trường hợp của tôi vì tôi có số lượng khách hàng rất lớn, sử dụng tệp nhật ký chắc chắn không thực tế lắm.
Bạn cũng có thể gửi tín hiệu usr2 đến tiến trình openvpn để làm cho nó ghi thông tin thống kê vào syslog. Điều này là an toàn, bạn không cần phải khởi động lại trong trường hợp bạn không kích hoạt giao diện quản lý trước đó.
killall -USR2 openvpn
. Sau đó xem nhật ký. Nó có thể /var/log/syslog
hoặc /var/log/messages
tùy thuộc vào distro.
kill
lệnh có thể gửi các tín hiệu khác nhau, USR2 sẽ không giết, nó chỉ là một tín hiệu. Bạn có thể xem danh sách tại đây: linux.org/threads/kill-signals-and-commands-revised.11625 hoặc bằng cách chạy kill -l
.
Tôi quản lý các máy chủ OpenVPN của công ty chúng tôi và cách tôi thấy các kết nối hoạt động là như thế này,
thêm vào /etc/openvpn/server.conf
management 127.0.0.1 5555
khởi động lại máy chủ openvpn
systemctl restart openvpn@server.service
thêm gói Python OpenVPN Monitor - gói này sẽ chạy qua máy chủ web Gunicorn và hiển thị các kết nối hoạt động,
mkdir /opt/openvpn-monitor
tạo một env ảo (không bắt buộc nhưng thực hành tốt với các gói py)
cd /opt/openvpn-monitor
virtualenv venv
source venv/bin/activate
cài đặt các gói yêu cầu
pip install openvpn-monitor gunicorn
thêm một tập tin cấu hình màn hình
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
khởi động máy chủ web sẽ hiển thị các kết nối hoạt động,
gunicorn openvpn-monitor -b 0.0.0.0:80 --name openvpn-monitor --daemon
Dừng màn hình
pkill gunicorn
để xem các kết nối hoạt động, hãy truy cập IP công cộng của máy chủ VPN của bạn
http://<ip of openvpn server>
đảm bảo định cấu hình tường lửa phù hợp cho cổng 80, danh sách trắng chỉ các IP trong nước đáng tin cậy