cisco router configuration

設定ファイルがロードされない?コンフィグレジスターの設定

前回の設定を行って、正常にインタネットに繋げたことを確認したので、ルーターを邪魔しないところに移動したいと思って、一旦電源を落としたが。部屋の隅っこに設置して起動し直したらなんと前回の設定が全部なくなりました。今回はその原因と解決方法を説明します。

実行中のコンフィグを確認

まずはターミナルを開いて、現在実行中の設定を確認します。

show running-config

PPPoEやHDCPの設定が全部ぶっ飛んだことを確認しました。ルーター名も含めて、全部デフォルトに戻っています。前回の最後にwriteコマンドでコンフィグをNVRAM上のstartup-configに保存したはずなので、
そちらも確認します。

show startup-config

startup-configにはちゃんとコンフィグが保存されていることを確認しました、これで全部やり直さなくても何とかなるので、ひとまず安心。ファイル名のstartup-configから考えると、起動時にロードされるはずなのに、なぜロードされていない。おかしい。
CISCOの資料を調べてみる。
なるほど、ルーターにはコンフィグレジスタというものがあって、全部16bitで、それぞれのbitが起動時の動作を制御しているようです。

コンフィグレジスター

以下のコマンドでコンフィグレジスターの値を確認できます。

show version

IOSのバージョン情報などが表示されて、その中にコンフィグレジスターの値も表示されています。

Configuration register is 0x2142

このコンフィグレジスタはいくつかの起動時動作を制御していて、ほとんどはデフォルト値で問題ないですが、その中に6bit目は:

値が1の場合,NVRAM内のstartup-configを無視しれ、デフォルトコンフィグで起動します。

まさにこのbit!0x2142だとその4がこのビットです。
コンフィグレジスターの値を変更します。

enable
config terminal
config-register 0x2102

変更したらもう一度show versionでシステム情報を確認します。

Configuration register is 0x2142 (will be 0x2102 at next reload)

まだ0x2142ですが、次の起動時に0x2102に変更するとの表示がありました。では再起動します。
今回はちゃんとstartup-configをrunning-configにロードして、機能するようになりました。

コンフィグファイルの管理

コンフィグをバックアップしたり、複数のコンフィグファイルを管理して、必要に応じてロードしたい場合はtftp経由でコンフィグファイルをPCまたはサーバーに転送して、まとめて管理することができます。

サーバーにアップロード:

copy running-config tftp:
Address or name of remote host []? *TFTPサーバーのIPアドレス*
Destination filename []? *TFTPサーバー上に保存するファイル名*

これでrunnint-configをTFTPサーバーのワーキングディレクトリに指定したファイル名で保存できます。
startup-configなどほかのコンフィグファイルも同じ手順でアップロードできます。

ルーターにダウンロード

copy tftp: running-config
Address or name of remote host []? *TFTPサーバーのIPアドレス*
Source filename []? *TFTPサーバー上に保存するファイル名*
Destination filename [running-config]? startup-config

サーバー上の指定したファイルの内容をルーターにダウンロードします。
[]ないのファイル名はIOSが提案したデフォルトファイル名です、直接Enterを押せばそちらのファイルにダウンロードしますが、動作中のrunning-configを上書きする場合は互換性の原因でエラーになる可能性がありますので、一旦startup-configにダウンロードして、reload命令で起動し直す方が無難でしょう。

TFTPについて

IOSのインストール、コンフィグファイルの管理ともTFTP(Trivial-FTP)を利用していました。
trivialは些細な、瑣末という意味らしいですが、IT分野でtrivialを言ったら大体シンプル、そのまま使える的なイマージだと思います。
trivial-ftpと通常のftp違い:

TFTPはUDPでファイルを転送します、それに対してFTPは信頼性の高いTCP
TFTPは一度に1つのファイルしか転送できません。
認証など一切不要。
手軽に使えるので、ルーターなどの組み込み機器にはよく使われるらしい、逆に安全性、機能性の面ではカバーできないから、内部管理以外の場合では利用されるケースが少ないでしょう。

ハプニングは無事解決、次回はipv6接続にチャレンジします。