pfSense/freeBSDを使用してネットワークトラフィックを測定する方法は?

pfSense/freeBSDを使用してネットワークトラフィックを測定する方法は?

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
--

関連情報