由于我对 tomato 路由器固件情有独钟,非常喜欢它的流量统计功能,非常全面和漂亮。但是由于它对路由器的支持范围很有限,我的新路由器已经不在其支持之列,而旧的路由器性能又跟不上,所以我不得不离开。然后在网上找了很久,都没有找到合适的替代品。直到近来发现了 bandwidthd,才重新找回了 tomato 的影子:可以详细记录每一个内网 IP 的流量信息。现介绍给大家!
bandwidthd有3个版本,bandwidthd、bandwidthd-sqlite、bandwidthd-pgsql。bandwidthd 安装使用最简单,很容易上手,建议你用这个,基本功能也够用了。后面两个是支持数据库的版本,较为复杂,当确实有需要时再考虑吧。我这里就介绍一下 bandwidthd-pgsql、bandwidthd 吧。而 bandwidthd-sqlite 是将数据库保存在本设备之上,一般的机器也不满足那个条件(对内存和闪存要求高),所以我也没有尝试了。bandwidthd 可以将数据(不是数据库,是以逗号间隔的数据)保存在本设备的根下(或外置USB设备上),但我觉得比较伤U盘或路由器闪存(每 2.5 分钟左右保存一次数据),所以不建议使用。因此,用 bandwidthd,默认的情况下,是不保存数据的,一切存在内存里,当我们重启设备,或者断电以后,以前的记录就都丢失了,新的记录从零开始。一般来说,这样其实也没有什么;相反,它的流量网页全部静态化,打开速度很快,而使用数据库时的速度却很慢。
好了,现在我们先介绍一下 openwrt 下 bandwidthd-pgsql(bandwidthd)的安装,以及不带数据库的使用。
一、openwrt 下 bandwidthd-pgsql 的安装及使用
以 openwrt-19.07.8 为例介绍其使用方法。先看看其页面(总数据表、总流量图、单个IP的流量图):
1. 软件的安装
进入“系统--软件包”,点击“更新列表”,然后在“筛选器”里输入“band”,选择“bandwidthd-pgsql”(或 bandwidthd),安装即可
2. 修改配置
以 ssh 的方式进入路由器(我是用了winscp和putty),修改 /etc/config/bandwidthd(没有介绍的暂时不管)
config bandwidthd option dev br-lan option subnets "192.168.1.0/24" option skip_intervals 0 option graph_cutoff 1024 option promiscuous true option output_cdf false option recover_cdf false option filter ip option graph true option meta_refresh 150
进一步解释(其余有待进一步探索):
用 ifconfig 命令查看自己的主网卡,修改上面的第二、三行,其余可以不修改。
option dev:如果填写 any 表示监控所有。针对使用 wifi 的连接,流量是双倍
option subnets:监控网段,按实填写
option graph_cutoff 1024:达到1M流量才生成页面
option promiscuous true:网卡工作模式采用混杂模式
output_cdf: 设置为 true,表示将数据以逗号间隔的方式保存在路由器的根下
recover_cdf: 设置为 true,表示启动时读取上面的保存值,成套使用
option meta_refresh 150:每隔150秒自动刷新你查看流量的网页页面,我设置的0,表示不刷新
修改完成以后,启动它
/etc/init.d/bandwidthd start
等 2.5 分钟,在浏览器的地址栏输入 “路由器的ip地址/bandwidthd” 就可以看到流量了(就是上面的样子)。
到这里,一般看看每一个IP的流量,真的足够了(像我的机器要是不折腾,一年停电也就 2-3 次以内,足够我们看了;而且半年以前的流量,也许主机与IP都不对应了,真的有价值吗?值得怀疑)。不用数据库保存几年数据的就到此为止吧。
最新评论
By Reinigungsfirma
By Alle Taxidienst Ergebnisse teilen
By Aktuelle Taxi als Favorit speichern
By Punti VIP di GratoWin ti premia con cashback settimanale.
By RTP (Retorno para o jogador) no Fortune Rabbit: 96
By Taxiunternehmen speichern