URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 75552
[ Назад ]

Исходное сообщение
"OpenVPN биллинг"

Отправлено rain87 , 06-Авг-07 16:51 
есть локальная сеть. есть сервер с поднятым ОпенВПН сервером и подключением к провайдеру. на провайдера маскарадятся пакеты ТОЛЬКО с ОпенВПН адаптера, посему клиенты сети для доступа к инету должны поднять ОпенВПН туннель к серверу

вопрос такой: как подсчитать трафик? удобным представляется использование client-disconnect /files/openvpn/client-disconnect.pl
в котором проанализировать $ENV{'common_name'}, $ENV{'bytes_received'}, $ENV{'bytes_sent'} (которые инициализирует ОпенВПН сервер), и сделать соответствующие пометки в базе данных юзеров

неприятность такая: если юзер принципиально не будет отключать туннель в течении нескольких дней, то он может неслабо накачать, и всё это мы учтём хз когда. кроме того - сервер может упасть (от скачка электроэнергии, к примеру) (только не надо про УПСы говорить, пожалуйста), тогда совсем неприятно получится

можно конечно, где-то раз в день (час? минуту? неделю?) просто рестартовать сервер опенвпн, но это некрасиво :(

в мане опенвпн ничего подходящего не нашёл :(

есть какие-нибудь предложения? пока что я вижу решение только в забивании на client-disconnect и учёт всего трафика iptables с, к примеру, 10минутным интервалом проверки счётчиков


Содержание

Сообщения в этом обсуждении
"OpenVPN биллинг"
Отправлено Salamander , 06-Авг-07 20:26 
>[оверквотинг удален]
>неприятно получится
>
>можно конечно, где-то раз в день (час? минуту? неделю?) просто рестартовать сервер
>опенвпн, но это некрасиво :(
>
>в мане опенвпн ничего подходящего не нашёл :(
>
>есть какие-нибудь предложения? пока что я вижу решение только в забивании на
>client-disconnect и учёт всего трафика iptables с, к примеру, 10минутным интервалом
>проверки счётчиков

Правильное решение. Либо iptables либо что-то на libpcap, надежней и гибче.


"OpenVPN биллинг"
Отправлено rain87 , 06-Авг-07 20:39 
>Правильное решение. Либо iptables либо что-то на libpcap, надежней и гибче.

вот и гут :) изначально так и думал делать, пока не наткнулся на client-disconnect