Ciscoルータの初期設定【操作の基本】

CCNAの試験に向けて学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。


1. Ciscoルータへのアクセス方法
-
#### 1-1.Ciscoルータへのアクセス

Ciscoルータへのアクセスするには、コンソール接続、VTY接続、AUX接続のいずれかで
アクセス可能ですが、通常は、<font color="Red">コンソール接続</font>、<font color="Red">VTY接続</font>で行います。
<br>

#### 1-2.コンソール接続によるアクセス

コンソール接続とは、PCとルータを<font color="green">コンソールケーブル</font>を使って直接接続して設定を行う事です。

ルータにIPアドレスが設定されている場合、ネットワークを介して物理的に離れたところから
アクセス出来ます。ただし、購入したばかりのルータにはIPアドレスやパスワードが設定されていません。
なので、コンソール接続をして、ルータの初期設定を行う必要があります。

コンソールケーブルは、両端のインターフェイスが異なります。
片方は、<b>RJ-45</b>もう一方が<b>DB-9</b>になっており、RJ-45側をネットワーク機器側のコンソールポートへ
接続し、DB-9をPCへ接続します。
>
※ PC側にコネクタがなければUSBに変換可能な「シリアル変換アダプター」などもあります。

<img width="600" alt="ファイル名" src="https://i.gyazo.com/f64efd189eb183b7e9e45c56feac6a51.png">

#### 1-3.VTY接続によるアクセス

VTY接続とは、ルータやスイッチのVTYという仮想端末回線に、<font color="Red">TELNET</font>や<font color="Red">SSH</font>でリモート接続して、
機器を操作します。
TELNETやSSHは、アプリケーション層のプロトコルで、ネットワーク上のサーバーや、
ネットワーク機器を遠隔操作する為に使用します。

##### ■ 1-3-1.TELNET（テルネット Teletype network）

TELNETとは、遠隔地にあるサーバやルーター等を端末から遠隔操作する通信プロトコルです。
TELNETで接続するときには、IDとパスワードを入力して認証します。
そして認証に成功すると遠隔操作をする事が出来ます。

遠隔操作する方は、一般的に<font color="green">「TELNETクライアント」</font>と呼ばれます。
逆に遠隔操作される方は<font color="green">「TELNETサーバ」</font>といいます。

またTELNETは、<font color="Red">入力した情報が暗号化されずそのままの状態でリモート接続先に送信される</font>為、
通信を盗聴されるなど、情報漏洩する危険性があります。

##### ■ 1-3-2.SSH

SSHとは、TELNET同様遠隔地にあるサーバやルーター等を端末から遠隔操作する通信プロトコルです。
SSHは、<font color="Red">入力したデータを暗号化して送信する</font>という点で、従来のTelnetより安全な通信が行えます。
>
TELNETとSSHがリモート接続するには、IPアドレスなどが既にルータやスイッチに設定されている
事が前提になります。その為、先ずはじめにコンソール接続で初期設定を行う必要があります。

#### 1-4.ターミナルエミュレータ

ターミナルエミュレータとは、サーバとネットワーク機器をPC上で仮想的に操作するソフトウェアです。
<font color="green">端末エミュレータ</font>ともいいます。代表的なものは、「Tera Term」や「PuTTY」などがあります。
<br>

2. Ciscoルータへの操作の基本
-

#### 2-1.Cisco IOS

Ciscoルータで使用しているOSを <b>Cisco IOS（Internetworking Operating System）</b>といい、
コマンドラインで操作する <font color="Red">CLI（Command Line Interface）</font>のOSです。

CLIとは、キーボードに文字列を打ち込むことで機器の操作を行うインタフェースのことです。
それに対して、マウスとキーボードで視覚的に操作を行うインタフェースのことを、
<font color="green">GUI（Graphical User Interface）</font>といいます。
<br>

#### 2-2.ルータ起動直後の状態

