LINUX.ORG.RU

OpenVPN Статистика (Принцип)

 , ,


0

1

Доброе... Подскажите пожалуйста по какому критерию можно понять, что пользователь подключился и отключился?

Посмотрел логи и примерно понял что:

С этого начинается подключение 
Sat Nov  8 02:32:21 2014 TCP connection established with [AF_INET]111.56.15.11:63449
Далее проверяем рукопожатие TLS
Sat Nov  8 02:32:21 2014 111.56.15.11:63449 TLS: Initial packet from [AF_INET]111.56.15.11:63449, sid=d8266639 068c33aa

Строка отвечающая за сервер
Sat Nov  8 02:32:21 2014 111.56.15.11:63449 VERIFY OK: depth=1, C=RU, ST=SAM, L=RA, O=LD, OU=server, CN=newzim.do.org, name=server, emailAddress=admin@do.org

Строка отвечающая за пользователя
Sat Nov  8 02:32:21 2014 111.56.15.11:63449 VERIFY OK: depth=0, C=RU, ST=SAM, L=RA, O=RABOta,OU=otdel), CN=client1, name=NameServer, emailAddress=client1@do.org
В этой строке, в первые появляется логин пользователя

Тут уже имя сертификата видно
Sat Nov  8 02:32:21 2014 111.56.15.11:63449 [client1] Peer Connection Initiated with [AF_INET]111.56.15.11:63449

Тут видимо назначается айпишник
Sat Nov  8 02:32:21 2014 client1/111.56.15.11:63449 MULTI_sva: pool returned IPv4=10.8.0.26, IPv6=(Not enabled)
Sat Nov  8 02:32:21 2014 client1/111.56.15.11:63449 MULTI: Learn: 10.8.0.26 -> client1/111.56.15.11:63449
Sat Nov  8 02:32:21 2014 client1/111.56.15.11:63449 MULTI: primary virtual IP for client1/111.56.15.11:63449: 10.8.0.26
Sat Nov  8 02:32:24 2014 client1/111.56.15.11:63449 PUSH: Received control message: 'PUSH_REQUEST'

Это видимо окончание подключения
Sat Nov  8 02:32:24 2014 client1/111.56.15.11:63449 send_push_reply(): safe_cap=940
Sat Nov  8 02:32:24 2014 client1/111.56.15.11:63449 SENT CONTROL [client1]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.26 10.8.0.25' (status=1)

Вот по этой строчке понимаю, что соединение установленно, ищу по слову status=1:

Sat Nov  8 02:32:24 2014 client1/111.56.15.11:63449 SENT CONTROL [client1]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.26 10.8.0.25' (status=1)
Верно понимаю?

А вот по этой, так понимаю, видно когда произошло отключение:

Sat Nov  8 13:59:46 2014 client1/111.56.15.11:63449 Connection reset, restarting [-1]
Sat Nov  8 13:59:46 2014 client1/111.56.15.11:63449 SIGUSR1[soft,connection-reset] received, client-instance restarting
Верно понял?

Если не так , подскажите как правильней или где глянуть , что-то пока не попалось...

И вот вопрос , если я прав в догадках, то почему у одного из клиентов по логам видно 8 входов и только 4 выхода)

Как так или вход и выход как то по особенному логируются? Моя задача определить сколько длился коннект (сколько времени пользователь был в сети)

Вот то что со строчкой status=1

Sun Nov  9 14:36:16 2014 client2/119.14.212.21:55546 SENT CONTROL [client2]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.10 10.8.0.9' (status=1)
Sun Nov  9 14:40:02 2014 client2/119.14.212.21:55556 SENT CONTROL [client2]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.10 10.8.0.9' (status=1)
Mon Nov 10 20:08:47 2014 client2/119.14.212.21:57410 SENT CONTROL [client2]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.10 10.8.0.9' (status=1)
Mon Nov 10 20:10:24 2014 client2/119.14.212.21:57430 SENT CONTROL [client2]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.10 10.8.0.9' (status=1)
Mon Nov 10 22:11:33 2014 client2/119.14.212.21:58419 SENT CONTROL [client2]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.10 10.8.0.9' (status=1)
Mon Nov 10 22:14:25 2014 client2/119.14.212.21:58435 SENT CONTROL [client2]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.10 10.8.0.9' (status=1)
Tue Nov 11 00:58:53 2014 client2/119.14.212.21:61326 SENT CONTROL [client2]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.10 10.8.0.9' (status=1)
Tue Nov 11 10:13:52 2014 client2/119.14.212.21:63692 SENT CONTROL [client2]: 'PUSH_REPLY,route 10.8.1.0 255.255.255.0,route 10.8.0.1,topology net30,ping 5,ping-restart 240,ifconfig 10.8.0.10 10.8.0.9' (status=1)

