設定の一括更新とロールバック

$Date: 2023/07/07 18:17:12 $

概要

内蔵不揮発性メモリーに保存した設定や、ファイルシステムに保存した設定を読み込み、設定を一括で更新することが利用できます。また、その設定変更に不具合があった時に、自動的に元の設定に復元することもできます。


対応機種とファームウェアリビジョン

ヤマハルーターでは以下の機種およびファームウェアで、設定の一括更新、ロールバック機能をサポートしています。

機種ファームウェア
vRX VMware ESXi版すべてのリビジョン
vRX Amazon EC2版
RTX3510
RTX1300
RTX1220
RTX830Rev.15.02.03以降
NVR510Rev.15.01.13以降
NVR700WRev.15.00.14以降
RTX1210Rev.14.01.26以降
RTX5000Rev.14.00.26以降
RTX3500

詳細

設定を変更する場合に、コマンドを1行ずつ入力、実行していくのでは、多数の機器の設定変更を行うのに大きな手数がかかります。そのような場合は、新しい設定をTFTPやSCP等で内蔵不揮発メモリーやファイルシステムにいったん保存しておき、その内容に設定を一括で変更するloadコマンドが利用できます。

loadコマンドは、動作中の設定を、保存されている設定ファイルの内容に一括更新することができます。更新方法として、以下の2種類が利用できます。

また、更新される設定の内容に応じて以下のコマンドが追加で実行される場合があります。

ロールバックタイマー

ロールバックタイマー機能は、設定変更を行った時に何らかの設定ミスでコンソールにアクセスできなくなった場合などに、自動的に設定を変更前に復元することのできる機能です。ロールバックタイマーは、loadコマンドのオプションとして同時に起動するか、あるいはrollback timerコマンドでロールバックタイマーのみを起動することもできます。

rollback timerコマンドは、例えば、コンソールからコピー&ペーストで設定を流し込むときのセーフネットとして利用することができます。

復元される設定は、loadコマンドあるいはrollback timerコマンド実行の直前に動作中の設定となります。

ロールバックタイマーは、confirmコマンドで設定内容を確認することで停止します。saveコマンドで設定を保存しても停止します。ロールバックタイマーは、起動時、および、タイムアウトまで残り2分、1分、30秒のタイミングで以下のメッセージをコンソールに表示します。

起動時(タイマーを200秒に設定した場合)

(日本語)
ロールバックタイマーが起動しました。
3分20秒後に自動的に設定が復元されます。

(英語)
Rollback timer is activated.
Configuration will be rolled back automatically in 3 minutes 20 seconds.

2分前、1分前、30秒前 (メッセージは2分前の場合)

(日本語)
ロールバックタイマーがあと2分でタイムアウトします。

(英語)
Rollback timer will be expired in 2 minutes.

ロールバックタイマーがタイムアウトすると、保存していた元の設定を復元するため、差分更新が行われます。その際、以下のメッセージがコンソールに表示されるとともに、英語メッセージがSYSLOGに記録されます。

(日本語)
ロールバックタイマーがタイムアウトしました。設定が復元されます。
(差分更新のコマンドの表示)
設定が復元されました。

(英語)
Rollback timer is expired. Configuration is rolled back automatically.
(差分更新のコマンドの表示)
Rollback done.

ロールバックタイマーが動作中に、ロールバックタイマーより先にログインタイマーがタイムアウトした場合にも、設定は復元されます。quit/exitコマンドで正常にログアウトした場合には、ロールバックタイマーは停止し、設定は復元されません。restartコマンドでの再起動でも設定は復元されません。

設定の差分

differenceオプション付きのloadコマンドでは、新しい設定に設定内容を変更するために、設定の差分をとり、必要なコマンドを実行するという形をとります。この設定の差分は、新旧の設定ファイル同士を比較することで得られます。現在動作中の設定についても、show configコマンドで表示される内容を設定ファイルとみなして比較を行います。

設定ファイルを比較する場合、設定ファイルは以下の形式である必要があります。

特に、インデントは設定ファイルの構造を解析するための重要な情報なので、show configコマンドの表示に沿う形で正しく設定ファイルを作成する必要があります。一方、同一モード内でのコマンドの順番が入れ替わっているだけの場合には、同じ設定とみなされます。コマンドの順番についてはあまり気にする必要はありません。

show config differenceコマンドで、二つの設定の間の差分を表示することができます。loadコマンドを実行する前に差分を確認する用途で利用できます。

注意事項

設定ファイルを置換しても、更新前のPPインターフェースやトンネルインターフェースの接続状態は保持されています。設定ファイルを置換した後は必要に応じて再接続をしてください。

