技术解析

能否实现单网卡 Linux 局域网主机,实时显示和存储其内网(10.42.0.0/24)流量和外网(非该网段)流量?
0
2021-06-30 07:51:34
idczone

如题,现在有一台 linux 主机,只有一个网卡,配置着内网 IP,可以通过网关的 NAT 来上网。

业务需要分析下该主机对内网(10.42.0.0/24)的流量趋势图,和其到 NAT 网关的流量出口图。

目前 NAT 网关的流量出口图我们没有权限,所以只能从本机分析,

网上搜索了下,有 iftop、tcpdump 等,但是感觉不是很好,很糙,而且需要自己再额外的写相应的存储、计算、画图脚本,感觉应该不是这种情况的解决方案。

请高手推荐个解决方案


Zabbix?

不是网卡的流量,而是“某个网段”或者“非某个网段”的流量趋势图。

http://ipband.sourceforge.net/
试试这个呢。 能够直接符合你要求的估计比较难找, 多少得自己动手写点代码。

还有这个:
http://bandwidthd.sourceforge.net/

bandwidthd 和 ipband 这两个我都看过,测试发现,应该是上世纪的软件 ^-^.....
世界上画图我都可以使用 rrdtool 来实现,但是实时捕获某一网段的流量并存储,感觉如果没有其他软件的话,只能使用 tcpdump 来硬写了。。。。



我这个应该和你差不多,第一个是大陆流量,第二个是北美流量,可以试试看划分不同的出口,然后统计走向

恩,效果很棒啊。但是这边应该不能划分多个出口,只有一个网卡,除非在网络空间进行 TAP/TUN 引流,否则估计实现不了了。

vnstati

如果这台 linux 接的是交换机 gi1/0/1,那么配置一个端口镜像,可以把 gi1/0/1 所有的 input/output 流量定向到另一个端口,比如 gi1/0/2。
然后在 gi1/0/2 接一个网络分析软件,比如 panabit 的 BSD 免费版。软件自带协议分析,可以看到 linux 主机所有的 3、4 层协议。不过有个问题,panabit 的这个免费版会定期向公网某 ip 传送数据包,可能是抓取统计数据。有隐私要求的,可以在网管 ban 掉这个设备的流量。

panabit 整个软件也看过,需要在交换机上做操作,整个也不是系统管理员能控制的,估计不大行。。。

整个也是整个网卡的流量,我们这边使用的是 ganglia 来监控的,但是不能实现网段流量分析。

用虚拟接口绑定不同地址来区分,然后挂常规的监控软件?
em2:0
em2:1

好像是只绑定了一个 IP,估计就只能写程序或者脚本通过连接的目标主机来区分了

是的,虽然有多个虚拟网卡,但是只有一个内网 IP,所以估计只能通过 libcap2 来实时转包存储了。

https://github.com/ntop/ntopng
那这个应该可以的。

测试通过,之前也看到了该软件,但没有安装,今天部署了下,感觉很简单
满足了我本地网段和外网流量的要求,在“ Networks ” 部分,可以清晰的看到对应的分类和图标,感谢!!!

单网卡配置多 IP 不就可以解决了吗

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服