/---------------------\ | | | Сеть 192.168.1.0.24 | | | \----+----------------/ | | NetFlow снимается отсюда | / /---NAT----\ /----------------------------\ | | | | | MikroTik +-----+ BGInetAccess (DHCP) 7.1_33 | | | | BGInetAccounting 7.1_33 | \--+----+--/ | | | | \----------------------------/ | | | | Клиенты
NetFlow используется только для обсчёта трафика в сессиях, поэтому записал 2 в ipResourceFilter , чтобы не обрабатывать и не хранить ненужное. Но что-то пошло не так.
Конфиг коллектора:
<bean name="flowListener" class="ru.bitel.bgbilling.modules.inet.collector.InetFlow9Listener"> <constructor factoryMethod="newInstance"> <!-- Тип слушателя, netflow, netflow9 или sflow --> <param name="type" value="netflow9"/> <!-- Хост (интерфейс), на котором будет открыт сокет. Если пусто - на всех --> <param name="host" value=""/> <!-- Порт, на котором будет открыт сокет --> <param name="port" value="2001"/> <!-- Размер буфера приема слушателя --> <param name="recvBufferSize">4 * 1024 * 1024</param> <!-- Рекомендуемый SO_RCVBUF сокета --> <param name="soRCVBUF">512 * 1024</param> <!-- Количество потоков-обработчиков --> <param name="threadCount" value="10"/> <!-- id устройств-источников, если на данном порту нужно получать пакеты только c определенных источников --> <param name="agentDeviceIds" value=""/> <!-- id устройств-источников, если на данном порту нужно обрабатывать пакеты только c определенных источников --> <param name="processAgentDeviceIds" value=""/> <!-- Фильтр flow-пакетов: 0 (по умолчанию) - не фильтровать, 1 - не сохранять и не обрабатывать пакеты, в которых нет записей с IP-адресами из IP-ресурсов, 2 - то же самое, что 1, но с учетом периодов IP-ресурсов. --> <param name="ipResourceFilter" value="2"/> <!-- Передача dataLogger --> <param name="dataLogger">flowDataLogger</param> </constructor> </bean>
IP-ресурсы:
select id, inet_ntoa(conv(hex(addressFrom), 16, 10)) as addressFrom, inet_ntoa(conv(hex(addressTo), 16, 10)) as addressTo, dateFrom, dateTo from inv_ip_resource_1
id |addressFrom |addressTo |dateFrom |dateTo | ---|------------|-----------|-----------|-------| 1 |10.0.50.10 |10.0.50.12 |2018-06-01 | | 2 |10.0.51.10 |10.0.51.12 |2018-06-01 | | 3 |10.0.60.10 |10.0.60.12 |2018-06-01 | | 4 |10.0.61.10 |10.0.61.12 |2018-06-01 | | 5 |10.0.70.10 |10.0.70.12 |2018-06-01 | | 6 |10.0.71.10 |10.0.71.12 |2018-06-01 | | 7 |10.0.80.10 |10.0.80.12 |2018-06-01 | | 8 |10.0.81.10 |10.0.81.12 |2018-06-01 | |
Работают клиенты 10.0.70.10 (динамический адрес) и 10.0.80.10 (статический адрес).
MikroTik шлёт вот такие записи NetFlow:
{ "@timestamp": "2018-06-15T03:59:08.000Z", "netflow": { "version": 9, "flow_seq_num": 154, "flowset_id": 256, "last_switched": "2018-06-15T03:58:53.999Z", "first_switched": "2018-06-15T03:58:52.999Z", "in_pkts": 11, "in_bytes": 1212, "input_snmp": 8222, "output_snmp": 1, "ipv4_src_addr": "10.0.70.10", "ipv4_dst_addr": "109.120.177.39", "protocol": 6, "src_tos": 0, "l4_src_port": 41116, "l4_dst_port": 443, "ipv4_next_hop": "192.168.1.1", "dst_mask": 0, "src_mask": 0, "tcp_flags": 2, "in_dst_mac": "d4:ca:6d:0b:c1:2d", "out_src_mac": "d4:ca:6d:0b:c1:15", "xlate_src_addr_ipv4": "192.168.1.80", "xlate_dst_addr_ipv4": "109.120.177.39", "xlate_src_port": 41116, "xlate_dst_port": 443 }, "@version": "1", "type": "netflow_v9", "host": "192.168.99.1" }
{ "@timestamp": "2018-06-15T03:59:08.000Z", "netflow": { "version": 9, "flow_seq_num": 154, "flowset_id": 256, "last_switched": "2018-06-15T03:58:53.999Z", "first_switched": "2018-06-15T03:58:52.999Z", "in_pkts": 13, "in_bytes": 4872, "input_snmp": 1, "output_snmp": 8222, "ipv4_src_addr": "109.120.177.39", "ipv4_dst_addr": "192.168.1.80", "protocol": 6, "src_tos": 0, "l4_src_port": 443, "l4_dst_port": 41116, "ipv4_next_hop": "10.0.70.10", "dst_mask": 0, "src_mask": 0, "tcp_flags": 18, "in_dst_mac": "d4:ca:6d:0b:c1:15", "out_src_mac": "d4:ca:6d:0b:c1:2d", "xlate_src_addr_ipv4": "109.120.177.39", "xlate_dst_addr_ipv4": "10.0.70.10", "xlate_src_port": 443, "xlate_dst_port": 41116 }, "@version": "1", "type": "netflow_v9", "host": "192.168.99.1" }
Всё верно.
В файле collector.log вижу это:
Flow 0:10.0.70.10:41124 / 0:109.120.177.39:443 1212 ToS/DiffServ: 0 nextHop: 192.168.1.1 Flow 0:109.120.177.39:443 / 0:192.168.1.80:41124 4768 ToS/DiffServ: 0 nextHop: 10.0.70.10 ... Flow 0:10.0.80.10:48760 / 0:109.120.177.39:443 1212 ToS/DiffServ: 0 nextHop: 192.168.1.1 Flow 0:109.120.177.39:443 / 0:192.168.1.80:48760 4768 ToS/DiffServ: 0 nextHop: 10.0.80.10
но не вижу записей ... Processing Flow ... про этих клиентов. Зато вижу много такого про сеть 192.168.1.0:
06-15/07:12:42 TRACE [flow-p-8-t-8] FlowListenerWorker - Processing Flow 0:192.168.1.94:17500 / 0:192.168.1.255:17500 158 ToS/DiffServ: 0 nextHop: 192.168.1.255
accounting.sh flowExport и accounting.sh natLogExport выдают массу записей из сети 192.168.1.0, и ни одной записи - о клиентах.
|