NetFlow коллектор
На сервере по умолчанию включена возможность приема netflow трафика от NAS-устройств в локальной сети, поэтому включать отдельно этот сервис не нужно.
UDP-порт для приема
- По умолчанию сервис работает на порту 9996. Порт должен быть одинаковым на всех NAS-устройствах сети и на сервере Carbon Billing, поэтому если ваши устройства используют порт отличный от 9996, то укажите его ниже.
Прием NetFlow потоков с разных источников
- обязательно включите эту опцию если вам нужно принимать NetFlow с нескольких источников в локальной сети. Так же, чтобы прием был возможен, эти устройства должны быть перечислены в управлении NAS-устройствами.
Настройки на Carbon Billing
При настройке передачи статистики по netflow указывайте 5-ю версию. Также статистику по netflow нужно передавать на локальный интерфейс.
Для начала убедитесь, что UDP-порт для приёма указан, по дефолту большая часть NAS-серверов использует 9996 порт.
Проверьте, что сервер действительно слушает на нём:
netstat -apn | grep 9996
Настройки на оборудовании
Почти любом оборудовании настройка netflow потока сводится к указанию адреса и порта netflow-коллектора, в данном случае Carbon Billing.
Порт Carbon Billing по умолчанию - 9996.
Mikrotik
Примечание: все (all) интерфейсы должны быть выбраны в Trafic Flow
По настройке netflow на mikrotik есть статья в официальной документации Mikrotik
Cisco
По настройке netflow на cisco есть отличная статья на opennet
Redback
#TODO
D-link
Возможно потребуется отключение опции blat attack
Проверка на Carbon Billing
То, что netflow пакеты приходят на Carbon Billing можно проверить следующим образом. Заводим тестового абонента, который ходит в интернет через NAS.
Запускаем на tcpdump на Carbon Billing:
tcpdump -nvi any udp port 9996
После этого попробуйте сгенерировать пользователем какой-либо трафик, одновременно наблюдая за tcpdump'ом.
Спустя небольшой промежуток времени после завершения соединения у пользователя вы должны увидеть пришедшие от NAS netflow-пакеты.
Решение проблем
Если в расходе абонента трафик не появляется, проверьте следующее:
- Сгенерируйте трафик на хосте абонента, просмотрите с помощью tcpdump с каких IP-адресов приходит netflow, убедитесь что по всем этим адреса в биллинге заведены NAS интернет.
- Если все адреса есть, проверьте что в netflow есть ненулевые данные в трафике, это удобней всего делать с помощью tshark, по-умолчанию он не установлен и находится в пакете wireshark, запустив снифер по IP NAS из учетной записи тестового абонента:
yum install -y wireshark tshark -nnVi eth0 port 9996 and host 10.20.30.40 -c 1 | egrep 'Packets|Octets' | sort | uniq
Вывод должен быть приблизительно таким:
Running as user "root" and group "root". This could be dangerous. Capturing on eth0 1 packet captured Octets: 101 Octets: 126 Octets: 1260 Packets: 11 Packets: 2 Packets: 6
Должны быть ненулевые Octets
Описание полей netflow можно посмотреть по ссылке https://www.plixer.com/support/netflow-v5/ - Если Octets ненулевые, убедитесь что трафик проходит IPTABLES по правилу для IP Вашего NAS:
iptables -nvL nas_clients | grep 9996
- Если трафик проходит IPTABLES, повысьте уровень логирования коллектора netflow в настройках коллектора и посмотрите есть ли данные в логе nf_collector, убедитесь что он отсылает их в /var/dump
- Если данные отправляются, проверьте что запущен traf_reporter и он отсылает данные в биллинг изучив его лог
Если указанные в статье дейвтия не помогли, выполните скрипт диагностики:
/app/base/usr/local/bin/billing_check.sh &> billing_check.log и приложите его к заявке а портале HelpDesk |