[ YAMAHA RTX ] RTX1200のconfigファイルをGitで簡単にバージョン管理する

[ YAMAHA RTX ] RTX1200のconfigファイルをGitで簡単にバージョン管理する

はじめに

 
YAMAHA製のルータ RTX1200 に関するTips情報です。
RTX1200 は主に中小規模企業・拠点向けのビジネス用ルータです。
 
ネットワーク機器 – ヤマハ株式会社
 
以前、[ YAMAHA RTX ] RTX1200に設定しているコンフィグをUSBバックアップする という記事で、
USBに設定ファイルをバックアップする方法をご紹介しましたが、変更履歴あるとより管理し易いです。
 
通常、ネットワーク機器の管理であれば、RANCID なんかのツールを利用するのですが、
今回は、既存の設定ファイルを簡単にコマンドラインから出力し、バージョン管理システムの Git で変更履歴を簡単に追えるようにしてみたいと思います。
 

注意点

 
設定ファイル内にはユーザ情報や、プロバイダ接続情報が入っているので、GitHubのような Publicリポジトリには公開しない でください。
本内容は、オフィスLAN内でプライベートリポジトリでの管理を想定しております。
 

RTX1200側の設定

 
既に tftp 設定がお済みの場合は、飛ばしていただいて構いません。
RTX1200 ルータにログイン後、show config の実行結果で、
 

tftp host 192.168.1.***                  # tftp接続を許可するIP

 
が記述がされていない場合は、以下のコマンドで接続許可設定をします。

RTX1200# 
RTX1200# tftp host 192.168.1.100       # tftp接続を許可するIP(サンプル)
RTX1200# 

 
念の為、 show config で設定されているかどうかを確認しておきます。
 

#
# TFTP configuration
#

tftp host 192.168.1.100

 

Gitクライアント側の設定(Linux)

 
設定ファイルを以下のファイルで出力し、後はいつもの通り git で管理できるようになります。
 

# curl -s tftp://${your_router_hostname}/config/${your_router_password} > ${your_router_hostname}.config
# git add ${your_hostname}.config
# git commit -m '[import] RTX1200 config file from ${your_router_hostname}.'
#
# git log
commit 7c40b844bcdfeff3e944faf1d2aa05418bbc13b2
Author: LeapArrows <k.saito[at]leap-arrows.jp>
Date:   Wed Jan 18 19:26:02 2017 +0900

    [import] RTX1200 config file from ${your_router_hostname}.config

 
以上でGitを利用した設定ファイルの履歴管理することができました。
 

設定ファイルの読み込み

 
最後に、おまけ的な感じになりますが、設定ファイルをルータ側に反映させる場合は以下のコマンドで適用させます。
設定ファイルの以下の部分をコメントアウト(「#」を外す)します。
 

# vim ${your_router_hostname}.config
# git diff ${your_router_hostname}.config
diff --git a/${your_router_hostname}.config b/${your_router_hostname}.config
index 7244365..493f69b 100644
--- a/${your_router_hostname}.config
+++ b/${your_router_hostname}.config
@@ -8,7 +8,7 @@
 # If you want to clear ALL configuration to default,
 #  remove `#' of next line.

-#clear configuration
+clear configuration


 #
@@ -427,4 +427,4 @@ sshd host key generate 53828 4*************************************A
 # If you want to save configuration to Nonvolatile memory,
 #  remove `#' of next line.

-#save
+save

 
次に、以下のコマンドて設定ファイルをルータ側に送信します。
 

#
# tftp ${your_router_hostname} put ${your_router_hostname}.config config/${your_router_password}
#

 
最後にルータにログインし、再起動して終了です。
 

RTX1200# 
RTX1200# restart
RTX1200# 

 

まとめ

 
認証情報が入っているので取扱には注意が必要ですが、簡易的にルータ設定ファイルのバージョン管理ができるようになりました。
ちなみに、タイトルはRTX1200とありますが、NVR500でも本手順内容で同様の事ができます。
 

参考文献

 
[amazonjs asin=”4839955786″ locale=”JP” title=”ヤマハルーターでつくるインターネットVPN 第4版 -無線LAN構築対応-“]
[amazonjs asin=”4798143669″ locale=”JP” title=”エンジニアのためのGitの教科書 実践で使える! バージョン管理とチーム開発手法 (WEB Engineer’s Books)”]