ntopngをセットアップして自宅のネットワークトラフィックを監視する (proxmoxのVM)
初めに
https://qiita.com/stLuciano/items/49652543192f2402e7c8
でntopngという面白そうなものを見つけたので,proxmoxでのポートミラーリングの設定を頑張った備忘録です.
構成
RTX1200でPort Mirroringの設定
コンソールにてadministratorで実行.ROMに書き込むのを忘れずに
1 | lan port-mirroring lan1 3 in 1 2 4 5 6 7 8 out 1 2 4 5 6 7 8 |
proxmoxのネットワークインターフェイスの設定
proxmoxのホストOSにて設定を行う.
1 | sudo apt install openvswitch-switch openvswitch-common |
openvswitchをインストールしたら次にPort MirroringしているLANのNICに対して OVS Bridge
を作成します.
スクリーンショットではvmbr1
です.
その次に,ntopngを動作させるVMにNetwork Device
を追加します.
この時,Firewall
のチェックを外すのを忘れないように.
ここまで作成したら一度そのノードを再起動してください.
再起動後,proxmoxのホストOSにて
1 | ovs-vsctl -- --id=@p get port tap101i1 -- --id=@m create mirror name=span1 select-all=true output-port=@p -- set bridge vmbr1 mirrors=@m |
を実行してください.
この時tap101i1
のところをtap{VM id}i{net number}
に置き換えてください.
今回はVMの番号が101
でネットワークデバイスがnet1
だったためtap101i1
となっています.
つまり,VMの番号が202
でPortmirroring
しているLANとbridgeしているネットワークデバイスの番号がnet3
の場合tap202i3
のようになります.
https://forum.proxmox.com/threads/port-mirroring-with-open-vswitch-no-row-tap-in-port-table.84228/
実際にあるかどうかはホストOSにてip a
を実行し,tap
が存在するかを確認してください.
実行し,よくわからないハッシュ値が出てきたら成功です.
ovs-vsctl: no row "tap101i1" in table Port
が出てきたら失敗です.
おおよそtap101i1
がOVS bridgeで作成されていないため見つからないというエラーです.
ここまでの手順を確認してください.
ntopngのインストール
https://packages.ntop.org/
から自分のOSに合うパッケージをダウンロードしてください.
今回はUbuntu用を選択します.
するとこのような画面になりますので,stable builds
のapt-stable.ntop.org
を選択してください.
nightly buildsをインストールしたところGUIがところどころ崩れていたりあるボタンを押すとクラッシュしたりで散々でした.
洗濯するとUbuntuのそれぞれのバージョン用のインストール用のコマンドが表示されるので実行していってください.
下にUbuntu22.04 LTS用のコマンドを記載しておきます.
1 | sudo apt-get install software-properties-common wget |
4行目を追加しています.
https://askubuntu.com/questions/954862/couldnt-be-accessed-by-user-apt-pkgacquirerun-13-permission-denied
インストールが完了したら,http://ipアドレス:3000
にアクセスし
- user名 : admin
- password : admin
でログインするとパスワードの変更を求められます.
ついでに言語もJapaneseを選択しておいてください.
正常にログインができたらインターフェイスの設定に移ります.
左上のインターフェイスの矢印からPortMirroringをしているNICに設定をし
,PortMirroringにしている関係上,送受信の区別がつかないため
左のツールバーのインターフェイス > 詳細
から名前の横の設定マークを選択
ミラーされたトラフィック
をオンにしてください.
すると,送受信の区別がされ,正常に動作し,自宅のルータを通るすべてのネットワークトラフィックを監視することができるようになりました.
Prime VideoやDiscordなど,特定のサービスのトラフィックはアプリケーションから確認することができるのは面白いです.