【ラズベリーパイ4】ネットワークのトラフィック監視システムを構築してみました+α

ラズベリーパイ4とntopngで自宅のネットワークのトラフィック監視システムを作る方法をまとめてみました。

スポンサーリンク

【はじめに】トラフィック監視システムの構成

GW中にふと、自宅の通信機器がンターネット側とどのように通信しているかモニタしてみたいしたいと思いました。
そこで、以下のような構成で、トラフィック監視システムを構築してみました。


破線は無線LAN、実線は有線LAN、DIPは動的IP(DHCP)、ethは有線LANポート、wlanは無線LANボードになります。

スイッチングハブは、Port1〜3をVLAN1、Port4〜8をVLAN2に設定することで、ネットワークとしては「スイッチングハブ1(Port1-3)」→「ルーター」→「スイッチングハブ2(Port4-6)」という風にスイッチングハブが仮想的に2つに分割されます(以下のような感じになります)ので、わざわざルーターのWAN側とLAN側にネットワークハブを1つずつ用意せずに済みます。

WAN側に自宅のすべての端末がインターネットとやり取りする通信が集まるので、そこに仮想のスイッチングハブ(Port1〜3)を設置し、Port1をインターネットとの入り口(ブロードバンドルータなど)と接続します。そして、Port1に流れるパケットを、ポートミラーリング機能によりPort3にミラーリング転送してやります。後は、Port3に繋いだラズベリーパイとトラフィック監視ソフトウェアntopngで、自宅のすべての端末がインターネットとやり取りする通信を解析できます。転送元にPort4も追加すれば、Nasne、Windowsパソコンそれぞれのトラフィックがわかります。

SNMPやZabbixなどのOSSのトラフィック監視ツールも高機能かつ有名ですが、SNMPに対応しているスイッチやルーターが必要だったので、今回はその手間が省けるntopと呼ばれるトラフィック監視ソフトウェアをラズベリーパイにインストールしました。

機器・ソフト名 概要
Switching Hub(スイッチングハブ) VLAN機能有、ポートミラーリング機能有り、ギガビット8ポートで安価な「ネットギア GS308E(約3000円)」を使用。Port1〜3をVLAN1、Port4〜8をVLAN2に設定。ポートミラーリング機能でPort1(インターネット側との出入り口)をPort3(ラズベリーパイ4)にミラーリング設定。
Router(ルーター) 手のひらサイズで持ち運べVPN機能をもった高機能で安価な「GL.iNet GL-MT1300(約8000円)」を使用。
Raspberry Pi4 Raspberry Pi4(メモリ4GB)を約7000円で購入し、Raspberry Pi OSを入れて、そこへntopをインストール。
ntopng ネットワークトラフィックをリアルタイムで監視できるソフト。無料のコミュニティ版と有料版があり前者をラズベリーパイにインストールして使います。FirefoxやIEやChromeなどのウェブブラウザで閲覧できます。
その他 その他の機器はトラフィック監視と直接関係ないですが、記事の一番下でまとめて紹介しています。

上記のネットワーク構成(WindowsPC、MacBook、iPad、Xperia、IPカメラ以外)機器は、100均で購入したメッシュパネルに結束バンドで括り付けることでコンパクトに収まりました。机のサイドにS字フックでメッシュパネルを掛けています。
部屋を暗くするとLEDがチカチカしていてキレイです。

スポンサーリンク

【手順1】スイッチングハブの設定

● Port1〜3をVLAN1、Port4〜8をVLAN2に設定します。

● ポートミラーリング機能でPort1(インターネット側との出入り口)をPort3(ラズベリーパイ4)にミラーリング設定します。

※ アンマネージメントスイッチ「GS308E」でのやり方は以下記事で紹介しています。

【GS308E】ログイン、VLAN、ポートミラーリングを設定する方法
ネットギアのアンマネージメントスイッチ(GS308E)のログイン、VLAN、ポートミラーリングの設定方法をまとめました。
スポンサーリンク

【手順2】ラズベリーパイ側の設定

●ラズベリーパイのIPアドレスを固定化(私の例だと192.168.1.3/24)します(やり方は以下記事を参照)。

【ラズパイ4】IPアドレスを固定化する方法
ラズベリーパイ4でIPアドレスを固定化する方法をまとめました。

●ラズベリーパイのターミナルで以下のコマンドを実行し、公式パッケージをラズベリーパイにインストールします。

wget https://packages.ntop.org/RaspberryPI/apt-ntop_1.0.190416-469_all.deb
sudo dpkg -i apt-ntop_1.0.190416-469_all.deb
sudo apt-get update

sudo apt-get install ntopng nprobe n2n

● ラズベリーパイのターミナルで以下のコマンドを実行し、ntopngを起動します。

sudo survice ntopng start

●ブラウザでアドレスバーに<ラズベリーパイのIPアドレス:3000>を入力して開きます。

$ chromium-browser 192.168.1.3:3000

● 初回起動時はパスワード設定を要求されるので、パスワードを設定してログインするとモニター画面が表示されます。

● ネットワーク内で通信している機器と通信先の情報(IPアドレス、通信プロトコル、通信量、通信速度など)が表示されます。

● [Flows]タブから通信の流れ(どの機器がどこへ通信しているか)をモニタできます。

● [Hosts]タブから同じネットワーク内にある機器の情報(送受信量の比率、通信量など)をモニタできます。

