Cisco Systems社認定資格であるCCNA(Cisco Certified Network Associate)出題範囲における技術について、定期的にご紹介します。
CCNA資格は【ICND1】【ICND2】の2つの試験に合格することで取得できます。
今回はICND2の出題範囲であるCisco IOSファイル管理とパスワードリカバリについて2回に分けて説明します。
この2つを学習する前に、まずルータの構成要素について知っておく必要があります。
Ciscoルータの構成要素
CiscoルータにはHDD装置がありません。代わりに様々なメモリがあります。
ROM(Read Only Memory)
読み込み専用のメモリで、製造時に書き込まれた内容は消えることはありません。ROMにはルータの起動に不可欠な、POST(Power On Self Test)、ブートストラップ(Bootstrap)およびMini IOSが保存されています。
Flash(フラッシュメモリ)
FlashにはルータのOS(Cisco IOS)が保存されており、必要であれば最新のIOSを書き込むことも可能です。
また、電源を切っても内容が消えることはありません。最新のCiscoルータでは、コンパクトフラッシュ(Compact Flash)を採用している機種もあります。
NVRAM(Non Volatile RAM)
NVRAMは電源を切っても内容が消えないRAMです。一般的に記憶容量は小さいため、ルータの動作に必要な設定(コンフィグレーションレジスタとstartup-config)を保存するために使用されます。
RAM(Random Access Memory)
RAMはCiscoルータの中では唯一電源を切ると内容が消えてしまうメモリであり、ルータが起動し、動作している間に高速にアクセスする必要のある内容を一時的に記憶しておくために使われます。
ルータが起動すると、Cisco IOSやコンフィグレーションファイル(設定ファイル)はこのRAMに展開されます。また、その他にもルーティングテーブルやARPテーブルなどもこのRAMに格納されます。
機種によってはRAM増設用のスロットが装備されているものもあります。
ルータのRAM、NVRAM、Flashのメモリ容量を確認するには、show versionコマンドを使用します。
① RAMの容量を示し、スラッシュの前の数字は、ルータのローカルメモリ、スラッシュの後はルータのI/Oメモリ量です。合計値がDRAMの容量となっています。
ローカルメモリは実行IOSの保持やルーティングテーブルの保持に使用され、I/Oメモリはバッファなどの入出力機能に使用されます。上記の出力では、RAMの総容量は128MBとなります。
② NVRAMの容量
③ Flashの容量
ルータの起動プロセス
ルータの電源投入後、最初にROMに格納されているPOSTプログラムが実行され、ハードウェア(CPUやメモリ、インタフェースなど)が正常に動作するかのチェックが行われます。もし異常がありPOSTに失敗すると、起動(ブート)は中断されます。
POSTプログラムが正常に終了すると、ROM内のBootstrapプログラムがRAMに展開され、実行されます。
実行されたBootstrapプログラムは、NVRAM内のコンフィグレーションレジスタ値の下位4ビットをチェックし、その値に応じて次の動作を決定します。
コンフィグレーションレジスタ値がデフォルトの0x2102の起動モードは、IOSを読み込むため、まずFlash内を検索し、見つけるとRAM上に展開します。
IOSの展開後、再度コンフィグレーションレジスタ値をチェックします。コンフィグレーションレジスタ値がデフォルトの場合、NVRAM内のstartup-configを検索し、NVRAM内にstartup-configがあれば、RAMにrunning-configとしてコピーします。
工場出荷時の状態などstartup-configが存在しない場合は、setupモードを行うか問われます。その場合、「setupモードに進み、ダイアログ形式でrunning-configを作成する」か、「setupモードを行わずに初期状態のrunning-configを作成する」かのどちらか選択することになります。
RAM上にrunning-configが格納されると、ルータはIOSを起動させます。
コンフィグレーションレジスタ
コンフィグレーションレジスタはNVRAMに保存される16ビットの値です。この値は、左から15~0の番号が付いていて、それぞれのビットに意味を持ち、ルータの起動方法、起動中のオプション、コンソールラインの速度に関係しています。
それぞれのビット番号の概要は、下表のようになっています。
デフォルトのコンフィグレーションレジスタの値「0x2102」を例にすると、ビット番号8、13に一致することが確認できます。このことからブレイクが無効、IOSの読み込みが失敗した場合に、RXBOOTモードで起動することになります。
ブートフィールド
コンフィグレーションレジスタの末尾4ビットは、ブートフィールドと呼ばれます。 ルータは起動の過程でブートフィールドの値を参照し、どこから IOSをRAMにロードするかを決定します。
デフォルトのブートフィールドの値は「0010」となっており、ルータはNVRAM内のbootコマンドに従って起動します。(bootコマンドはCisco IOSの読み込み元を指定するコマンドで、デフォルトの読み込み元は、Flashに指定されています)
通常の設定作業では、コンフィグレーションレジスタの値を変更する必要はありません。
ただし、enable secretパスワードなどのパスワードを忘れてしまった場合に実施するパスワードリカバリや、コンソールライン経由でIOSをダウンロードする際、またコンソールラインの速度を変更したい場合などに、コンフィグレーションレジスタを変更する必要があります。
ルータの現在のコンフィグレーションレジスタ値を確認するには、show versionコマンドを使用します。
出力結果の最下行に「Configuration register is 0x2102」のように表示されます。
いかがでしたでしょうか。
Ciscoルータの構成要素に関しては、試験でもよく出題される範囲です。
起動プロセスと関連付けてきちんと把握しておきましょう。