[CCNA ICND1] 05. Cisco IOSソフトウェアの操作

# 1. Ciscoデバイスへの接続

シスコの製品には、Cisco IOSというソフトウェアが搭載されている。

ネットワーク管理者が設定や管理を行う場合、コンピュータを製品に管理的に接続してIOSコマンドを実行する必要がある。

## 1.1. 管理アクセスとターミナルソフト

管理接続を行うには、3つの方法がある。

1. コンソールポートによる接続

2. AUXポートによる接続

3. VTY(仮想端末)による接続

## 1.2. コンソールポートによる接続

コンピュータを専用ケーブルで直接接続し、製品が工場出荷時の状態でも接続できる。

コンピュータのシリアル(COM)ポートと製品のコンソールポートを`ロールオーバーケーブル(コンソールケーブル)`で接続する。

## 1.3. AUXポートによる接続

AUXポートは、モデム経由でルータに管理アクセスするときに使用。

## 1.4. VTYに夜接続

VTY(Virtual TeletYpe)は、TCP/IPネットワーク上でTelnetやSSHによって管理アクセスを行うときに使用。

PuTTYやTera Termなどのソフトがある。

---
 
 
# 2. Cisco IOSのモード

Cisco IOSは、シスコのほとんどの製品で使われているOS。

IOSで提供されるCLIはコマンド体系が統一されているため、共通機能に関しては製品に関わらず同じコマンドで設定できる。

管理者は奇襲をほとんど意識しないで操作できるので、デバイスの管理が容易になる。

## 2.1. Cisco IOS

IOS操作はCLI(Command Line Interface)が基本。

CLIはターミナルソフトのコマンドプロンプトでコマンドと呼ばれる命令を入力して実行する。

## 2.2. IOSのEXECモード

IOSは用途に応じた様々なモードが存在。

### 2.2.1. ユーザEXECモード(ユーザモード)

一部の情報の表示、pingやtelnetを実行する程度に操作できる。

```
* Router>
* Switch>
```

### 2.2.2. 特権EXECモード(特権モード、イネーブルモード)

ユーザモードから`enable`コマンドを実行すると特権モードに移る。

全ての情報を見ることができる。

設定情報の削除やコピー、デバッグ機能の有効化もできる。

```
* Router#
* Switch#
```

`disable`コマンドを実行してユーザモードに戻す。

## 2.3. IOSのコンフィギュレーションモード

デバイスに対して設定を行うには、コンフィギュレーションモードに移る必要がある。

特権モードから`configure terminal`コマンドを実行すると`グローバルコンフィギュレーションモード`に移る。

### 2.3.1. グローバルコンフィギュレーションモード

デバイス全体にかかわるグローバルな設定を行うことができる。

例えば、ホスト名などの設定がある

```
* Router(config)#
* Switch(config)#
```

### 2.3.2. その他のコンフィギュレーションモード

設定体操が特定のインターフェイスやルーティングプロセスなどの場合、さらに深い階層のコンフィギュレーションモードに移る必要がある。

【その他のコンフィギュレーションモード】

|モード|プロンプト|説明|例|
|:---|:---|:---|:---|
|ライン|(config-line)#|コンソール、AUX、VTYポートの設定|(config)# line console 0|
|ルータ|(config-router)#|ルーティングプロトコルの設定|(config)# router rip|
|VLAN|(config-vlan)#|VLANの設定|(config)# vlan 2|

![05.1. IOSのCLIモード.png](https://qiita-image-store.s3.amazonaws.com/0/122648/2326efb4-b2be-9940-d97b-f353d3857a01.png)

---
 
 
# 3. IOS操作とヘルプ機能

Cisco IOSのCLIには多くのコマンドがあるが、ヘルプやコマンドヒストリ、拡張編集機能などいくつかの便利な機能が用意されている。

ユーザはCLIを使って快適にデバイスの設定や検証を行うことができる。

## 3.1. 設定の確認(showコマンド)

```
Router# show clock
* 03:40:51.255 UTC Wed Jul 24 2013
Router#
```

## 3.2. 設定の消去(noコマンド)

```
Router(config-if)# ip address 10.1.1.1 255.255.255.0
Router(config-if)# no ip address

Router(config)# hostname R1
R1(config)# no hostname
Router(config)# 
```
## 3.3. 出力結果の検索(フィルタ)

* begin：一致した内容から表示

* include：一致した内容のみ表示

* section：一致したセクションのみ表示

```
Router# show running-config | begin line vty
line vty 0 4
 password cisco 123
 login
 transport input all
!
end

Router# show running-config | include ip route
ip route 10.0.0.0 255.0.0.0 172.16.1.2
ip route 0.0.0.0 0.0.0.0 172.16.2.2

Router# show running-config | section password
no service password-encryption
 password icnd1
 password cisco123
```

## 3.4. ヘルプ機能

IOSには、❓キーを入力するヘルプ機能がある。

現在のモードで実行可能なコマンドを確認したり、コマンドに必要なパラメータやオプションを調べたりすることができる。

---
 
 
# 4. コンフィギュレーションの保存

Cisco IOSはrunning-configとstartup-configという2つのコンフィギュレーションファイルがある。

## 4.1. コンフィギュレーションファイルの保存

```
* running-config：動作中に使用される設定情報
* startup-config：NVRAMに保持され、起動時に読み込まれる情報
```

現在コンフィギュレーションをNVRAMに保存

```sh
Router# copy running-config startup-config
```

## 4.2. コンフィギュレーションファイルの表示

```
Router# show running-config
または
Router# show startup-config
```

## 4.3. ルータ及びスイッチの初期化

### 4.3.1. ルータの初期化

1. startup-configの削除

2. ルータの再起動

```sh
Router# erase startup-config
Router# reload
```

### 4.3.2. スイッチの初期化

1. startup-configの削除

2. vlan.datの削除

3. スイッチの再起動

```sh
Switch# erase startup-config
Switch# delete vlan.dat
Switch# reload
```
---
 
 
# 5. Cisco IOSの接続診断ツール

## 5.1. ping

pingコマンドを使用すると、特定のノードとIP通信できるかどうかを確認することができる。

```sh
Router# ping [ <ip-addr> | <hostname> ]
```

## 5.2. 拡張ping

```sh
Router# ping
Protocol [ip]: プロトコル指定
Target IP address: 宛先ノードのIPアドレス
Repeat count [5]: 送信するエコーパケットの数
Datagram size [100]: パケットのサイズ
Timeout in seconds [2]: タイムアウトの時間指定
Extended commands [n]: 一連の追加コマンドを指定するかどうかを選択
Source address or interface: 送信元のアドレスとして使用することを指定
Type of service [0]: ToS値を指定
Set DF bit in IP header [no]: フラグメンテーションなしコマンド
Validate reply data? [no]: 応答データを検証するかどうかを指定
Data pattern [0xABCD]: データパターン
Loose, Strict, Record, Timestamp, Verbose [none]: IPヘッダのオプション
Sweep range of sizes [n]: エコーパケットのサイズが変更できるかどうかを指定
```

## 5.3. traceroute

tracerouteコマンドを使用すると、パケットが宛先に到着するまでの経路を確認することができる。

```sh
Router# traceroute [ <ip-addr> | <hostname> ]
```

Windowsでは`tracert`、IOSでは`traceroute`コマンドを使う。