⚫️ 購入直後や初期化時の場合
購入直後や初期化して再起動した場合、<font color="Red">コンソール接続しか接続出来ません。</font>
この場合、ルータには何も保存されていないので、最初にSetupモードを使用するかどうかの
選択が表示されます。
Setupモードでは、質問に対して答える対話形式で項目を1つずつ設定します。
<br>
⚫️ Setupモードを使用しない場合
Setupモードを使用しない場合は、CLIコマンドを使用して行います。
通常、<font color="green">一般的にはSetupモードでは設定しません。</font>
<br>
⚫️ 既に設定が行われている場合
設定は行われている場合には、先程のようにSetupモードを使用するかどうかの
選択選択は表示されません。起動に関するメッセージが表示された後にすぐに、
<b>ユーザEXECモード</b>に移行します。
<br>

#### 2-3.Cisco IOSモード
Cisco IOSには、操作のモードがいくつかあり、モードによって内容が異なります。

##### ■ 2-3-1.ユーザEXECモード

どのアクセス方法であっても、Cisco機器にアクセスしてログインすると最初は、
ユーザEXECモードの状態です。
機器のステータスを確認する事は出来ますが、<b>制限があり、確認出来ない項目もあります。</b>

制限なく機器のステータスを確認するには、<font color="green">特権EXECモード</font>に移行する必要があります。
移行するには、ユーザEXECモードで次の <font color="Red">enableコマンド</font>を入力します。

```
> enable
```

これを実行すると、特権EXECモードに移行します。

```
//特権EXECモード
Router> enable
Router#
```

プロンプトの手前がRouterとなっている事から、このルータのホスト名が「Router」と
いう事が分かります。また、1行目のプロンプトが「＞」となっている事から1行目の時点では、
ユーザEXECモードとなります。
そして、enableコマンドを実行した事によって2行目のプロンプトが「＃」に変わった事で、
2行目から、特権EXECモードに変わった事が分かります。
<br>

##### ■ 2-3-2.特権EXECモード

特権EXECモードは、機器のステータスを制限なしに確認出来ます。しかし、あくまでも
確認を行うモードなので設定を行うには、<font color="green">グローバルコンフィグレーションモード</font>に移行します。
グローバルコンフィグレーションモードに移行するには、次の <font color="Red">configure terminalコマンド</font>を入力します。

```
#configure terminal
```
>
また、特権EXECモードからユーザEXECモードに戻る為には、<font color="Red">disableコマンド</font>を入力します。

##### ■ 2-3-3.ユーザEXECモードと特権EXECモードの違い

違いは以下の通りです。
<img width="800" alt="ファイル名" src="https://i.gyazo.com/eb06a49cdae9155aa5e79b46e51e4b53.png">
<br>


##### ■ 2-3-4.グローバルコンフィグレーションモード

グローバルコンフィグレーションモードは、機器全般に関わる設定を行うモードです。
機器のインターフェース部分の設定を行いたいなど場合は、各種コンフィグレーションモードに
移行する必要があります。移行コマンド及び各種説明以下の通りです。
<img width="800" alt="ファイル名" src="https://i.gyazo.com/8efbaa86448327e52c11c4a6906675b2.png">
また、グローバルコンフィグレーションモードから特権EXECモード戻る為には、
<font color="Red">exitコマンド</font>または<font color="Red">endコマンド</font>を入力します。

```
Router(config)#exit
```
```
Router(config)#end
```
>
exitコマンドは、グローバルコンフィグレーションモード以外でも1つ前のモードに戻る際に、
使用できます。また、exitコマンドをユーザEXECモードや特権EXECモードで入力すると
ログアウトします。
>
endコマンドは、設定関連のどのモードからでも、特権EXECモードに戻る事が出来ます。
階層が深くなると、特権EXECモードに戻るのに exitコマンドでは複数回実行しなくては
いけないものが、endコマンドでは、1回で戻る事が出来るようになる為、
操作時間の短縮になります。
<br>

