Для того, чтобы в сессиях абонентов отражались верные значения счётчиков по трафику, необходимо придерживаться следующих правил:

  1. Для всех типов устройств доступа, кроме маршрутизатор Linux счётчики по трафику формируются подсчётом поступающих сообщений типа RADIUS Acct.
  2. Для устройства доступа маршрутизатор Linux счетчики трафика берутся из статистики протокола NetFlow, потому что RADIUS не используется вовсе.
  3. Чтобы RADIUS Acct пакеты от серверов доступа корректно воспринимались ядром системы WNAM, необходимо:
    • указывать параметр "Использовать счетчики аккаунтинга" в настройках сервера доступа;
    • убедиться, что IP-адрес сервера доступа, указанный в его настройках, совпадает с IP-адресом, с которого происходит отправка пакетов RADIUS самим сервером доступа, и совпадает со значением параметра "MAS-IP-Address" в RADIUS-пакете;
    • IP-адрес должен быть указан в файле /etc/freeradius/clients.conf (в виде адреса или в подсети), а также должен совпадать ключ (пароль) в файле и на сервере доступа;
    • работающий на сервере системы WNAM или в используемой сети межсетевой экран должен пропускать UDP-пакеты от сервера доступа до сервера системы WNAM по портам 1812 и 1813.
  4. При использовании RADIUS Acct для типовых устройств сбор статистики NetFlow позволяет делать записи о "потоках трафика" в привязке к сессиям, чтобы определить, на какие внешние ресурсы (IP-адреса и порты) обращался абонент.
  5. Чтобы NetFlow пакеты от устройств доступа корректно воспринимались ядром системы WNAM, необходимо:
    • указывать параметр "Принимать детализацию потоков NetFlow" в настройках сервера доступа;
    • убедиться, что IP-адрес сервера доступа, указанный в его настройках, совпадает с IP-адресом, с которого происходит отправка пакетов NetFlow самим сервером доступа;
    • использовать версию 5 протокола NetFlow (начиная с версии 1.2.685 системы WNAM поддерживается версия 9 протокола NetFlow).
    • Работающий на сервере WNAM или в вашей сети межсетевой экран пропускает UDP-пакеты от сервера доступа до сервера WNAM по порту 20002

Если необходим учёт ссылок, которые посещал абонент, то следует принимать во внимание следующее. Потенциально система WNAM может принимать эти сведения, если они были собраны агентом wnam_agent и отправлены на порт UDP:20001 сервера. Агент работает путём прослушивания сетевого интерфейса (в режиме pcap), разбора TCP/HTTP сессий, поиска параметров GET/POST и Host (в трафике).

Такой подход имеет множество недостатков, из-за которых определение посещенных ссылок на практике не используется. Ниже представлен перечень причин возникновения недостатков:

  1. Посещение пользователем одной веб-страницы фактически приводит к тому, что браузер пользователя запрашивает сотни ссылок со сторонних ресурсов (реклама, CDN, скрипты и т.п.), из которых вычислить "основной" ресурс зачастую невозможно.
  2. Значительная часть сайтов работает по протоколу HTTPS, разбор трафика которых невозможен без специализированных программ.
  3. Использование современных методов работы браузеров (например, через AJAX) не приводит к результатам поиска параметров ссылки.
  4. Использование "тяжелого" контента типа видео отрицательно сказывается на производительности сервера при разборе трафика.

Определить, посещал ли пользователь заданный сайт можно, если использовать учёт потоков трафика через NetFlow, а затем воспользоваться отчетом типа "Розыск пользователя по времени, потокам трафика и посещенным URL". Если указать URL ресурса, произойдет преобразование имени в IP-адрес, а затем поиск по таблице потоков по IP-адресу.

Сбор статистики NetFlow приводит к быстрому росту БД MongoDB, поэтому необходимо следить за тем, чтобы место на диске сервера системы WNAM внезапно не закончилось.
  • No labels