デバイスの管理


# NTP
UTC(Coordinated Universal Time:協定世界時)という世界共通の標準時を把握している時刻サーバと同期をとるためのプロトコル。UDPポート番号**123**を使用する。
stratum(ストラタム）と呼ばれる階層構造を持っており、最上位のNTPサーバから時刻を同期する下位の新しいNTPサーバを構築し、またそのサーバから同期する新しいNTPサーバを構築することで負荷分散を行っている。

![キャプチャ38.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/5229fc01-c1dc-a0b8-0f70-0d82980b93d5.png)

最上位のNTPサーバをstratum1とし、最大でstratum15まで構築することが可能。

### NTPの同期モード
時刻を同期するモードとして次の3つがある


#### Sever Clientモード
最も一般的な同期モード。クライアントがサーバに対して時刻を要求し、NTPサーバが応答して同期を行う。

![キャプチャ26.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/962e2216-e0fe-7f86-0818-0103d24893bb.png)

#### Symmetric Active/Passiveモード
同階層のNTPサーバ同士が時刻の同期の取り合い、時刻情報の信頼性を確保する。同期している相手サーバを**NTPピア**と呼ぶため、ピアモードやピア接続とも呼ぶ。

![キャプチャ27.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/952a3b8c-f47e-3a8d-cf24-bc450597d9fc.png)


#### Broadcastモード
NTPサーバがブロードキャストで時刻情報を送信する。NTPサーバと同一ネットワーク内にNTPクライアントが多数ある場合に使用する。サーバからの情報をクライアントが受け取るという一方向性の通信となるため、時刻さや遅延の計算が出来ず制度は低くなる。

![キャプチャ28.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/0a6ec279-e557-5509-a2f4-fddd2a3156f2.png)


## NTPの設定
Cisco機器はNTPクライアントとしてもNTPサーバとしても動作させることが可能。

### ntp serverコマンド
**ntp server [IPアドレス] [prefer]**
Sever ClientモードのクライアントとしてNTPサーバに対して時刻を要求するコマンド。グローバルコンフィギュレーションモードで行う必要がある。複数のサーバを指定していた場合、preferの指定があるサーバと優先的に同期を行う。

### ntp masterコマンド
**書式：ntp master [stratum数]**
NTPサーバの機能を有効にするコマンド。グローバルコンフィギュレーションモードで行う必要がある。CiscoルータがNTPサーバと同期がとれない場合に、自身のハードウェアクロックをSever Clientモードのサーバとして動作することができる。
stratum数には1~15まで指定可能。省略するとデフォルトの8が設定される。

### ntp peerコマンド
**書式：ntp peer < IPアドレス>**
Symmetric Active/PassiveモードとしてNTPサーバ同士で同期を行うコマンド。グローバルコンフィギュレーションモードで行う必要がある。< IPアドレス>には同期を行う同階層のNTPサーバのIPアドレスを指定する。

### ntp broadcast clientコマンド
Broadcastモードで送信された時刻情報を取得して同期するコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。

### ntp broadcastコマンド
**書式：ntp broadcast [version <バージョン数>]**
Broadcastモードで時刻をブロードキャストパケットで送信するサーバにするコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。<バージョン数>にはNTPのバージョン1~4を指定することが可能。省略した場合、バージョン4が使用される。

### ntp sourceコマンド
**書式：ntp source <インターフェイス名>**
送信元インターフェイスを変更するコマンド。グローバルコンフィギュレーションモードで行う必要がある。デフォルトでは宛先のNTPサーバに最も近いインターフェイスが送信元となっているが、その送信元を変更することができる。


## 認証の設定
認証機能を設定することで、信頼できるNTPサーバとNTPサーバとNTPクライアント間での通信に限定し、誤って不正確な時刻に更新されることを防ぐ。認証を行うには、NTPサーバとNTPクライアントの双方で認証を有効化し、共通の鍵番号と文字列を定義する。

### ntp authenticateコマンド
NTPの認証機能を有効化するコマンド。グローバルコンフィギュレーションモードで行う必要がある。デフォルトでは無効化になっている。

### ntp authentication-keyコマンド
**書式：ntp authentication-key [鍵番号] md5 [文字列]**
認証鍵を定義するコマンド。グローバルコンフィギュレーションモードで行う必要がある。[鍵番号]には任意の文字列、[文字列]には8文字までの任意の文字列を指定する。NTPサーバとNTPクライアント間で共通の鍵番号と文字列を指定する。

### ntp trusted-keyコマンド
**書式：ntp trusted-key [鍵番号]**
NTP認証で使用する鍵番号を指定するコマンド。グローバルコンフィギュレーションモードで行う必要がある。NTPサーバとNTPクライアント間で共通の鍵番号を指定する。

### ntp server keyコマンド
**書式:ntp server [IPアドレス] key [鍵番号] [prefer]**
時刻同期するNTPサーバに対して認証を行う。グローバルコンフィギュレーションモードで行う必要があり、**NTPクライアントでのみ実行する**。共通の鍵番号を指定することで認証を行うことができる。

### ntp access-groupコマンド
**書式：ntp access-group < peer | serve | serve-only | query-only> < ACL>**
アクセス制御の設定を行うコマンド。グローバルコンフィギュレーションモードで行う必要がある。アクセス制御の設定を行うことで、特定の機器間でのみ時刻同期が出来るように制限を加えることができるため、セキュリティを高めることができる。
< ACL>で指定できるのは標準ACLのみ。

| オプション | 内容 |
|:-:|:-:|
| peer  | 時刻情報の提供・同期、NTP制御クエリへ応答の全てを行う  |
| serve  | 時刻情報の提供、NTP制御クエリへの応答を行う。受け取った時刻情報は同期せず無視する  |
| serve-only  | 時刻情報の提供を行う。それ以外は同期せず無視する  |
| query-only  |  NTP制御クエリへの応答を行う。時刻情報の提供・同期は行わない |

:::note info
**NTP制御クエリとは？？**
主にネットワーク監視などで使用されるパケットのこと。サーバへNTP制御クエリを送信し応答が返ってくることで正常に動作しているかどうかの判断が出来るため、確認応答の用途で使用されるものとなっている。
:::


## タイムゾーンの設定
同じ標準時間を使用する地域のこと。それぞれ地域によってUTCからの時差があり、日本の場合はUTCより9時間進んでいる。

### clock timezoneコマンド
**書式:clock timezone [タイムゾーンの略称] [時差]**
タイムゾーンを設定するコマンド。グローバルコンフィギュレーションモードで行う必要がある。

### clock setコマンド
**書式:clock set [時:分:秒 日 月 年 | 時:分:秒 月 日 年]**
システムクロックを手動設定するコマンド。特権EXECモードで行う必要がある。月の指定は英語で記載する

```markdown:clock setコマンド
Router#clock set 9:54:00 22 Nov 2023
Router#show clock
9:54:5.157 UTC Wed Nov 22 2023
```

### calendar setコマンド
**書式:calendar set [時:分:秒 日 月 年]**
ハードウェアクロックを手動設定するコマンド。特権EXECモードで行う必要がある。月の指定は英語で記載する

### show clockコマンド
自身のルータ内の現在時刻を表示させるコマンド。特権EXECモードで行う必要がある。

```markdown:show clockコマンド
Router#show clock
*0:1:0.972 UTC Mon Mar 1 1993
```

### show ntp status
自身のNTPの設定を確認するコマンド。特権EXECモードで行う必要がある。

![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/05de8585-d0d8-370a-0472-719af3c72d89.png)



### show ntp associationsコマンド
NTPの時刻同期の状態を確認するコマンド。特権EXECモードで行う必要がある。同期しているサーバには*がつく。

![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/c7249885-a342-87c8-cbcb-dec926ae093f.png)


# CDP(Cisco Dicvovery Protocol)
Cisco独自のプロトコルでデータリンク層で動作する。直接接続されているCisco機器を検出し、その機器の情報を収集できる。また、スイッチに接続しているCisco製のIP電話を検出し、ip電話が必要としている電力量の調整や音声VLAN IDの通知などが行える。
デフォルトで60秒ごとに機器の情報をマルチキャストアドレス宛てに送信する。

![キャプチャ39.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3238179/93a2b058-3b86-5122-e5dd-8b077207a4b8.png)

CDPプロトコルにはバージョン1とバージョン2があり、現在のCisco機器のほとんどではバージョン2がデフォルトで有効になっている。
以下の情報が収集可能になる

| 内容 |
|:-:|
| 隣接機器のデバイス名  |
| 隣接機器のネットワーク層のアドレス  |
| 隣接機器のプラットフォーム  |
| 隣接機器の機能。スイッチかルータなどがわかる  |
| 自身のどのインターフェイスで受信したか  |
| 隣接機器のどのインターフェイスと隣接しているか  |
| CDPで受信した情報を保持する時間  |
| 隣接機器のIOSのバージョンなど  |
| 隣接機器で動作しているCDPのバージョン  |
| 隣接機器のVTPドメイン名（バージョン2のみ） |
| 隣接機器のネイティブVLAN（バージョン2のみ） |
| 隣接機器のインターフェイスの全二重・半二重（バージョン2のみ） |

## CDPの設定の確認
CDPはデータリンク層で動作するので、IPアドレスが設定されていなくてもインターフェイスが有効になっていれば、情報のやり取りができる。

### no cdp runコマンド
CDPを無効化するコマンド。グローバルコンフィギュレーションモードで行う必要がある。デフォルトでは有効になっている。反対に有効にする場合は先頭のnoを抜いた状態でコマンドを実行する。

### no cdp enableコマンド
インターフェイス単位で無効にするコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。反対に有効にする場合は先頭のnoを抜いた状態でコマンドを実行する。

:::note warn
デバイス全体でCDPが有効になっていないと特定のインターフェースでCDPを無効にできない
:::


### show cdpコマンド
CDPが有効かどうかを確認するコマンド。特権EXECモードで行う必要がある。

```markdown:show cdp コマンド
Router#show cdp
Global CDP information:
    Sending CDP packets every 60 seconds
    Sending a holdtime value of 180 seconds
    Sending CDPv2 advertisements is enabled
```


### show cdp interfaceコマンド
CDPが動作するインターフェイスの情報を確認するコマンド。特権EXECモードで行う必要がある。

```markdown:show cdp interfaceコマンド
R3#show cdp interface 
Vlan1 is administratively down, line protocol is down
  Sending CDP packets every 60 seconds
  Holdtime is 180 seconds
GigabitEthernet0/0 is up, line protocol is up
  Sending CDP packets every 60 seconds
  Holdtime is 180 seconds
GigabitEthernet0/1 is up, line protocol is up
  Sending CDP packets every 60 seconds
  Holdtime is 180 seconds
```


### show cdp neighborsコマンド
CDPで隣接機器から受信した情報の要約情報を確認するコマンド。特権EXECモードで行う必要がある。

| 項目 | 内容 |
|:-:|:-:|
| Device ID  | 隣接機器のホスト名  |
| Local Intrfce  | 隣接機器と接続している自機器のインターフェイス  |
| Holdtme  | 隣接機器に関する情報保持の残り秒数  |
| Capability  | 隣接機器の機能  |
| Platform  | 隣接機器の型番  |
| Port ID  | 隣接機器の自機器との接続インターフェイス  |

```markdown:show cdp neighborsコマンド
R3#show cdp neighbors 
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone              
Device ID    Local Intrfce   Holdtme    Capability   Platform    Port ID
Switch       Gig 0/0          133            S       2960        Fas 0/3
Switch       Gig 0/1          133            S       2960        Fas 0/1
```


### show cdp neighbors detailコマンド
CDPで隣接機器から受信した情報の詳細情報を確認するコマンド。特権EXECモードで行う必要がある。隣接機器が複数存在する場合、そのすべての機器の詳細情報が一覧で表示される。

```markdown:show cdp neighbors detailコマンド
R1#show cdp neighbors detail 
(省略)
---------------------------
Device ID: R11
Entry address(es): 
  IP address : 10.1.11.2
Platform: cisco C1900, Capabilities: Router
Interface: GigabitEthernet0/1.10, Port ID (outgoing port): GigabitEthernet0/0.10
Holdtime: 134

Version :
Cisco IOS Software, C1900 Software (C1900-UNIVERSALK9-M), Version 15.1(4)M4, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Thurs 5-Jan-12 15:41 by pt_team

advertisement version: 2
Duplex: full
```


### show cdp entryコマンド
**書式：show cdp entry [*| 機器名]**
特定の機器のみの詳細情報を確認するコマンド。特権EXECモードで行う必要がある。

```markdown:show cdp entryコマンド
SW1#show cdp entry RT4

Device ID: RT4
Entry address(es): 
  IP address : 192.168.1.254
Platform: cisco C2800, Capabilities: Router
Interface: FastEthernet0/24, Port ID (outgoing port): FastEthernet0/0
Holdtime: 171

Version :
Cisco IOS Software, 2800 Software (C2800NM-ADVIPSERVICESK9-M), Version 15.1(4)M4, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Thurs 5-Jan-12 15:41 by pt_team

advertisement version: 2
Duplex: full
---------------------------
```
# LLDP(Link Layer Discovery Protocol)
CDP同様に隣接している機器を検出することのできるデータリンク層で動作するプロトコル。`IEEE802.1AB`として標準化されているため、異なるベンダーの製品であっても使用することが可能。Cisco製機器の場合、デフォルトで30秒ごとに情報をマルチキャスト`0180.C200.000E`で送信する。120秒間更新がなければ取得した情報を削除する。

+ 自身の管理アドレスを伝える
+ トポロジチェンジ(デバイスが追加されたこと、削除されたことを通知)の情報を伝える

## LLDPの設定
Cisco製以外の隣接機器の情報を取得するために必要。デフォルトでは無効になっている。

### lldp runコマンド
LLDPを有効にするコマンド。グローバルコンフィギュレーションモードで行う必要がある。

### lldp receiveコマンド
LLDPの受信を有効にするコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。

### lldp transmitコマンド
LLDPの送信を有効にするコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。

### lldpコマンド
**書式:lldp [transmit | receive]**
インターフェイス単位でLLDPを有効にするコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。[transmit]を指定することでLLDPフレームの送信を有効にすることができ、[receve]を指定するとLLDPフレームを受信して情報を取得することが出来る。

### show lldpコマンド
動作状況を確認するコマンド。特権EXECモードで行う必要がある。

### lldp timerコマンド
**書式：lldp timer [秒数]**
送信時間を変更するコマンド。グローバルコンフィギュレーションモードで行う必要がある。LLDPでは30秒ごとに情報を送信する。

### lldp holdtimeコマンド
**書式: lldp holdtime [秒数]**
ホールド時間を変更するコマンド。グローバルコンフィギュレーションモードで行う必要がある。デフォルトでは120秒に設定されていて、120秒間情報の取得がなければ取得した情報を削除する。

### lldp reinitコマンド
**書式：lldp reinit [秒数]**
再初期化実行までの遅延時間を変更するコマンド。グローバルコンフィギレーションモードで実行する必要がある。有効化と無効化を繰り返す際の初期化処理を防ぐために設定されていて、デフォルトでは2秒で設定されている。


### lldp tlv-selectコマンド
**書式：lldp tlv-select [TLV名]**
自身の機器をTLV(Type,Length,Value)形式で定期的に隣接危機へ送信しており、その送信する情報を変更するコマンド。グローバルコンフィギレーションモードで行う必要がある。デフォルトでは全てのTLVを送信する設定になっているため、noでコマンドを削除することで不要なTLV情報の送信を停止することができる。

| TLV | 内容 |
|:-:|:-:|
| management-address  |  管理IPアドレス |
| port-description  | ポートの説明  |
| port-vlan  | ポートのVLAN番号  |
| system-capabilities  | システムの機能  |
| system-description  | システムの背地名  |
| system-name  | システム名（ホスト名）  |


### show lldp neighborsコマンド
LLDPで隣接機器から受信した情報の要約情報を確認するコマンド。特権EXECモードで行う必要がある。

### show lldp neighbors detailコマンド
LLDPで隣接機器から受信した情報の詳細情報を確認するコマンド。特権EXECモードで行う必要がある。隣接機器が複数存在する場合、そのすべての機器の詳細情報が一覧で表示される。

### show lldp entryコマンド
**書式：show lldp entry [* | 機器名]**
特定の機器のみの詳細情報を確認するコマンド。特権EXECモードで行う必要がある。



# IOSの管理
IOSには様々なバージョンがあり、フィーチャーセットというIOSで使うことができる機能のセットが何種類か存在する。どれを使用するかで設定できる機能が異なる。現在の機種ではユニバーサルイメージが採用されている。
使用したい機能がある場合、現在動作している機器で設定可能かどうかを調べる必要がある。

### show flashコマンド
Flash上に格納しているIOSやFlashメモリの空き容量や使用量を確認するコマンド。特権EXECモードで行う必要がある。IOSのイメージ名やバージョンの確認を行うことができる。

```markdown:show flashコマンド
Router#show flash

System flash directory:
File  Length   Name/status
  3   33591768 c1900-universalk9-mz.SPA.151-4.M4.bin
  2   28282    sigdef-category.xml
  1   227537   sigdef-default.xml
[33847587 bytes used, 221896413 available, 255744000 total]
249856K bytes of processor board System flash (Read/Write)

```


### show versionコマンド
フラッシュメモリを確認するコマンド。特権EXECモードで行う必要がある。IOSイメージファイル以外にもいろいろな内容を確認することができる。

+ 現在稼動しているIOSのバージョン
+ 電源を入れて稼働したのか、Reloadして再起動したのか
+ 現在ルータで稼動しているIOSファイル
+ DRAMの容量
+ Flashメモリの容量
+ コンフィグレーションレジスタ値

<details><summary>show versionコマンド</summary>

```markdown:show versionコマンド
Router#show version
Cisco IOS Software, C1900 Software (C1900-UNIVERSALK9-M),
##現在稼動しているIOSのバージョンの確認
Version 15.1(4)M4, RELEASE SOFTWARE (fc2)

Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Wed 23-Feb-11 14:19 by pt_team

ROM: System Bootstrap, Version 15.1(4)M4, RELEASE SOFTWARE (fc1)
##システムが稼働してからの時間
cisco1941 uptime is 6 hours, 25 minutes, 8 seconds
##システムを起動した方法
System returned to ROM by power-on
##現在ルータで稼働しているIOSファイル
System image file is "flash0:c1900-universalk9-mz.SPA.151-1.M4.bin"
Last reload type: Normal Reload

This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.
##DRAMの容量
Cisco CISCO1941/K9 (revision 1.0) with 491520K/32768K bytes of memory.
Processor board ID FTX152400KS
2 Gigabit Ethernet interfaces
DRAM configuration is 64 bits wide with parity disabled.
255K bytes of non-volatile configuration memory.
##Flashメモリの容量
249856K bytes of ATA System CompactFlash 0 (Read/Write)

License Info:

License UDI:

-------------------------------------------------
Device#   PID                   SN
-------------------------------------------------
*0        CISCO1941/K9          FTX1524JJUG-


Technology Package License Information for Module:'c1900'

----------------------------------------------------------------
Technology    Technology-package          Technology-package
              Current       Type          Next reboot
-----------------------------------------------------------------
ipbase        ipbasek9      Permanent     ipbasek9
security      disable       None          None
data          disable       None          None

##コンフィグレーションレジスタの値
Configuration register is 0x2102
```
</details>

## IOSユニバーサルイメージ
全ての機能があらかじめ含まれており、どの機能が使用可能かは購入したライセンスによって決まる。アップグレードする際は、必要なライセンスを購入し有効化するだけで、IOSイメージ事態の入れ替えは不要となっている。

## IOSの起動手順
Cisco製の機器は電源を入れた後、次のような手順で起動する。

1. **ハードウェアのチェック**
ROM内のPOSTを実行してハードウェアのチェック行う。

2. **ブートストラップの実行**
ROMのブートストラップを実行し、NVRAMに保持されているコンフィギュレーションレジスタの値を読み込む。レジスタの値により起動モードが決定する。

3. **IOSの読み込みと起動**
ブートストラップがIOSを読み込む。この時、NVRAMに保持している`startup-config`に定義されたboot systemコマンドで起動するOSの指定を確認する。指定されていない場合、フラッシュメモリ内のIOSイメージファイルを読み込む。
フラッシュメモリにIOSイメージファイルがない場合、ブロードキャストによりTFTPサーバを探し、そこからIOSイメージファイルを読み込む。それでもない場合は、**ROMモニターモード**で起動する。

4. **初期設定**
`startup-config`を読み込んで初期設定を行う。`startup-config`がない場合は**Setupモード**で起動する



## IOSのバックアップ

### TFTP（Trivial File Transfer Protocol)
FTPを簡易化したアプリケーション層のプロトコル。以下の特徴がある。

+ クライアントサーバ型
+ UDPポート69番を使用
+ 暗号化、認証の機能を持たない
+ 低機能な分、軽量で単純

ルータのIOSのバックアップやアップグレードによく使用される。IOS以外では設定ファイルのバックアップにも使用される。

:::note info
Cisco機器は基本的にTFTPクライアントとして動作するが、`tftp-server`コマンドを実行することでTFTPサーバとして動作することも可能。
:::


### バックアップの手順

1. **TFTPサーバの準備**
IOSファイルをやり取りする際に必要、サーバにはLinuxやWindows用のTFTPサーバソフトウェアをインストールする。

2. **TFTPクライアントの準備**
Cisco製の機器はTFTPクライアントになる。IPアドレスを設定し、サーバへ到達するか確認しておく必要がある。

3. **ファイルのアップロード**

#### copyコマンド
**書式：copy [コピー元] tftp:**
TFTPサーバにファイルをアップロードするコマンド。特権EXECモードで行う必要がある。

## IOSのアップグレード
アップグレードを行う前に、ルータやスイッチのメモリがIOSを動作させるための要件を見たいしているか確認する必要がある。また、現在使用している機能をそのまま使用できるのか、増設したインターフェイスなどが継続して使用可能かどうかなどの確認も必要になる。
フラッシュメモリ内のIOSをアップグレードする場合、フラッシュメモリの容量に余裕があれば、以前のバージョンを残したまま新しいバージョンをインストール可能。
ない場合は以前のバージョンを削除してから新しいバージョンのインストールを行う。

### IOSアップグレード手順

1. **アップグレードの準備**
IOSイメージを保存するための「Flashの容量」とIOSを読み込んで稼働させるための「RAMの容量（DRAM）」が十分にあるかを確認しておく必要がある。`show version`コマンドおよび`show flash:`コマンドで確認ができる。

2. **IOSイメージのルータへのコピー**
TFTPサーバやFTPサーバからIOSイメージをダウンロードし、ファイルシステムに保存する。

3. **コピーしたCisco IOSイメージの確認**
ダウンロードしたファイルが正常であるかを確認する。ファイルの確認には`verify`コマンドを使用する。リリースノートに記載されたMD5ハッシュと一致していれば、ダウンロードしたファイルが正常であることが確認できる。

4. **ブート変数の設定**
起動時に参照するIOSイメージをブート変数に指定する。設定するには`boot system`コマンドを使用する。

5. **設定の保存とルータの再起動**
設定内容を保存し、ルータを再起動する。設定の保存には`write memory`や`copy running-config startup-config`コマンドを使用する。

6. **アップグレードの確認**
再起動後、新しいIOSイメージで起動していることを確認する。稼働中のIOSイメージの情報を確認するには、`show version`コマンドを使用する。

### copyコマンド
**書式：copy tftp: flash:**
TFTPサーバ内のIOSをルータにダウンロードするコマンド。特権EXECモードで行う必要がある。


:::note warn
ユニバーサルイメージを採用している機器ではインストールの手順は必要ない
:::

# パスワードリカバリ
設定はそのままでパスワードだけを変更する手順の事。型番により方法が異なるため、実際に実施するときはCiscoのwebサイトで確認をする

1. **ルータの電源のオンオフ**
コンソールに接続し、ルータの電源を落とした後、再度投入する。

2. **ブレーク信号の送信**
60秒以内にブレーク信号（実行中の処理を停止させる信号）を送信する。送信方法は接続に利用しているターミナルエミュレータにより異なる。

3. **コンフィギュレーションレジスタの値の変更**
ルータがROMモニターモードで起動するので、値を`0x2142`に変更する。変更すると、`startup-config`を読み込まずにルータが起動する。

4. **ルータの再起動**
再起動後Setupモードになるため、noを入力しログインを行う。

5. **特権モードへ移動**
`startup-config`のパスワード以外の設定はそのままで、パスワードのみを変える必要があるため、一度設定ファイルの内容をルータに反映させる。

6. **パスワードの変更**
7. **コンフィギュレーションレジスタの値の復帰**
この状態だと次回再起動時に設定ファイルが読み込まれないので、通常起動の`0x2102`に値を戻す。

8. **設定の保存**
copy running-config startup-configで保存し終了。

### copy startup-config running-configコマンド
保存されている設定ファイルの内容をルータに反映させるコマンド。特権EXECモードで行う必要がある。

### config-registerコマンド
**書式:config-register [コンフィギュレーションレジスタ値]**
コンフィギュレーションレジスタを変更するコマンド。グローバルコンフィギュレーションモードで行う必要がある。

# その他のデバイス管理

### telnetコマンド
**書式：telnet [IPアドレス | ホスト名]**
ルータやスイッチから他の機器にTELNET接続するコマンド。特権EXECモードで行う必要がある。

### sshコマンド
**書式：ssh -l [ユーザ名] [IPアドレス | ホスト名]**
ルータやスイッチから他の機器にSSH接続するコマンド。特権EXECモードで行う必要がある。ログインするユーザ名を-lオプションで指定する必要がある。

:::note info
リモート接続を終了するには、exitかlogoutコマンドを実行する。
また、TELNETセッションは維持したまま元のデバイスに戻ることも可能。
+ Ctrl+Shiftキー+6キーを押下後、Xキーを押す
:::

### show sessionコマンド
現在存在するリモートセッションを確認するコマンド。特権EXECモードで行う必要がある。

### resumeコマンド
**書式：resume [セッション番号]**
中断しているセッションを再開するコマンド。特権EXECモードで行う必要がある。[セッション番号]で再開したいセッションの番号を指定する。省略すると最後のセッションになる。

### disconnectコマンド
**書式：disconnect [セッション番号]**
現在中断しているセッションを切断するコマンド。特権EXECモードで行う必要がある。

### show usersコマンド
ログインしているユーザを確認するコマンド。特権EXECモードで行う必要がある。

## バナーメッセージの設定
ユーザがデバイスにリモート接続やコンソール接続した際に、認証の前にメッセージを出すことが出来る。ルータへのアクセスを注意する警告などを表示させたりする。

### banner motdコマンド
**書式：banner motd [区切り文字]**
バナーメッセージを設定するコマンド。グローバルコンフィギュレーションモードで行う必要がある。[区切り文字]には、メッセージを終了する際に入力する文字を指定する。