{toc}
h2. NetFlow коллектор
На сервере по умолчанию включена возможность приема netflow трафика от NAS-устройств в локальной сети, поэтому включать отдельно этот сервис не нужно.
*UDP-порт для приема*
\\
\- По умолчанию сервис работает на порту 9996. Порт должен быть одинаковым на всех NAS-устройствах сети и на сервере Carbon Billing, поэтому если ваши устройства используют порт отличный от 9996, то укажите его ниже.
*Прием NetFlow потоков с разных источников*
\\
\- обязательно включите эту опцию если вам нужно принимать NetFlow с нескольких источников в локальной сети. Так же, чтобы прием был возможен, эти устройства должны быть перечислены в управлении NAS-устройствами.
h2. Настройки на Carbon Billing
При настройке передачи статистики по netflow указывайте *5-ю версию*. Также статистику по netflow нужно передавать на локальный интерфейс.
Для начала убедитесь, что UDP-порт для приёма указан, по дефолту большая часть NAS-серверов использует 9996 порт.
Проверьте, что сервер действительно слушает на нём:
{code}
netstat -apn | grep 9996
{code}
h2. Настройки на оборудовании
Почти любом оборудовании настройка netflow потока сводится к указанию адреса и порта netflow-коллектора, в данном случае Carbon Billing.
Порт Carbon Billing по умолчанию - 9996.
h3. Mikrotik
Примечание: все (all) интерфейсы должны быть выбраны в Trafic Flow
По настройке netflow на mikrotik есть [статья в официальной документации|http://www.mikrotik.com/testdocs/ros/2.9/ip/traffic-flow.php] Mikrotik
h3. Cisco
По настройке netflow на cisco есть [отличная статья на opennet|http://www.opennet.ru/base/cisco/netflow_nat.txt.html]
h3. Redback
\#TODO
h3. D-link
Возможно потребуется отключение опции blat attack
h2. Проверка на Carbon Billing
То, что netflow пакеты приходят на Carbon Billing можно проверить следующим образом. Заводим тестового абонента, который ходит в интернет через NAS.
Запускаем на tcpdump на Carbon Billing:
{code}
tcpdump -nvi any udp port 9996
{code}
После этого попробуйте сгенерировать пользователем какой-либо трафик, одновременно наблюдая за tcpdump'ом.
Спустя небольшой промежуток времени после завершения соединения у пользователя вы должны увидеть пришедшие от NAS netflow-пакеты.
h3. Решение проблем
Если в [расходе|CarbonBilling:Счетчики услуг. Вкладка "Расход".] абонента трафик не появляется, проверьте следующее:
# Сгенерируйте трафик на хосте абонента, просмотрите с помощью tcpdump с каких IP-адресов приходит netflow, убедитесь что по всем этим адреса в биллинге заведены [NAS интернет|CarbonBilling:Интеграция оборудования интернет].
# Если все адреса есть, проверьте что в netflow есть ненулевые данные в трафике, это удобней всего делать с помощью *tshark*, по-умолчанию он не установлен и находится в пакете *wireshark*, запустив снифер по IP NAS из учетной записи тестового абонента:
{code}yum install -y wireshark
tshark -nnVi eth0 port 9996 and host 10.20.30.40 -c 1 | egrep 'Packets|Octets' | sort | uniq{code}
Вывод должен быть приблизительно таким:
{code}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{code}
Должны быть ненулевые *Octets*
{info}Описание полей netflow можно посмотреть по ссылке [https://www.plixer.com/support/netflow-v5/]
{info}
# Если *Octets* ненулевые, [повысьте уровень логирования коллектора netflow|CarbonBilling:Описание работы служб сбора статистики] в настройках коллектора и посмотрите есть ли данные в логе [nf_collector|CarbonBilling:Collector], убедитесь что он отсылает их в /var/dump
# Если данные отправляются, проверьте что запущен [traf_reporter|CarbonBilling:Collector] и он отсылает данные в биллинг[|CarbonBilling:Collector]
h2. NetFlow коллектор
На сервере по умолчанию включена возможность приема netflow трафика от NAS-устройств в локальной сети, поэтому включать отдельно этот сервис не нужно.
*UDP-порт для приема*
\\
\- По умолчанию сервис работает на порту 9996. Порт должен быть одинаковым на всех NAS-устройствах сети и на сервере Carbon Billing, поэтому если ваши устройства используют порт отличный от 9996, то укажите его ниже.
*Прием NetFlow потоков с разных источников*
\\
\- обязательно включите эту опцию если вам нужно принимать NetFlow с нескольких источников в локальной сети. Так же, чтобы прием был возможен, эти устройства должны быть перечислены в управлении NAS-устройствами.
h2. Настройки на Carbon Billing
При настройке передачи статистики по netflow указывайте *5-ю версию*. Также статистику по netflow нужно передавать на локальный интерфейс.
Для начала убедитесь, что UDP-порт для приёма указан, по дефолту большая часть NAS-серверов использует 9996 порт.
Проверьте, что сервер действительно слушает на нём:
{code}
netstat -apn | grep 9996
{code}
h2. Настройки на оборудовании
Почти любом оборудовании настройка netflow потока сводится к указанию адреса и порта netflow-коллектора, в данном случае Carbon Billing.
Порт Carbon Billing по умолчанию - 9996.
h3. Mikrotik
Примечание: все (all) интерфейсы должны быть выбраны в Trafic Flow
По настройке netflow на mikrotik есть [статья в официальной документации|http://www.mikrotik.com/testdocs/ros/2.9/ip/traffic-flow.php] Mikrotik
h3. Cisco
По настройке netflow на cisco есть [отличная статья на opennet|http://www.opennet.ru/base/cisco/netflow_nat.txt.html]
h3. Redback
\#TODO
h3. D-link
Возможно потребуется отключение опции blat attack
h2. Проверка на Carbon Billing
То, что netflow пакеты приходят на Carbon Billing можно проверить следующим образом. Заводим тестового абонента, который ходит в интернет через NAS.
Запускаем на tcpdump на Carbon Billing:
{code}
tcpdump -nvi any udp port 9996
{code}
После этого попробуйте сгенерировать пользователем какой-либо трафик, одновременно наблюдая за tcpdump'ом.
Спустя небольшой промежуток времени после завершения соединения у пользователя вы должны увидеть пришедшие от NAS netflow-пакеты.
h3. Решение проблем
Если в [расходе|CarbonBilling:Счетчики услуг. Вкладка "Расход".] абонента трафик не появляется, проверьте следующее:
# Сгенерируйте трафик на хосте абонента, просмотрите с помощью tcpdump с каких IP-адресов приходит netflow, убедитесь что по всем этим адреса в биллинге заведены [NAS интернет|CarbonBilling:Интеграция оборудования интернет].
# Если все адреса есть, проверьте что в netflow есть ненулевые данные в трафике, это удобней всего делать с помощью *tshark*, по-умолчанию он не установлен и находится в пакете *wireshark*, запустив снифер по IP NAS из учетной записи тестового абонента:
{code}yum install -y wireshark
tshark -nnVi eth0 port 9996 and host 10.20.30.40 -c 1 | egrep 'Packets|Octets' | sort | uniq{code}
Вывод должен быть приблизительно таким:
{code}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{code}
Должны быть ненулевые *Octets*
{info}Описание полей netflow можно посмотреть по ссылке [https://www.plixer.com/support/netflow-v5/]
{info}
# Если *Octets* ненулевые, [повысьте уровень логирования коллектора netflow|CarbonBilling:Описание работы служб сбора статистики] в настройках коллектора и посмотрите есть ли данные в логе [nf_collector|CarbonBilling:Collector], убедитесь что он отсылает их в /var/dump
# Если данные отправляются, проверьте что запущен [traf_reporter|CarbonBilling:Collector] и он отсылает данные в биллинг[|CarbonBilling:Collector]