はじめに
OpenWRT ベースの無線LANルーターでは、LuCI アプリケーションを追加して機能拡張することができます。今回は、ネットワーク通信量の監視に役立つアプリケーションを追加します。前回の記事で初期設定した無線LANルーター GL-MT300N-V2 を引き続き使用します。
統計グラフ
インストールと表示されるグラフ
前回、「高級機能」画面を日本語化した時のように、上の横方向のバーのメニューから「システム」>「ソフトウェア」を選びます。次に「インストール可能なパッケージ」タブに移動し、LuCI を日本語化するためのパッケージを探します。フィルタ欄に luci*ja と入力して一覧表示を待ちます。
下記の luci-i18n-statistics-ja を探してインストールボタンを押します。
下記がインストールされます。
libltdl (2.4.6-1)
collectd (5.8.0-5)
librrd1 (1.0.50-2)
rrdtool1 (1.0.50-2)
collectd-mod-rrdtool (5.8.0-5)
collectd-mod-iwinfo (5.8.0-5)
collectd-mod-cpu (5.8.0-5)
collectd-mod-memory (5.8.0-5)
collectd-mod-interface (5.8.0-5)
collectd-mod-load (5.8.0-5)
collectd-mod-network (5.8.0-5)
luci-app-statistics (git-18.196.56128-9112198-1)
luci-i18n-statistics-ja (git-18.196.56128-9112198-1)
上の横方向のバーのメニューから一度何かのメニューを選ぶと、「統計」メニューが追加で表示されるようになります。そこで「統計」>「グラフ」を選びます。下の画像の例では、「インターフェース」タブを選択して、有線 LAN 回線のバイト数およびパケット数のグラフを表示しています1。
表示期間をカスタマイズ
(5月5日追記) デフォルトでは、表示期間の選択肢が、1hour, 1day, 1week, 1month, 1year (1時間、1日、1週間、1か月、1年)となっています。この選択肢を変えることができます。
「出力プラグイン」タブの RRFTool タブで「保存する期間の範囲」を書き換えます。上の画像の例では、1時間、3時間、8時間の3種類の選択肢にしてみました。2
帯域幅モニター
インストールと表示されるグラフ
これも便利な機能です。luci-i18n-nlbwmon-ja を選んでインストールボタンを押します。
下記がインストールされます。
nlbwmon (2017-12-05-75accd64-1)
luci-app-nlbwmon (git-18.196.56128-9112198-1)
luci-i18n-nlbwmon-ja (git-18.196.56128-9112198-1)
上の横方向のバーのメニューから「帯域幅システム」>「ソフトウェア」を選びます。下記のような円グラフが表示されます。http、https などのプロトコルごとの通信量が確認できたり、「トラフィック内訳」タブでPCやスマートフォン1台ごとのネットワーク使用量が確認できたりします。
プロトコル マッピング
(4月20日追記)ちなみに、プロトコル マッピングを自分で追加することもできます。各行の1つ目の値はプロトコル番号、2つ目の値はポート番号です。
例えば、Stream Control Transmission Protocol (プロトコル番号132番)、Lightweight User Datagram Protocol (プロトコル番号136番)、Real Time Streaming Protocol(ポート番号554番 TCP/UDPプロトコル両方あり、なのでプロトコル番号の6番と17番の両方を使用)、QuickTime Streaming Server(ポート番号1220番 TCPプロトコルなのでプロトコル番号6番を使用) を監視したい場合、下記のように追加できます。
132 0 SCTP
136 0 UDPLite
6 554 RTSP
17 554 RTSP
6 1220 QuickTime
Zoom 通信の監視
(4月24日追記) 最近リモート会議で使用される機会の多い、Zoom の通信量を監視するには、下記を追加すると良いでしょう3。ただし、Zoom Phone の20000番以降は省きます。
17 3478 NAT-traversal
17 3479 Zoom
6 5090 Zoom-Phone
17 5090 Zoom-Phone
6 5091 Zoom-Phone
6 8801 Zoom
6 8802 Zoom
17 8801 Zoom
17 8802 Zoom
17 8803 Zoom
17 8804 Zoom
17 8805 Zoom
17 8806 Zoom
17 8807 Zoom
17 8808 Zoom
17 8809 Zoom
17 8810 Zoom
Teams 通信の監視
(7月9日追記) 相手によって Microsoft Teams, Cisco Webex を使い分ける必要が生じたので、使用するポート番号を調べました。プロトコル番号17 (UDP) の3478番と3479番は、Zoom と共通のポートを使用するんですね。なので 3479番の表記は Zoom_or_Teams 4 としました。
6 587 Teams
17 3478 NAT-Traversal
17 3479 Zoom_or_Teams
17 3480 Teams
17 3481 Teams
17 9000 Webex
6 5004 Webex
HTTP, NTP および HTTPS の UDP 通信も監視する
(5月5日追記) ちなみに実際のネットワーク通信を見ていると、HTTP, NTP および HTTPS の UDP のデータが取れていませんでした。足してあげると良いでしょう。
17 80 HTTP-over-UDP
17 123 NTP
17 443 HTTPS-over-UDP
GL-MT300N-V2 を通過する VPN 通信の監視
(7月9日追記) オフィスと自宅の PC との間で VPN 接続していて、GL-MT300N-V2 は通過しているだけの場合の監視です。5 厳密に監視したい場合は、VPN 提供業者もしくは VPN ソフトウェアごとの定義を増やす必要があるかと思います。
6 1723 PPTP
17 1723 PPTP
17 500 ISAKMP
17 4500 IPSec-NAT-Traversal
その他
(11月28日追記) 以上のほかに netstat コマンドで見つけたポート番号です。クライアントは Windows 10 前提です。5228 は、ブラウザの Google Chrome が使っているようです。それ以外のポート番号を見かける機会は低いかもしれません。(2021/2/1追記) LDAP は、Samba サーバー機能を使用した時に見かけました。
6 5228 Google
17 5228 Google
6 5357 WSDAPI
17 5357 WSDAPI
6 5358 WSDAPI
17 5358 WSDAPI
6 88 Kerberos
17 88 Kerberos
6 135 EPMAP
17 135 EPMAP
17 139 NetBIOS
6 389 LDAP
17 389 LDAP
オフィスで使用するとき
(4月20日追記)オフィスで使用するときは、下記のプロトコルも監視したくなるかもしれません。(2021/2/11追記)それぞれ、AFP は Apple Filing Protocol、IPP は Internet Printing Protocol、WINS は Windows Internet Name Service、WSUS は Windows Server Update Services の略です。Domino は、Notes/Domino で使用しているらしいポート番号です。
6 548 AFP
6 631 IPP
17 631 IPP
6 1512 WINS
17 1512 WINS
6 8530 WSUS
6 8531 WSUS
6 1352 Domino
VnStat
luci-i18n-vnstat-ja のインストールボタンを押すと、下記がインストールされます。
libjpeg (9a-1)
libpng (1.6.34-1)
libgd (2.2.5-1)
vnstat (1.18-1)
vnstati (1.18-1)
luci-app-vnstat (git-18.196.56128-9112198-1)
luci-i18n-vnstat-ja (git-18.196.56128-9112198-1)
上の横方向のバーのメニューから「ステータス」>「VnStat トラフィックモニタ」を選びます。下記のような円グラフが表示されます。
この VnStat は、統計グラフと帯域幅モニターで代替できると考え、アンインストールしました。
アンインストールするときは、上の横方向のバーのメニューから「システム」>「ソフトウェア」を選び、「インストール済みパッケージ」で下記の順に2回に分けてアンインストールします。
1回目: vnstat
2回目: vnstati
-
デフォルトでは30秒間隔でのモニタリングです。例示したグラフは、120秒間隔に変更した後のグラフです。 ↩
-
hour や day を複数形に変更する必要はありません。なお、その後、昼の休憩中に勤務開始以降のグラフを見たい、終業後に勤務開始以降のグラフを見たい、というニーズに一番都合のよさそうな 1hour, 4hour, 10hour の3種類の選択肢にしています。 ↩
-
ネットワークファイアウォール設定についての Zoom のドキュメントを参考にしました。 ↩
-
Zoom or Teams と定義すると、Microsoft Teams を使用した通信でも「or」以降が切り捨てられて Zoom と判断されてしまいます。そのためスペースを使用せずにアンダーラインにしています。 ↩
-
GL-MT300N-V2 の OpenVPN 機能を使用していないので誰得なのだろう。 ↩