pfSense / freeBSDを使用してネットワークトラフィック(月別、WAN別、方向別)を測定できますか?
次の手順がリストされています。https://doc.pfsense.org/index.php/How_can_I_monitor_bandwidth_usageしかし、どちらも私にはうまく機能しないようです。たとえば、ntopng
電流のみが表示され、BandwidthD
一度に1つのインターフェイスのみを監視できます。
残念ながら、各プロバイダにどのくらいのバイトを消費しているかはまだわかりません。
私のルーターコンピュータにpfsenseがインストールされています。 pfsenseはfreebsdに基づいています。
答え1
system/packages の下に「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(簡易ネットワーク管理プロトコル)ネットワークトラフィックを測定する一般的な方法です。 このページpfSenseでSNMPを使用するいくつかの側面を文書化しました。
bsnmpget
実際、この例ではFreeBSDのSNMP実装を使用していますが、ほとんどbsnmpd
の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
--