网关服务器上的networkingstream量统计

我有一个由用户自主运行的机器子网。 我控制作为子网和互联网之间网关的服务器。 我的服务器正在运行Ubuntu。

我正在寻找一种方法来:

  • logging每个子网IP的传入和传出networkingstream量的数量(只需要大小,不关心在哪里或在哪里)。
  • 随后查询特定时间段内特定IP地址上发生的networking通信量。
  • 奖励:一旦达到特定的(可configuration的)音量,允许我为特定IP地址设置stream量限制。

基本上,让我来计算和收取用户的networkingstream量。

基本上你需要三件事:一个探针,一个数据采集器和一个可视化器/整形器/网页界面。 市场上有许多免费探测器: ipcad和ndsad可能是最受欢迎的。 两者都可以导出NetFlowlogging。 免费的数据收集器是pmacct ,它可以收集NetFlow和sFlow以及正确的stream量信息到RDBMS。 它不需要在Linux上进行探测,因为它可以使用libpcap来测量stream量。 一个好的可视化器/整形器更难find。 我曾经使用NeTAMS。 这是3.XX家族是免费的,但它几乎完全缺乏英文文档。 有一种叫做Captrap的东西,但我从来没有尝试过。

曾经听说过ntop? 这可能是一个很好的统计数据解决scheme,但似乎你可能想要更多…

如果你想要限制某些东西或“形状stream量”(我认为你的意思是更多的QoS)比我用Squid代理服务器。 它不能给你实时的统计信息,但你可以正确地使用每晚访问IP和站点的脚本,而不是定制你的squid.conf文件来为特定的主机和协议提供服务质量。

采用这两种方法也是一个合理的解决scheme。

MRTG