Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Подсчёт трафика в OpenVPN

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
beginner admin



Зарегистрирован: 06.05.2007
Сообщения: 69

СообщениеДобавлено: Ср Окт 22 2008 13:39    Заголовок сообщения: Подсчёт трафика в OpenVPN Ответить с цитатой

Уважемые спецы, на Вас надежда.
В гугле ничего вразумительного не нашёл.

Что есть:
Сервер OpenVPN на Debian. Поднимается L3-туннель. Клиенты нормально коннектятся и получают доступ к ресурсам сети сервака. Настройки клиенты берут из client-config-dir. Один и тот же клиент может подключаться с различных внешних ИП (динамически выдаются провом). В качестве клиента выступает или отдельный компьютер, или сеть.

Что требуется:
Подсчитать внешний трафик клиента, который проходит через меня. Статистика будет сниматься раз в месяц.

Мне так кажется, что для решения надо использовать "Common name" клиента, а также опции на стороне сервера --client-connect и client-disconnect. А как это увязать - ума не приложу.

Заранее спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tatlink



Зарегистрирован: 19.05.2005
Сообщения: 361
Откуда: Уфа

СообщениеДобавлено: Ср Окт 22 2008 14:26    Заголовок сообщения: Ответить с цитатой

vnstat покажет тебе весь трафик проходящий через интерфейс.
_________________
Хочешь знать правду? Читай таблицу умножения.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
beginner admin



Зарегистрирован: 06.05.2007
Сообщения: 69

СообщениеДобавлено: Ср Окт 22 2008 15:33    Заголовок сообщения: Ответить с цитатой

Насколько я понял, он считает суммарный трафик. Мне же нужно знать конкретно, какой 'common name' сколько этого трафика израсходовал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
vasstr



Зарегистрирован: 15.07.2008
Сообщения: 50

СообщениеДобавлено: Ср Окт 22 2008 15:58    Заголовок сообщения: Ответить с цитатой

если клиенты впн получают внешние ип в фаирволе делаем заглушки (цепочки), через которые пускаем трафик каждого отдельного ип и смотрим, ск-ко байт через них пробежало, сохраняяя в какой rrdtool.

пример фаирвола:
Код:
/sbin/iptables -N comp01_in
/sbin/iptables -A comp01_in -j ACCEPT
/sbin/iptables -N comp01_out
/sbin/iptables -A comp01_out -j ACCEPT
/sbin/iptables -A FORWARD -d 1.2.3.1 -j comp01_in
/sbin/iptables -A FORWARD -s 1.2.3.1 -j comp01_out
/sbin/iptables -N comp02_in
/sbin/iptables -A comp02_in -j ACCEPT
/sbin/iptables -N comp02_out
/sbin/iptables -A comp02_out -j ACCEPT
/sbin/iptables -A FORWARD -d 1.2.3.2 -j comp02_in
/sbin/iptables -A FORWARD -s 1.2.3.2 -j comp02_out


посмотреть байтики для конкретной цепочки что-то типа
Код:
XXX=`/sbin/iptables -L FORWARD -v -x | /bin/grep $1 | /bin/awk '{ print $2 }'`
где $1 название цепочки, типа: comp01_in или comp07_out


вообще, возможно, все эти скрипты идут в комплекте с rrdtool или находятся по первому гугл запросу (мне комп с этим достался как-то).


за нат считай траф в прокси (transparent proxy), там будут ошибки, связанные с тем, что юзер нажал кнопку stop в бровзере, а прокся этот файл докачала и ньюансы с трафом не на 80й порт, но всё в твоих руках...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Чт Окт 23 2008 17:49    Заголовок сообщения: Ответить с цитатой

Объясняю на пальцах.

В конфиге сервер указываешь:
client-connect /тра/ля/ля/СКРИПТ

После того как клиент законектится или дисконнектится, OpenVPN будет запускать СКРИПТ с параметрами. Типа так:
Вход:
СКРИПТ IP_ADDR Client_name

Выход:
СКРИПТ IP_ADDR Client_name

Соответственно в СКРИПТЕ, используя входные параметры как $1, $2 пишешь набор правил. Стандартно - вешается правила в iptables. man iptables в помощь.

Идея понятна?


Есть второй вариант. Делаешь всем клиентам фиксированные IP-адреса. После этого прогой fprobe отдаешь по NetFlow в биллинг. Это уже несколько сложнее, но тоже можно, если надо. Как в OpenVPN фиксированные IP-адреса отдавать, рассказывать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
beginner admin



Зарегистрирован: 06.05.2007
Сообщения: 69

СообщениеДобавлено: Чт Окт 23 2008 21:20    Заголовок сообщения: Ответить с цитатой

Огромное спасибо.

По первому варианту идея понятна, второй, как мне кажется, не совсем подходит. Если я правильно понял, то в нём считается трафик с внутренних адресов туннеля, а не трафик с внешнего адреса, с которого установилось соединение. Насчёт постоянных адресов для клиентов знаю такой способ (его сейчас и использую): в файле конфигурации клиента указываем ifconfig-push "IP" "Gateway=IP-1", где IP принадлежит подсети /30. Если есть способ как-то автоматизировать этот процесс, т.е. чтобы не каждому клиенту ручками адреса прописывать, то с радостью его выслушаю.
Есть ещё такой вопросик: параметр скрипта IP_ADDR - это внешний адрес, с которого устанавливается соединение, а Client_name - это как раз имя файла файла конфигурации=common name?

Если честно, надеялся на какой-то лёгкий способ, так как в линуксе ещё совсем недавно, и любые новые вещи не совсем просто даются. Ну чтож, тем интереснее, сделаю ещё один шаг в познании Linux, буду осваивать написание собстенных скриптов и подсчёт трафика с помощью iptables
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Пт Окт 24 2008 01:35    Заголовок сообщения: Ответить с цитатой

Цитата:
Что требуется:
Подсчитать внешний трафик клиента


Я дал идею подсчета вообще. Но мне не понятна топологи подключения. Схемку бы увидеть...

А по поводу параметров, все просто.
В скрипте укажите команду:
echo $1 $2 > test_file.txt

Ну и увидете что передается. Только совет, указывайте полный путь до команды echo, иначе бывает не работает. Почему - рассказывать лениво. Very Happy

А по поводу простоты... В UNIX-е всегда так. Читаешь тонну док, запускаешь 2-3 команды с нужными параметрами и все работает. Всегда. Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...