Nedia What's up!

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

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

前回の記事でLuaスクリプトのファイル作成・ルータへのコピー・実行までを紹介しました。
今回はTFTPを利用してルータにLuaスクリプトファイルをアップロードする方法とルータの状態を把握するためCPUやメモリの使用率などの状態をメールで通知するLuaスクリプトの紹介をします。

ルータの設定内容

まずは今回利用するRTX1200の設定内容です。

上記はインターネット接続する一般的な設定内容になります。

ルータの状態をメール通知する

ヤマハのサイトで公開されているLuaスクリプトを利用させて頂きます。
今回のLuaスクリプトは

  • CPU使用率
  • メモリ使用率
  • 筐体内温度
  • IPマスカレードで使用中のポート数
  • DHCPサーバー機能で割り当て中のIPアドレスの数と利用可能なIPアドレスの数

をメールで定期的に通知するスクリプトになります。
下記の内容をメモ帳にコピーして「rtx1200-info.lua」のファイル名で保存します。

修正が必要な箇所は下記になります。

36行目

上記では5分に1回メールで通知するようにしています。
設定値は秒で設定します。1時間ごとにメール通知する場合は

とします。

39行目

IP マスカレードの使用ポート数を通知させるための設定になりNATディスクリプタ番号を設定します。今回の設定ではRTX1200の設定内容42行目に記載されている

のNAT ディスクリプタ番号が「1」になっているので「1」を設定しました。

43行目から49行目

SubmissionポートやSMTP認証が必要な場合は上記設定が必須になります。

TFTPでLuaスクリプトをルータへアップロード

前回はUSBメモリを使ってLuaスクリプトをルータへコピーしましたが、今回はTFTPを利用してルータへファイルをアップロードしたいと思います。まずはWindowsでTFTPコマンドを利用できるようにする必要があります。

TFTPクライアントの利用設定

1.コントロールパネルから「プログラム」をクリックします。

tftp1

2.「Windowsの機能の有効化または無効化」をクリックします。

tftp2

3.「Telnetクライアント」と「TFTPクライアント」にチェックを付け「OK」をクリックします。

tftp3

これでWindowsでTFTPコマンドが利用できるようになります。

TFTPの接続許可

ルータにTFTP接続の許可設定を行います。

上記はすべてのホストからTFTPで接続できるのでアップロードが終ったら下記コマンドで接続できないようにしましょう。

TFTPコマンドでファイルをアップロード

Windowsの「コマンドプロンプト」を利用してルータにファイルをアップロードします。
Luaスクリプトファイル「rtx1200-info.lua」は「C:\lua」に保存しました。

下記コマンドでファイルをアップロードします。

実行結果は下記になります。

tftp4

ルータのコンソールからファイルがアップロードされているか下記コマンドで確認します。

tftp5

上記からルータへファイルがアップロードされているのが確認できました。

Luaスクリプトの実行

ルータへアップロードされたファイルをスケジュールで実行させます。
■ルータ起動時に実行

上記の設定はルータの起動時にLauスクリプトが実行されるのでルータの再起動が必要になります。ルータの再起動を回避する為に一時的に時間指定で実行させます。

■時間指定で実行

上記は17時にLuaスクリプトが実行されるので一度実行されたあとは削除します。
また、通知メールを一時的に止めたい場合は下記コマンドで強制終了させます。

■Lua スクリプトの強制終了

 

ルータからのメール

上記設定でルータから定期的にルータの状態が通知されるようになりました。下記がルータからのメール内容になります。

tftp6

CPUの使用率・メモリ使用率・筐体内温度などLuaスクリプトで作成した内容のメールがちゃんと届きました。

まとめ

今回はLuaスクリプトをTFTPでルータにアップロードする方法を紹介しました。前回のUSBでファイルをコピーする方法ではルータが手元にあれば良いのですが、拠点などに設置している場合では現地に行く必要があります。TFTPでアップロードする方法は通信が確立できていれば手元になくてもLuaスクリプトを設置することができます。次回は実践的なLuaスクリプトを紹介します。