#### 2-4.設定ファイルと保存場所

Cisco IOSには、設定した内容を管理するコンフィグレーションファイル（設定ファイル）があります。
コンフィグレーションファイルは、<font color="Red">startup-config</font>と<font color="Red">running-config</font>の2つあります。

##### ■ 2-4-1.startup-config

startup-configは、電源OFFや再起動しても設定内容が消える事ない設定ファイルです。
ルータが起動する際に、startup-configに記録されている設定内容を読み込んで起動します。
このファイルは、自動では保存されないため、コマンドで保存する必要があります。

このファイルは、電源OFFや再起動しても設定内容は消えないのは、NVRAMというメモリを
使用しているからです。
<br>
##### ■ 2-4-2.running-config

running-configは、電源OFFや再起動すると設定内容が消えてしまう設定ファイルです。
ただ、ルータで設定変更をすると、設定した内容は自動的に保存されます。
つまり、今現在動作している設定内容が保存されているファイルになります。

電源OFFや再起動すると設定内容は消え流のは、RAMというメモリを使用しているからです。
RAMは、稼働中のように一時的に使用するメモリです。
<br>

##### ■ 2-4-3.ルータのメモリ領域

先程の2つのファイルは、保存されるメモリ領域が異なります。
Cisco ルータにはメモリ領域として先程少し触れたNVRAM、RAM、そしてROM、
フラッシュメモリの4つがあります。

⚫️ NVRAM
NVRAMは読み書き可能なメモリです。ルータの電源OFF時にもNVRAM内に格納された情報は
保持されます。NVRAMには、保存された設定情報(startup-config)とコンフィグレーションレジスタ※1の
2つが存在します。
>
※1 コンフィグレーションレジスタには、機器の起動モードを決める為の値が保存されます。

⚫️ RAM
RAMは読み書き可能なメモリです。このメモリにある情報だけはルータの電源OFF時に全て
消去されます。
RAMには、現在の設定内容が記載されている設定ファイルのrunning-config、パケットやフレームを
一時的に格納するバッファ、ルーティングテーブルなどが、RAMに格納されることになります。

⚫️ ROM
ROMは読み込み専用メモリです。ルータの起動やハードウェアチェックなどを行う為のプログラムが
保存されています。
<img width="800" alt="ファイル名" src="https://i.gyazo.com/f517afbf08ea54800d95ae57a2152d41.png">
⚫️ フラッシュメモリ
フラッシュメモリは読み書き可能なメモリです。FLASHとも呼ばれます。
ここには、Cisco IOSのイメージファイルが格納されています。

※イメージファイルとは、記憶装置に記録されたデータを、ファイルやフォルダ構造を
保ったまま複製・保存したデータのことである。イメージファイルはバックアップの作成などの
目的で、ハードディスクの内容をそのCD-Rに複製するような場合によく用いられている。
つまり、Cisco IOSのイメージファイルとは、コマンドライン（コンソール、ターミナルともいう）で
操作した内容をそのまま複製したファイルの事。
<br>

#### 2-5.設定確認と保存

##### ■ 2-5-1.showコマンドによる設定の確認方法

設定を確認するには、<b>特権EXECモード</b>で <font color="Red"><b>showコマンド</b><</font>を実行します。

```
# show <確認したい項目>
```
>
showコマンドは、次に続くコマンドによってルータに設定されている様々な項目を
確認する事が出来ます。


現在の設定が保存されている設定ファイルであるrunning-configの内容を確認したい場合

```
# show running-config
```
というコマンドで確認することができ、
<br>

startup-configの内容を確認したい場合

```
＃show startup-config
```
というコマンドで確認する事が出来ます。
<br>

##### ■ 2-5-2.設定ファイルの保存

設定を保存したい場合には、<b>特権EXECモード</b>で <font color="Red"><b>copyコマンド</b></font>を実行します。

