Linux 路由器 - 客户端的吞吐量速度

Linux 路由器 - 客户端的吞吐量速度

我有一台配置为路由器的计算机,有两个网卡,一个连接到互联网,另一个连接到本地网络交换机。

我知道我可以通过创建一个读取以下文件的脚本来获取 NIC 的当前吞吐量:/sys/class/net/[dev]/statistics目录。

但是是否有可能获得网络上每个客户端的吞吐量,以便我可以看到每个客户端使用了多少互联网带宽?

答案1

要了解每个 IP 地址的使用情况,您可以为 FORWARD 链中的每个 IP 地址创建 iptable 规则并跟踪 iptables 统计计数器。

取自使用 iptables 和 rrdtool 进行网络统计

iptables -N stats  
iptables -A stats -s 192.168.0.3 -o $WAN -j RETURN
iptables -A stats -d 192.168.0.3 -i $WAN -j RETURN  
iptables -A stats-s 192.168.0.4 -o $WAN -j RETURN 
iptables -A stats -d 192.168.0.4 -i $WAN -j RETURN 
iptables -A stats -o $WAN -j RETURN 
iptables -A stats -i $WAN -j RETURN 
iptables -A FORWARD -j stats

事实上,我过去经营过一家 ISP,他们使用这种方法通过 iptables 跟踪了几千个客户的带宽使用情况,然后我实施了从 Cisco 路由器获取数据的 Netflow 会计。

相关内容