Nedia What's up!

ネディアのエンジニアによるIT技術やサービスの紹介・検証などをお届け!

YAMAHAルータの実機・検証 第16回 Luaスクリプト機能を利用しよう 1


今までヤマハルータを使って様々なネットワーク構築例を紹介しました。
今回はネットワーク構築ではなく、ルータの状態を定期的にメールで通知したり、動作を通知する設定を紹介します。

Luaスクリプト機能

ヤマハルータではLuaスクリプトを実行することができます。今回はヤマハで公開している様々なLuaスクリプトを参考に設定を行ってきます。
尚、Luaスクリプト機能を利用することで以下のようなことができるようになります。

  • ルータの動作状況(showコマンドの出力結果)を定期的にメールで通知
  • 特定のパソコンまたは複数のパソコンとの通信監視
  • ログの監視
  • ルータの状態(CPU使用率やメモリ使用率)などを定期的にメールで通知
  • ルータの異常な状態時(ハードウェアや回線の過負荷)にメールで通知

Luaスクリプトの実行までの手順

ここからはLuaスクリプトをルータで実行させるまでの手順を紹介します。

ルータの設定内容

まずは今回使用するルータの設定内容です。

今回の検証ではルータからパソコンへIPアドレスを割り当てるDHCPの設定が必要です。

Luaスクリプト ファイルの作成

まずは確認も簡単なLuaスクリプトで試したいと思います。
ヤマハのサイトで公開されているLuaスクリプトを使わせて頂きます。
このLuaスクリプトはLANネットワークに接続されたホストの利用状況をSYSLOGに履歴として出力して管理します。DHCPのログを監視してパソコンが接続されたLANポートの番号を出力します。
下記の内容をメモ帳などにコピーし「dhcp_log_watch.lua」のファイル名で保存します。

上記はヤマハのサイトで公開されているLuaスクリプトですが修正箇所はありません。

Luaスクリプトをルータへコピー

保存した「dhcp_log_watch.lua」のファイルをルータにコピーします。
今回はUSBメモリを使用してルータへファイルをコピーします。ヤマハのサイトではtftpを使った方法も紹介されています。

  1. USBメモリをパソコンに接続して「dhcp_log_watch.lua」のファイルをUSBメモリにコピーします。
  2. USBメモリをルータに接続します。
  3. ルータのコンソール画面を開きます。今回はtelnetで接続しました。
  4. 管理者権限でログイン後、下記コマンドでUSBメモリからルータへ「dhcp_log_watch.lua」ファイルをコピーします。

ファイルがコピーされたか下記コマンドで確認します。

下記がコマンドの結果です。
lua1

ルータに「dhcp_log_watch.lua」ファイルがコピーされています。

Luaスクリプトの実行

ルータにコピーした「dhcp_log_watch.lua」ファイルを実行してみましょう。
下記のコマンドでLuaスクリプトが実行できます。

Luaスクリプトの実行状況が下記コマンドで確認できます。

Luaスクリプトの実行前と実行後の上記コマンド結果です。
■実行前
lua2
■実行後
lua3Luaコマンド実行後は「dhcp_log_watch.lua」が動作しているのが確認できます。

動作確認

「dhcp_log_watch.lua」はDHCPのログを監視しLANネットワークに接続されたパソコンがルータのどのLANポートに接続されたかログに出力するLuaスクリプトです。
確認方法としてますDHCPでIPアドレスを取得するパソコンをルータのLAN1ポート8に接続します。
接続した時点でルータのログに出力されているのでコンソール画面から確認します。

上記コマンドでも確認できますがルータが起動した時点からのログが記録されているので、今回のLuaスクリプトで出力されたログを探すのは大変なので下記コマンドで絞り込みを行います。

絞り込みした結果が下記になります。
lua4LAN1ポート8に接続したパソコンがログにちゃんと出力されています。

まとめ

Luaスクリプト機能を利用することで上記以外にもルータのいろいろな情報や状況を得ることができます。これはセキュリティ面や通信状態を保守するうえで大変貴重な情報となります。
次回はルータの情報や状態をメールで通知するLuaスクリプトを紹介します。