是否可以使用 pfSense/freeBSD 测量网络流量(每月、每个 WAN、每个方向)?
列出了以下程序https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usage但似乎对我来说都不能正常工作。例如,ntopng
仅显示电流,同时BandwidthD
只能监控一个接口。
遗憾的是,但我仍然不知道我在每个提供程序上花费了多少字节。
我的路由器计算机上安装了 pfsense。 pfsense 基于 freebsd。
答案1
在系统/软件包下安装“vnstat2”软件包。然后转到状态/Vnstat2。摘要选项卡将显示如下信息:
rx / tx / total / estimated
em1:
Jun '15 64.34 GiB / 10.39 GiB / 74.73 GiB / 98.00 GiB
yesterday 5.30 GiB / 373.42 MiB / 5.66 GiB
today 2.90 GiB / 197.29 MiB / 3.09 GiB / 3.52 GiB
您还可以使用“vnstat -i em1 -m”来获取特定接口的每月统计信息。
(vnstat也适用于Linux,我就是从那里了解到的)
答案2
SNMP(简单网络管理协议)是测量网络流量的一种典型方法。 这一页记录了将 SNMP 与 pfSense 结合使用的一些方面。
实际上,在本例中我使用的是bsnmpget
FreeBSD 的bsnmpd
SNMP 实现组件,但大多数 SNMP 套件都允许您执行以下操作:
$ # query the number of interfaces present:
$ bsnmpget ifNumber.0
ifNumber.0 = 6
$ for iface in $(jot $(bsnmpget -o quiet ifNumber.0))
do
bsnmpget ifName[$iface]
bsnmpget ifInOctets[$iface]
bsnmpget ifOutOctets[$iface]
printf -- '--\n'
done
ifName[1] = em0
ifInOctets[1] = 1430450040
ifOutOctets[1] = 2237124338
--
ifName[2] = lo0
ifInOctets[2] = 46500610
ifOutOctets[2] = 46500610
--
ifName[3] = public
ifInOctets[3] = 1407864504
ifOutOctets[3] = 2237124186
--
ifName[4] = vlan1
ifInOctets[4] = 6933941
ifOutOctets[4] = 0
--
ifName[5] = vlan3
ifInOctets[5] = 5776832
ifOutOctets[5] = 152
--
ifName[6] = vm-public
ifInOctets[6] = 714355313
ifOutOctets[6] = 0
--