并非所有 ntop 用户都知道 ntopng 本机实现了多用户支持。也就是说,您可以使用ntopng收集和分析来自多个用户的流量,并向每个用户显示自己的流量,隐藏其余所有流量。
您需要做的就是非常简单:
1. 启动 ntopng 并将其配置为接收受监控的流量。您可以通过流或数据包来完成。
2. 创建 ntopng 用户并为每个用户指定流量限制。
流和数据包收集
ntopng 允许您指定数据源。您可以使用 -i 选项执行此操作。例如,您可以使用“-i eth0”捕获和分析 eth0 接口上的流量,或使用“-i zmq://192.168.1.200:1234”,首先连接到端口 1234 ,然后侦听主机 192.168.1.200 上运行的 nProbe。如果需要在多个接口上收集流或捕获数据包,则可以定义多个 -i,或者(仅适用于流)可以在收集器模式下运行 ntopng。下面您可以看到在远程主机上运行的两个 nProbe 的描述和示例,每个 nProbes 捕获本地 eth0 接口上的流量,所有流量都发送到中央 ntopng 实例。

如果要保留来自每个远程 nProbe 的拆分流量,此设置非常有用。例如,这是每个远程 nProbe 监控两个客户流量的典型情况,您希望通过为每个客户创建一个虚拟收集器接口来避免在 ntopng 端混合此流量。请注意,在此设置中,ntopng 通过 ZMQ(在 TCP 之上)连接到远程 nProbe(即每个 nProbe 都是接受由 ntopng 发起的连接)的服务器)。
相反,如果您的客户有多个远程站点,每个站点由一个 nProbe 实例监控,则可以将所有流发送到同一个ntopng 的虚拟收集器接口

配置与前一种情况略有不同(可能更简单),因为在这种情况下,所有探测器都以相同的方式配置,并且发送流到同一个 ntopng。
当然,您可以向ntopng添加多个接口,具体取决于您的拓扑情况。请记住几个细节:
您可以使用视图界面合并多个接口上的流量。例如,如果您添加“-i view:all”,ntopng 会创建另一个接口,合并来自现有接口的所有流量。请注意,如果您不想合并所有流量,“-i view”想要合并的接口名称。示例“ntopng -i eth0 -i eth1 -i eth2 -i view:eth0,eth1”将创建一个视图接口,仅包含来自 eth0 和 eth1 的流量,而不包含 eth2。
在 ntopng 中,每个接口都在单独的线程上运行。因此,除了随着接口数量的增加而略微增加线程数之外,ntopng 在将流量发送到单个接口方面的性能会更好,因为在这种情况下,您可以更好地利用多核架构。
用户配置
现在基础结构已设置,我们需要配置用户权限。也就是说,确保每个用户只能看到他/她重要的流量,而不是所有受监控的流量。假设我们想创建本地用户,可以看到部分受监控流量,限制其对流量的可见性,隐藏所有其他流量ntopng监视器。

您可以通过创建用户(左侧边栏设置 -> 用户)来实现此目的,如下所示:
角色:通常这些用户是非特权用户,因为特权用户可以更改设置,从而克服所有限制。
如果您使用接口划分入口流量,则可以将此用户绑定到接口,以便他只能看到此接口,而看不到其他接口。相反,如果您需要根据此客户拥有的 IP 地址进行限制,则可以在允许的网络框中设置它们。
您可以通过设置表末尾的切换来决定这些用户是否可以查看警报和历史流(如果已启用 ClickHouse)。
这样做,当用户连接到ntopng Web界面时,仅显示重要的信息,其余所有信息都被隐藏,包括历史流和警报。请注意,这样操作的话会有些信息是不一致的(例如总吞吐量),因为单个用户只能看到接口计数器,也就是说只能看到总的流/主机/警报的子集。