● アプリケーション別の情報(通信量)もモニタできます。

● これらの情報から、どういった利用者、サービス、機器がネットワーク回線に大きな影響を及ぼしているかなどを監視できます。また、ラズベリーパイと同じネットワーク内にあるPCからもFirefoxなどのブラウザで「192.168.1.3:3000」にアクセスして閲覧できます。今回のネットワーク構成だと、WindowsPCやMacBookからも利用できます。

● なお、ラズベリーパイのターミナルで以下のコマンドを実行すれば、ntopngを停止できます。

sudo survice ntopng stop
スポンサーリンク

【補足】その他の機器について

トラフィック監視と直接関係ないですが、今回紹介した私のネットワーク構成に出てくる他の機器についても紹介します。どれも便利なのでおすすめです。

機器・ソフト名 概要
Real VNC ラズベリーパイと外出先のスマホにReal VNCをインストールすることで、外出先のスマホから遠隔で自宅のラズベリーパイを操作しています。
WakeOnLan ラズベリーパイに「WakeOnLan」という無料アプリをインストールし、Windowsパソコンの有線LANポートのMACアドレスを登録することで、ラズベリーパイ側からシャットダウン状態のWindowsパソコンを遠隔起動できます。私は、外出先のスマホからReal VNCを使ってラズベリーパイを遠隔操作し、さらにそこから「WakeOnLan」でWindowsパソコンを遠隔起動しています。
SplashTop 有料のリモートデスクトップアプリ(セール中に購入すれば永久ライセンスを数千円で購入できます)。Chrome DesktopやReal VNCに比べて画面の遅延が少なく、マウスやキーボード操作も実機に近い(右クリックが使えたり)など快適なので、自宅のWindowsパソコンやMacBook AirをiPadで遠隔操作したり、MacBook Airから自宅のWindowsパソコンを遠隔操作する際に使用しています。このアプリがなければ、Surfaceを購入していました。
IPカメラ(VStarcam C24) トラフィック監視とは直接関係ないですが、外出先から自宅の様子を確認するために「VStarcam C24(約3000円)」を購入しました。他の安価なものは操作に専用アプリが必要でしたが、この機種はブラウザからIPアドレスを指定すれば操作できるタイプでRMTP対応だったのが購入の決め手です。
Nasne 機器本体(約3万円)と別売りのアプリ(数百円)を購入することで、自宅や外出先のパソコン、スマホからテレビをリアルタイム視聴したり、録画予約&録画したり、ビデオを再生したり、NASとして利用できる優れものです。人気なため2021年4月現在では、即完売と販売再開が繰り返されています。
IPカメラ(VStarcam C24) 外出先から自宅の様子を確認するために「VStarcam C24(約3000円)」を購入しました。他の安価なものは操作に専用アプリが必要でしたが、この機種はブラウザからIPアドレスを指定すれば操作でき、SDカードに録画できるのが良いです。画質も良く、赤外線カメラ機能で消灯していても部屋の様子を確認できます。RMTP対応なので、ラズベリーパイ等で映像を取得することもできます。
iPad Air 「Apple Pencilを使ったお絵かき」、「Kindleで読書」、「外出先でWindowsマシンやMacBook Airを操作」「YoutubeやNasneで動画・テレビ視聴」するのに使っています。BlurToothキーボードやマウスを接続して、SplashTopでリモート接続すればノートPCに近い感覚で使えます。ノートPCを持ち運ばずにすむため荷物が軽くなり快適です。
キーボード(レノボ ThinkKey bord2) トグルスイッチでBlueToothと無線ドングル通信と切り替えできます。そのため、トグルスイッチでiPad Air(BlueTooth)とWindowsパソコン(無線ドングル)への接続を切り替えできます。打鍵感としては、以前持っていたThinkPad T14 gen1に近い良い感じでした。赤ポチがあるのでマウスがなくてもポインタ操作ができます。MacBook Airも使っているため、それと配列がほぼ同じなUS配列を使っています。
トラックボールマウス(ロジクール M575S) トラックボール式だと、外出先でもマウスを動かさずにポインタを操作できるため便利です。トグルスイッチでBlueToothと無線ドングル通信と切り替えできます。そのため、トグルスイッチでiPad Air(BlueTooth)とWindowsパソコン(無線ドングル)への接続を切り替えできます。
電源タップ(TAP-SP2110-3) メッデュパネルにネットワーク機器や電源を固定して収めたかったので、10口で2方向に5口ずつ付いていて取り回ししやすいそうなサンワサプライのTAP-SP2110-3を購入しました。

自宅のWindowsパソコンをシャットダウン状態にしていても、以下の手順で外出先から起動して操作ができます。

① ラズベリーパイ側はReal VNCサーバーを起動したまま外出する
② 外出先のスマホ(Real VNCアプリ)からラズベリーパイをリモートデスクトップ操作
③ ラズベリーパイでWakeOnLanを実行し、Windowsパソコンを起動(WindowsパソコンのスタートアップにSplashTopを登録しておく)
④ 外出先のタブレット(iPad Air)のSplashTopアプリでWindowsパソコンをリモート操作

■VStarcam C24の赤外線カメラ機能で消灯している部屋を観察した様子

ラズベリーパイの使い方と応用例
ラズベリーパイ4・5の使い方や応用例について入門者向けにまとめてみました。
Raspberry Pi
スポンサーリンク
西住工房

コメント