Есть шлюзовой сервер (FreeBSD 4.4) между локальной сетью и внешним миром. В локалке подключены пользователи, адреса (вида 192.168.7.*) им раздаёт DHCP-сервер, который настроен на этом же шлюзовом. Для выхода в инет, пользователи должны подключиться к mpd 3.9, авторизоваться и получить другой адрес (вида 192.168.8.*), у каждого пользователя - свой адрес. Далее, они нормально выходят в инет через NAT. Выход из локалки в инет напрямую через NAT закрыт файрволлом.
Для подсчёта траффика используется trafd 3.0. Вначале он был заведён на внешнем (rl0) интерфейсе и на внутреннем (rl1). В базу попадал только траффик, который шёл с внешних адресов на rl0, и с внутренних (192.168.7.*) на rl1, и обратно. Причём для внутренних адресов, trafd не мог определить тип протокола и писал "unkn". Насколько я понял, это произошло из-за того, что траффик внутренний шёл через канал VPN.
Т.к. адреса вида 192.168.7.* раздаются DHCP, учёт траффика по ним вести проблематично. Хотелось бы учитывать траффик на адреса вида 192.168.8.*, индивидуальные для каждого. Но как их "поймать" trafd - непонятно.
Вопрос:
Каким образом можно подсчитывать траффик для клиентов, который подключились к mpd? в отчёте о траффике должны фигурировать адреса, которые клиенты получили от mpd.
Пытался запускать trafd для каждого виртуального интерфейса при подключении и вырубать при отключении - безуспешно. Процесс trafd вешается на виртуальный интерфейс ng0, но в файлы никаких отчётов не выдаёт.
Устанавливал ipcad. То же самое - он не видит адресов, которые создаются внутри VPN.
Мелькало тут на форуме сообщение, не помню чьё, где говорилось, что mpd сам может считать траффик. Если это так - сообщите, пожалуйста, поподробнее об этой его особенности.
|