跳转至

流量分析(NetFlow)

接口流量告诉你一条链路上跑了多少,流量分析告诉你这些流量是谁跑的:哪台主机、去了哪个目的地、走的什么端口、落在哪个 AS 和哪个地区。

「可视化 → 流量分析」。

先说清楚它存什么

原始流一条都不存。

一台跑满 10G 的边缘路由器不采样时每秒导出几千到几万条流记录,逐条入库每天就是几亿行——没有哪台单机数据库扛得住,扛得住也查不动。所以采集器在内存里按时间窗聚合,每个窗口只落两样东西:

  • 总量:这一分钟共多少字节、多少包、多少条流;
  • 各维度的前 N 名:源 IP、目的 IP、会话对、源/目的端口、协议、源/目的 AS、国家、省份。

由此带来一个必须知道的边界:

排行榜能回答「谁在占流量」,回答不了「某个不在榜上的 IP,昨天下午具体连了谁」——那条流量根本没被存下来。

要查后者,用页面下方的定向抓流:对某个 IP 或小网段开一个窗口,只记这一个目标的原始流,到点自动停。整表全量存不起,单目标存得起。

打开采集

  1. 「流量分析 → 采集设置」勾选启用采集,确认采集端口(默认 udp/2055,NetFlow v5/v9、IPFIX、sFlow 三种协议共用这一个端口,按报文首部自动识别;采集默认关)。
  2. 防火墙/安全组放行对应 UDP 端口;容器部署还要在宿主机发布这些端口(一键脚本默认已发布,见安装文档)。
  3. 在设备上配置导出,目标指向 vConfig 主机。

设备侧配置样例(按实际接口与版本调整):

Cisco IOS / IOS-XE

ip flow-export version 9
ip flow-export destination <vConfig-IP> 2055
ip flow-sampling-mode packet-interval 1000
interface GigabitEthernet0/0/1
 ip flow ingress
 ip flow egress

华为 VRP

ip netstream export version 9
ip netstream export host <vConfig-IP> 2055
ip netstream sampler fix-packets 1000 inbound
interface GigabitEthernet0/0/1
 ip netstream inbound
 ip netstream outbound

H3C Comware

ip netstream export version 9
ip netstream export host <vConfig-IP> 2055
ip netstream sampler fix-packets 1000
interface GigabitEthernet1/0/1
 ip netstream inbound
 ip netstream outbound

Juniper Junos

set services flow-monitoring version9 template ipv4 template-refresh-rate seconds 60
set forwarding-options sampling instance FLOW family inet output flow-server <vConfig-IP> port 2055
set forwarding-options sampling instance FLOW input rate 1000

采样率:填错了看不出来

采样率是这套东西里最容易出事的一个数。 1:1000 意味着我们收到 1 条流代表现网 1000 条,所有字节数都要乘回去。填错了,图照样画得出来,只是整体差一个数量级——而且从界面上完全看不出来。

所以:

  • 设备在 v9/IPFIX 里自报采样率时,以设备上报的为准
  • 不上报的设备,在「导出设备」表里手工填,界面上会标明这个值的来源是「设备上报 / 人工 / 默认」;
  • 改了设备上的采样配置,记得回来改这里——人工填的那个不会自己跟着变。

归属地、AS 与公司

一个 IP 的身份按这个顺序查,全程离线:

  1. IPAM 台账——内网地址查你自己的库,能给出「哪个客户、哪条业务」。任何公网库都给不出这一层,这也是这套流量分析和独立 NetFlow 工具最不一样的地方。
  2. 本地缓存表。
  3. 内置前缀库(前缀 → ASN / 组织 / 国家)。
  4. 你自己放进来的 MaxMind GeoLite2(需要账号,我们不随产品分发)。
  5. 查不到就显示未知——不编。

归属库放在 data/netflow/ 下,更新后点「采集设置 → 重载归属库」即可,不必重启。库不在时,AS 与地区列会显示未知,其余功能不受影响。

保留多久

精度 默认保留 用途
1 分钟 24 小时 排障看细节
5 分钟 7 天 看本周
1 小时 90 天 看趋势

降精度由后台任务每 5 分钟做一次,过期数据自动清理。留得越久表越大、查得越慢,按需要在采集设置里调。

丢包计数要看

状态条里的「丢弃」是我们没收上来的包数。收包线程满负荷时会主动丢弃而不是阻塞——阻塞会拖慢整台机器。所以这个数不为零时,看到的流量是偏小的,别把它当成网络流量下降。持续丢弃说明设备发得比我们收得快:把采样率调大(1:1000 → 1:5000)通常立刻见效。

告警

「告警设置」里有两条与流量分析相关的规则,默认关闭:

  • 流量新面孔:过去 24 小时榜单里从未出现过、这一小时却冲进前列的源。新业务上线没报备、配置变更、主机外联,都是这个样子。
  • 异常端口流量:Telnet、SMB、RDP、Redis 等不该在广域链路上跑的端口出现了可观流量。

两条都建立在排行榜之上——异常流量按定义就会冲上榜,榜外的那点量本来也不值得告警。