```
# copy <コピー元> <コピー先>
```
　
例えば、running-configを startup-configにコピーする場合

```
＃copy running-config startup-config
```
というコマンドを実行します。
<br>

#### 2-6.ルータの初期化

既存の設定を消去して、また最初から設定を行いたい場合、初期化をします。

■ ルータを初期化する手順

① NVRAM上の startup-configを消去する
startup-configを消去するには、<b>特権EXECモード</b>で <font color="Red">erase startup-configコマンド</font>を実行します。

```
# erase startup-config
```
<br>
② 再起動する
再起動するには、<b>特権EXECモード</b>で <font color="Red">reloadコマンド</font>を実行します。

```
# reload
```
>
なお、running-configを削除するといったコマンドは存在しません。
その為、ルータを初期化するには startup-configを消去して再起動する必要があります。

#### 2-7.エラーメッセージ

■ モード間違いやスペルミスの間違いによるエラー

スペルミス等の間違いした場合は下記のエラーメッセージが表示されます。
間違い部分には " ＾ "が付きます。

```
% Invalid input detected at '^' marker.
```
<br>

■ 不足コマンドによるエラー

入力コマンドが不完全であると下記のエラーメッセージが表示されます。

```
% Incomplete command.
```
<br>

■ 曖昧コマンドによるエラー

入力したコマンドの文字列が不足している場合は下記のエラーメッセージが表示されます。

```
% Ambiguous command:
```
<br>

#### 2-8.Cisco IOSのコマンド補助機能

##### ■ 2-8-1.ヘルプ機能

Cisco IOSにはヘルプ機能があります。「？」コマンドを入力することで、現在のモードで実行できる
コマンドの一覧情報が表示されます。
このヘルプ機能は、コマンドの途中からでも実行可能です。
例えば、「con」の後ろに「？」コマンドを入力すると、「con」で始めるコマンドが一覧表示さえれます。
また、configureの後ろに「？」コマンドを入力することで、configureの後ろにつける事が出来る
オプションの一覧が表示されます。

<br>
##### ■ 2-8-2.省略機能

Cisco IOSではコマンドを入力する際に全ての文字列を入力することなく、省略した単語で入力可能です。
例えば、特権EXECモードに移行するために “enable” と入力するのではなく <b>“en”</b> と入力することにより
特権EXECモードに移行できます。

また、他にも ”configure terminal”を <b>”conf t”</b>と省略出来たり、
show running-configも <b>”show run”</b>と省略出来たりします。
<br>

##### ■ 2-8-3.doコマンド

コマンドの前に doを付ける事で、設定関連のモードで＃showコマンドなどの特権EXECモードでの
コマンドを実行出来るようになります。

例えば、showコマンドなどの確認コマンドは、ユーザEXECモードまたは特権EXECモードで入力します。
何かの設定をしたあと、showコマンドで確認しようとするとモードの移行が必要です。
いちいちモードを移行しようとするのは、とてもめんどうです。そんな時にdoコマンドは便利です。

例えば、インターフェイスコンフィグレーションモードで、IPアドレスを設定後そのまま、
インターフェイスコンフィグレーションモードでIPがちゃんと設定されたかを確認したい場合

```
(config-if)# do show ip interface brief
```
>
showコマンドは、本来特権EXECモードで実行する

## 関連投稿記事
[Ciscoルータの初期設定【各種パスワード / IPアドレスの設定】](https://qiita.com/k-yasuhiro/items/0170ea2bbc55ceacd60d)
<br>


参考記事
-
<font color="DarkTurquoise">※[Cisco IOS](https://www.infraexpert.com/study/ciscoios1.html)という記事参照</font>
<font color="DarkTurquoise">※[Cisco Router](https://www.infraexpert.com/study/ciscoios0.html)という記事参照</font>
<font color="DarkTurquoise">※[Cisco IOS - How to CLI](https://www.infraexpert.com/study/ciscoios3.html)という記事参照</font>