LoginSignup
10
12

More than 5 years have passed since last update.

YAMAHA ルータの config を取得・設定する

Posted at

YAMAHA のルータは tftp を使って config の取得や設定をすることができますが、config を管理するにあたっていくつか都合が悪いところがあり、簡単なシェルスクリプトを使って不要な情報を削除して git で管理できるようにしました。

  • curl を使って tftp を実行しています。
  • 抜き出した config
    • コメント行を削除していますが、最初の2行だけモデルとファームのリビジョンが乗っているので、これは保存するようにしています。
    • 改行コードは UNIX 形式に統一
  • 多数のルータがあるときは一括で config を抜き取れるようにしています。
  • パスワードの暗号化はしていません。
  • 保存するときは、clear configuration を実行した後に config を流し込んで save するようにしています。
  • 実機と config の diff をとれるようにしています。

使い方

config 取得

% ./rtx-config -H <hostname> -p <admin password>

標準出力にルータの config が出力されますので、適時リダイレクトして保存してください。

config 取得(一括)

% cat routerfile
192.168.1.254,admin
192.168.1.253,admin
192.168.1.252,admin
% ./rtx-config -f routerfile -o config

routerfile には、hostname,adminpassword で1行となる形でルータを列挙しておきます。
上記のコマンドを実行すると config フォルダの中に、ファイル名が hostname で config が出力されます。

config 差分

% ./rtx-config -d -H <hostname> -p <admin password> -f 192.168.1.254

ファイル 192.168.1.254 と、hostname の config の差分を出力します。
出力は diff -u で得られた内容を標準出力へ出力します。

config 保存

  • ちょっと危険 *
% ./rtx-config -s -H <hostname> -p <admin password> -f 192.168.1.254

ファイル 192.168.1.254 を hostnmae に反映させます。
処理は

  1. clear configuration を実行
  2. config ファイルを流し込み
  3. save

という形を取っています。
tftp で流し込む為、config の正当性はチェックされません。
また、反映されていないものもある可能性があるので、保存後は diff を取って反映状況を確認する必要があります。

バグ報告など

Github のほうへどうぞ。または yuuitiro@vcnet.toyama.toyama.jp まで。

10
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
12