Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

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

Внимание: метод запуска агента поменялся с версии 4.0.1236 (нет конфиг-файла агента). 

Сбор данных осуществляется через библиотеку libpcap, аналогично утилитам tcpdump и Wireshark. Преимуществом данного подхода являеются:

  • уход от медленной и ненадежной (FreeBSD) библиотеки jnetpcap
  • возможность разнести пропуск трафика и обработку статистики на разные машины (и разные платформы)
  • возможность осуществлять блокировку по трафику (FreeBSD через pf или ipfw, Linux через ipset)

Вопрос: Почему бы не работать через ipfw вместо pcap?

Ответ: Работа по механизму ipfw в части захвата трафика предусматривает копирование пакета из kernel space в user space два раза, что замедляет работу сервера-маршрутизатора. К тому же, такой подсчет не корректно работает в случае трансляции адресов, является потенциально небезопасным (не работает биллинг-трафик не ходит вообще, сервер недоступен). С другой стороны, ничто не мешает использовать RemoteAgentDataSource в режиме сбора статистики через libcap, а в режиме блокирования применять не pf, а работать с таблицами ipfw. 

"Удаленный агент" представляет собой программу, собранную статически (нет зависимостей от внешних библиотек), работающую под операционными системами Linux и FreeBSD (агент собран как 32-бит приложение, и может работать на 64-бит архитектуре). Агент слушает проходящий мимо указанного сетевого интерфейса трафик, фильтрует его согласно заданной политике, формирует потоки статистики, и отправляет их в сторону сервера биллинга. Протокол обмена - собственный, поверх UDP, порт по умолчанию: 20002.

...

При работе агента с указанием параметра -e (скрипт блокировки) на самом деле запускаются два процесса: первый для обработки трафика и работы с биллингом, второй для запуска команд блокировки-разблокировки.

Вопрос: Запускаю агента (FreeBSD 8.0), вижу:

datasource @@ failed to open pcap interface: BIOCSRTIMEOUT: Invalid argument

Что это? Как бороться?

Ответ: Это происходит из-за несовместимости дистрибутивного агента (собранного для FreeBSD 8.2) c локальной (более старой) системой. Необходимо перекомпилировать агента. Для этого надо:

  • Wiki MarkupСкачать исходные коды агента отсюда: \ [http://www.netams.com/files/netams4/agents/n4agent-src.tar.gz] и распаковать их.
  • Скачать утилиту gmake и библиотеку libeventunmigrated-wiki-markup
  • В каталоге src/ выполнить сборку, получить агента \ [n4agent_pcap\] и заменить им дистрибутивный.

В режиме поддержки блокировки биллинг присылает агенту команды на блокировку-разблокировку заданных IP-адресов. Агент передает эти команды так называемым access-скриптам, указанным в параметрах командной строки через ключ -е. Сами скрипты идут в дистрибутиве, и их можно скачать там же, где и агенты. Скрипты вызывают системные утилиты добавления-удаления записей в межсетевой экран операционной системы (pf/ipfw/iptables). При этом вам необходимо самостоятельно:

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

Вопрос: Почему у меня агент не запускается из стартап-скрипта? 

Ответ: Поправьте стартап-скрипт. Существует множество версий дистрибутивов поддерживаемых операционных систем, и у каждой свои прихоти. Мы не в состоянии поддреживать идеально работоспособные скрипты для всех возможных вариантов. Наша компания не специализируется на бесплатной системном администрировании вашей ОС. Изучайте инструкции и документацию на вашу систему, или обратитесь сюда за поддержкой на коммерческой основе.

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

Ответ: Наша компания не специализируется на бесплатной системном администрировании вашей ОС. Изучайте инструкции и документацию на вашу систему, разберитесь в работе межсетевого экрана, или обратитесь сюда за поддержкой на коммерческой основе.