以下の行数以上の設定ファイルの置換、復元はできません。


コマンド

設定の一括更新

[書式]
load [CONFIG-TYPE] CONFIG [difference] [silent | interactive] [no-configure-refresh] [no-key-generate] [rollback-timer=TIMER]
[引数]
CONFIG-TYPE ... 引数CONFIGの種類を表す
'config' ... config番号
'file' ... RTFS、EMFS、外部メモリーに保存されているファイルのファイル名
CONFIG ... config番号かファイル名のいずれか
TIMER ... 復元タイマーの値(秒、120〜21474836)
[説明]
指定された設定ファイルへ設定を復元・更新する。

CONFIG-TYPEを省略した書き方をした場合、CONFIGは以下の順で解釈される。

更新方法には、置換と差分の2種類がある。

デフォルト動作は置換更新であり、differenceオプションを指定することで差分更新となる。

デフォルトでは、設定を置き換えるために実行するコマンドがコンソールに表示される。silentオプションを指定すると、コマンドの表示はせずに設定を書き換える。interactiveオプションを指定すると、コマンドを一つずつ実行するかどうか確認しながら設定を更新できる。interactiveオプションは、対話的ではないインタフェース(GUI設定中のコマンド入力など)からは利用できない。silentオプションとinteractiveオプションを同時に指定することはできない。

loadコマンドで設定を置き換えた場合、必要に応じて'ospf configure refresh'、'bgp configure refresh'あるいは'ipv6 ospf configure refresh'コマンドが追加で実行される。no-configure-refreshオプションを指定すると、この動作を抑止することができる。

更新前後の設定ファイルに'sshd host key generate'コマンドが設定されていた場合、no-key-generateオプションを指定するとホスト鍵の再生成は実行されず、更新前のホスト鍵の設定を引き継ぐことができる。

rollback-timerオプションで、復元タイマーが設定できる。以下の場合に、自動的に設定がloadコマンド実行前の内容に復元される。

復元タイマーを停止するには以下のいずれかが必要である。

一つのコンソールあたり、復元タイマーは一つしか動作しない。rollback-timerオプション付きのloadコマンドあるいはrollback timerコマンドを複数回実行した場合には、最後のコマンドの復元タイマーのみが有効となる。rollback-timerオプションを省略した場合には、復元タイマーは動作しない。

[ノート]
暗号化された設定ファイルには対応していない。

no-key-generateオプションは、RTX1210 Rev.14.01.28以降で指定可能。

ロールバックタイマーの起動

[書式]
rollback timer TIMER
[引数]
TIMER ... 復元タイマーの値(秒、120〜21474836)
[説明]
復元タイマーのみを設定する。以下の場合に、自動的に設定がrollback timerコマンド実行前の内容に復元される。

以下の場合に、復元タイマーは停止する。

一つのコンソールあたり、復元タイマーは一つしか動作しない。rollback-timerオプション付きのloadコマンドあるいはrollback timerコマンドを複数回実行した場合には、最後のコマンドの復元タイマーのみが有効となる。

[ノート]
このコマンドは、手動で設定を変更するときのセーフネットとして利用することができる。

設定の確認

[書式]
confirm
[説明]
loadコマンドあるいはrollback timerコマンドで起動した復元タイマーを停止し、設定変更の内容を確定させる。

設定の差分の表示

[書式]
show config difference [[CONFIG-TYPE1] CONFIG1] [CONFIG-TYPE2] CONFIG2
[引数]
CONFIG-TYPE1/2 ... 引数CONFIG1/2の種類を表す
'config' ... config番号
'file' ... ファイル名
CONFIG1/2 ... '-' (現在動作中の設定)
config番号かファイル名のいずれか
[説明]
CONFIG1とCONFIG2の差分を、CONFIG1をCONFIG2へ変換するためのコマンド列という形で表示する。

CONFIG1にあり、CONFIG2にないコマンドはno形式で表示され、CONFIG1になく、CONFIG2にあるコマンドは通常形式で表示される。CONFIG1/2とも、show configコマンドでの表示に沿った形でインデント(段付け)されていなくてはならない。

CONFIG1を省略した場合は、'-'(現在動作中の設定)が指定されたものとする。

CONFIG1/2で、CONFIG-TYPE1/2を省略した書き方をした場合、CONFIG1/2は以下の順で解釈される。

[ノート]
CONFIG1/2にconfig番号を指定した場合で、保存されている設定にlogin password、login password encrypted、administrator password、administrator password encryptedコマンドが含まれている場合には、動作前にそれらのパスワードを入力する必要がある。

管理者モードでのみ動作する。