8 раз входил, по-моей версии)))

А вот якобы выходил 4 раза и одна сессия сейчас висит:

Sun Nov  9 14:36:16 2014 client2/119.14.212.21:55546 SIGUSR1[soft,connection-reset] received,client-instance restarting
Sun Nov  9 23:58:15 2014 client2/119.14.212.21:55556 SIGUSR1[soft,connection-reset] received,client-instance restarting
Mon Nov 10 20:08:47 2014 client2/119.14.212.21:57410 SIGUSR1[soft,connection-reset] received,client-instance restarting
Tue Nov 11 01:09:32 2014 client2/119.14.212.21:61326 SIGUSR1[soft,connection-reset] received,client-instance restarting

И что-то я потерялся и не могу найтись с собакой ...

Подскажите пожалуйста... Спасибо.

В конце подключения должна быть строка ″Initialization Sequence Completed″. По какому принципу вы выбирали строки про отключение? По ″SIGUSR1″ или по ″connection-reset″?

mky ★★★★★ ()
Ответ на: комментарий от mky

Initialization Sequence Completed

Эта сторока попадается только три раза после строк ниже

Sat Nov  8 01:15:46 2014 ifconfig_pool_read(), in='client4,10.8.0.4', TODO: IPv6
Sat Nov  8 01:15:46 2014 succeeded -> ifconfig_pool_set()
Sat Nov  8 01:15:46 2014 ifconfig_pool_read(), in='client2,10.8.0.8', TODO: IPv6
Sat Nov  8 01:15:46 2014 succeeded -> ifconfig_pool_set()
Sat Nov  8 01:15:46 2014 ifconfig_pool_read(), in='tester9,10.8.0.12', TODO: IPv6
Sat Nov  8 01:15:46 2014 succeeded -> ifconfig_pool_set()
Sat Nov  8 01:15:46 2014 ifconfig_pool_read(), in='userfree2,10.8.0.16', TODO: IPv6
Sat Nov  8 01:15:46 2014 succeeded -> ifconfig_pool_set()
Sat Nov  8 01:15:46 2014 ifconfig_pool_read(), in='client3,10.8.0.20', TODO: IPv6
Sat Nov  8 01:15:46 2014 succeeded -> ifconfig_pool_set()
Sat Nov  8 01:15:46 2014 IFCONFIG POOL LIST
Sat Nov  8 01:15:46 2014 client4,10.8.0.4
Sat Nov  8 01:15:46 2014 client2,10.8.0.8
Sat Nov  8 01:15:46 2014 tester9,10.8.0.12
Sat Nov  8 01:15:46 2014 userfree2,10.8.0.16
Sat Nov  8 01:15:46 2014 client3,10.8.0.20
Sat Nov  8 01:15:46 2014 MULTI: TCP INIT maxclients=1024 maxevents=1028
Sat Nov  8 01:15:46 2014 Initialization Sequence Completed
После перезапуска сервиса...

firefedot ()

В конфигурации ставите

status /var/log/openvpn/status.log

И смотрите в нем, кто подключился, а кто нет.

zgen ★★★★★ ()
Ответ на: комментарий от zgen

Это стоит, но он отображает кто онлайн...

Или предлагаете , просто каждые 30 секунд смотреть и проверять?

только как замерить сколько пользователь был в сети?

Брать время коннекта и вычитать время, которое было в момент отсутвия пользователя?

firefedot ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.