Linux
Linux路由器 - 客戶端的吞吐速度
我有一台配置為路由器的電腦,帶有兩個 NIC,一個連接到 Internet,另一個連接到本地網路交換機。
我知道我可以通過創建一個讀取目錄中文件的腳本來獲得 NIC 的目前吞吐量
/sys/class/net/[dev]/statistics
。但是是否有可能獲得網路上每個客戶端的吞吐量,所以我可以看到每個客戶端使用了多少網際網路頻寬?
要獲得每個 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,他們使用這種方法跟踪了幾千個客戶的頻寬使用情況,然後我實施了 Netflow 會計,從 Cisco 路由器中獲取數據。