...
Code Block | ||
---|---|---|
| ||
daemonize: true pidfile: /var/run/hydra/hcd/nfacctd.pid logfile: /var/log/hydra/hcd/nfacctd.log nfacctd_ip: 127.0.0.1 nfacctd_port: 9992 aggregate[agg-ba]: src_net,src_mask,dst_host aggregate[agg-ab]: src_host,dst_net,dst_mask aggregate_filter[agg-ab]: src net 1.2.3.4/17 or src net 5.6.7.8/19 aggregate_filter[agg-ba]: dst net 1.2.3.4/17 or dst net 5.6.7.8/19 plugins: memory[agg-ba], memory[agg-ab] imt_path[agg-ba]: /var/run/hydra/hcd/ipacc-agg-ba.pipe imt_path[agg-ab]: /var/run/hydra/hcd/ipacc-agg-ab.pipe networks_file: /etc/pmacct/networks.lst refresh_maps: true plugin_buffer_size: 50240 plugin_pipe_size: 50240000 imt_buckets: 65537 imt_mem_pools_size: 1024000 |
...
В этом файле необходимо вручную прописать список всех подсетей провайдера в cidrCIDR-нотации, каждая на отдельной строке.
Для файла лога, указанного в параметре logfile
, необходимо настроить ротацию с помощью logrotate
:
Code Block | ||
---|---|---|
| ||
/var/log/hydra/hcd/nfacctd.log {
daily
rotate 90
delaycompress
dateext
missingok
su hcd hcd
postrotate
/usr/bin/killall -HUP nfacctd
endscript
} |
Не следует добавлять демон nfacctd
в автозапуск. Он будет запускаться автоматически агентом HCD с правами системного пользователя hcd
. Поэтому необходимо убедиться, что директория /etc/pmacct
доступна этому пользователю.
Для применения изменений необходимо перезапустить nfacctd
.
Настройка агента HCD
Отредактируйте конфигурационный файл агента HCD, по умолчанию это файл
/etc/hydra/hcd/hcd.conf
Обычно конфигурация по умолчанию подходит и в ней нужно настроить только параметры доступа:Code Block # For Netflow (nfacctd) module current_statistics = on # For custom statistics format module external_statistics = off # Идентификатор коллектора трафика в АСР «Гидра». server id = 37301 # IP-адрес и порт, к которому привязывается встроенный в hcd сервер XML-RPC при запуске. # По этому адресу АСР связывается с hcd для снятия статистики по трафику. # Обратите внимание, что в АСР нужно задать настройки управления коллектором (см. ниже) в соответствии с данными параметрами. server ip = 127.0.0.1 server port = 8888 # Логин и пароль на сервере XML-RPC для управления hcd server login = hydra server password = 123
Обратите внимание что параметры module current_statistics и module external_statistics не могут быть включены одновременно.
Запустите HCD в консольном режиме:
Code Block language bash user@server:~$ sudo /etc/init.d/hсdhcd run
Если все действия выполнены правильно, то должно появиться сообщение об успешном запуске примерно следующего вида:
Code Block InstallSignalHandlers root INFO Installing signal handlers... CreateXMLRPCServer root INFO Initializing XML-RPC server at 127.0.0.1:8888... RunXMLRPCServer root INFO Starting XML-RPC server...
Убедитесь, что процесс
nfacctd
запустился:Code Block language bash user@server:~$ sudo ps aux|grep nfacctd hcd 16035 0.1 0.0 19740 12072 ? S May10 40:31 nfacctd: Core Process [default] hcd 16081 0.0 0.0 23072 14552 ? S May10 26:23 nfacctd: IMT Plugin [agg-ba] hcd 16082 0.0 0.0 20176 11644 ? S May10 26:50 nfacctd: IMT Plugin [agg-ab]
Убедитесь, что Netflow-пакеты поступают в
nfacctd
и агрегируются:Code Block language bash user@server:~$ sudo tcpdump -i eth0 udp port 9992 listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 20:06:27.965803 IP 90.151.176.22.23801 > 90.151.179.106.9992: UDP, length 1464 20:06:27.966830 IP 90.151.176.22.23801 > 90.151.179.106.9992: UDP, length 1464 20:06:27.966837 IP 90.151.176.22.23801 > 90.151.179.106.9992: UDP, length 1464
Code Block language bash user@server:~$ /usr/bin/pmacct -s -p /var/run/hydra/hcd/ipacc-agg-ab.pipe | head SRC_IP DST_IP DST_MASK PACKETS BYTES 90.151.179.157 0.0.0.0 0 186 18297 90.151.176.222 90.151.176.0 21 44 7788 10.5.9.12 10.0.0.0 8 2 463 90.151.176.107 0.0.0.0 0 513 239569 ...
Особое внимание следует уделить проверке названий и последовательности полей в первой строке вывода утилиты
pmacct
. Они должны называться именно так и идти именно в том порядке, как показано выше:SRC_IP DST_IP DST_MASK PACKETS BYTES
Если пакеты по какой-то причине не агрегируются, попробуйте проверить настройки iptables.
...