Ciscoルータの初期設定【各種パスワード / IPアドレスの設定】

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


前回投稿記事
-
こちらの[Ciscoルータの初期設定【操作の基本】](https://qiita.com/k-yasuhiro/items/0fbd638d718d674b02f9)投稿記事の続きです。
<br>

3. Ciscoルータの基本設定
-

#### 3-1.ホスト名の設定

ホスト名とは、機器に設定出来る名前の事です。Cisco製品のルータにはデフォルトで
Routerという名前が付けられています。

ホスト名を変更するには、<b>グローバルコンフィグレーションモード</b>で
次の <font color="Red"><b>hostnameコマンド</b></font>を実行します。

```
Router(config)# hostname <ホスト名>
```
>
ホスト名を付ける際の注意点
- 63文字以下
- 英語で始まり、英語または数字で終わる
- 先頭と最後の文字の間には英語、数字、ハイフンのみ使用可能

■設定例

```
Router(config)# hostname IP-01
IP-01(config)#  // 元々Routerというホスト名だったのがIP-01というホスト名に変更された
```
<br>

■ 設定の削除

hostnameコマンドに限らず、全ての設定コマンドに置いて、入力した設定を削除するには、
コマンドの前に <font color="Red">”no”</font>を付けて同じコマンドを実行します。
ただし、<font color="green">設定した時と同じモードで実行しなければエラーとなってしまうので注意が必要です。</font>

```
IP-01＃no hostname  // モードが異なる為エラー

% Invalid input detected at '^' marker.

IP-01＃conf t  // ”configure terminal”の略
IP-01(config)#no hostname  // 削除コマンド
Router(config)#  // ホスト名がデフォルトのRouterに戻る
```
<br>
■ 設定したホスト名の変更

一度設定した後に異なるホスト名に変更したい場合は、設定を削除しなくても同じ
コマンドを実行する事で上書きされます。

```
Router(config)#hostname IP-01
IP-01(config)#hostname IP-02
IP-02(config)# // 名前が上書きされて、IP-02に変更された
```
<br>


#### 3-2.各種パスワードの設定

##### ■ 3-2-1.セキュリティの必要性

セキュリティの強度を高める為に、パスワードを設定しておく事が一般的です。
なので、3つのパスワード、
<font color="Red">コンソールパスワード</font>、<font color="Red">イネーブルパスワード</font>、<font color="Red">VTYパスワード</font>
を設定します。
<br>

##### ■ 3-2-2.コンソールパスワード設定

① ラインコンフィグレーションモードに移行する
ラインコンフィグレーションモードに移行するには、<b>グローバルコンフィグレーションモード</b>で
次の <font color="Red"><b>line console 0コマンド</b></font>を実行します。

```
(config)# line console 0
(config-line)#
```
>
Consoleポートは機器に1つしかなく、また0番から数える為、0を指定します。
0以外を指定する事は出来ません。

② パスワードを設定する
パスワードを設定するには、<b>ラインコンフィグレーションモード</b>で、
次の <font color="Red"><b>passwordコマンド</b></font>を実行します。

```
(config-line)# password <パスワード>
```
<br>
③ 認証を有効化
パスワードの認証を有効化するには、<b>ラインコンフィグレーションモード</b>で、
次の <font color="Red"><b>loginコマンド</b></font>を実行します。

```
(config-line)# login
```
>
loginコマンドを実行しないと、パスワードを設定したとしても、パスワードを問われずに
ログイン出来てしまう危険性があるので注意が必要です。

⚫️ コンソールパスワード設定例

```
Router(config)#line console 0       // ラインコンフィグレーションモードに移行
Router(config-line)#password cisco  // パスワードの設定
Router(config-line)#login           // パスワードの認証を有効化
Router(config-line)#exit            // 1つ前のモードに戻る
Router(config)#                     // グローバルコンフィグレーションモードに戻った
```
<br>

##### ■ 3-2-3.イネーブルパスワード設定

ユーザEXECモードから特権EXECモードに移行する際に設定するパスワード。
イネーブルパスワードを設定するには、<b>グローバルコンフィグレーションモード</b>で、
次の <font color="Red"><b>enable passwordコマンド</b></font>を実行します。

```
(config)# enable password <パスワード>
```
<br>

##### ■ 3-2-4.VTYパスワード設定

VTYパスワードを設定するには、<b>グローバルコンフィグレーションモード</b>で、
次の <font color="Red"><b>line vty コマンド</b></font>を実行します。

```
(config)# line vty <開始ライン番号> [<終了ライン番号>]
```
>
終了ライン番号を省略すると、<font color="green">開始ライン番号で指定したVTYポートのみ</font>に設定を行い
ラインコンフィグレーションモードに移行します。
>
VTYポートとは、仮想端末ポートとも呼ばれ、ルータの機器の内部に用意されている仮想的な
ポートです。VTY接続では、Ethernetポートなどの通信を行うポートから機器内部のVTYポートを
経由して接続されます。

⚫️ VTYパスワード設定例
コンソールパスワード設定とほぼ同様のやり方。

```
Router(config)#line vty 0 4          // VTY0~4ポートの設定をまとめて行っています
Router(config-line)#password cisco   // パスワードの設定
Router(config-line)#login            // パスワードの認証を有効化
Router(config-line)#exit             // 1つ前のモードに戻る
Router(config)#                      // グローバルコンフィグレーションモードに戻った
```
<br>

⚫️ VTYパスワード設定されていなかった場合
VTYパスワード設定されていなかった場合、<b>VTY接続で接続出来ません。</b>

```
Password required, but none set
```
もし上記のような表示がされた場合、接続先の機器にパスワードの設定をしなければならない。

<br>

##### ■ 3-2-5.show running-configによるパスワードの設定の確認

設定したパスワードのスペルミスがないか、loginコマンドを実行し忘れていないかといった
設定が正しく出来ているかを確認する為、パスワードの設定が一通り終了したら<b>特権EXECモードで</b>
<font color="Red"><b>show running-configコマンド</b></font>を実行します。
※<font color="DarkTurquoise">詳しい画像などは[こちら](https://www.infraexpert.com/study/ciscorouter3.html)記事を参照</font>

<br>

##### ■ 3-2-6.ローカル認証の設定

ローカル認証とは、パスワードだけでなく、ユーザー名も必要な設定方法。
ローカル認証では、ログインする機器にユーザーとそのパスワードを設定する必要があります。
手順は以下の通りになります。

① ユーザーアカウントの作成
ユーザーアカウントを作成するには、<b>グローバルコンフィグレーションモード</b>で、
次の <font color="Red"><b>usernameコマンド</b></font>を実行します。

```
(config)# username <ユーザー名> [privilege <特権レベル>] password <パスワード>
```
>
＜特権レベル＞には、ユーザーの特権レベルを指定します。
<b>0 ~ 15 </b>が指定でき、設定されたレベル以下のコマンドしか実行できなくなります。

privilegeを指定せずに作成したユーザーでログインするとユーザEXECモードから始まり、
<b>実行出来るコマンドは1以下に設定</b>されているコマンドになります。
<font color="green">特権レベル15は、特権EXECモードとなり、全てのコマンドが実行出来ます。</font>
この場合、ログイン後、ユーザEXECモードを経由する事なく特権EXECモードから始ります。
　
② ラインコンフィグレーションモードに移行する

```
// コンソール接続の場合
(config)# line console 0
// VTY接続の場合
(config)# line vty <開始ライン番号> [<終了ライン番号>]
```
　
③ 作成したユーザーアカウントの使用を指定
作成したユーザーアカウントの使用してログインの認証をするには、<b>設定したいラインの
ラインコンフィグレーションモード</b>で、<font color="Red">login localコマンド</font>を実行します。

```
(config-line)# login local 
```

　
⚫️ ローカル認証の設定例

```
Router(config)#username user01 password pass01               // ユーザーアカウント01作成
Router(config)#username user02 privilege 15 password pass02  // ユーザーアカウント02作成
(config)#line console 0                                      // ラインコンフィグレーションモードに移行
Router(config-line)#login local                              // パスワードの認証を有効化
```

設定した内容は、show running-configにより確認出来ます。
確認した際に、パスワードに前に「0」という数字が表示されますが、これは暗号化されて
いないパスワードである事を示しています。

<br>
#### 3-3.パスワードの暗号化

show running-configコマンドを実行すると、設定したパスワードがそのまま表示されます。
これでは、設定ファイルを開かれたり、操作中の画面を見られたりすると、パスワードが分かって
しまいます。その為、文字列を判別出来ないように暗号化します。

##### ■ 3-3-1.イネーブルパスワードの暗号化

イネーブルパスワードの暗号化するには、<b>グローバルコンフィグレーションモード</b>で、
<font color="Red"><b>enable secretコマンド<b></font>を実行します。

```
(config)# enable secret <パスワード>
```
>
enable secretコマンド と enable passwordコマンド両方でパスワード設定した場合、
enable secretコマンドで設定されたパスワードが優先されます。

　
##### ■ 3-3-2.パスワード全般の暗号化

パスワード全般の暗号化は、<b>グローバルコンフィグレーションモード</b>で、
次の <font color="Red"><b>service password-encryptionコマンド</b></font>を実行します。

```
(config)# service password-encryption
```
>
このコマンドは、<font color="green">enable passwordコマンド、passwordコマンド、usernameコマンドで設定した</font>
パスワードを暗号化します。
設定済みのパスワードだけでなく、今後設定するパスワードも暗号化されて保存されます。
ただし、イネーブルパスワードは、enable secretコマンドを実行した方が暗号化の強度が
強くなります。

また、次のコマンドを実行すると暗号化が無効になり、以降設定されるパスワードは
暗号化されません。既に暗号化されて保存されたパスワードは元には戻りません。

```
(config)# no service password-encryption
```
<br>

##### ■ 3-3-3.自動ログアウトの設定

自動ログアウトの時間を設定するには、<b>ラインコンフィグレーションモード</b>で、
次の <font color="Red"><b>exec-timeoutコマンド</b></font>を実行します。

```
(config-line)# exec-timeout <分> [<秒>]
```
>
＜秒＞は省略可能で、省略すると0が自動的に設定されます。
また、<font color="green">＜分＞に0を指定すると自動ログアウトが無効になります。</font>
しかし、セキュリティの強度を下げる事になるので推奨されてません。

#### 3-4.SSHの設定

TELNETでアクセスしたい場合、VTY接続の設定をするだけでログイン可能でしたが、
SSHでログインする場合は次の手順で行います。
>
SSHは、TELNET同様遠隔地にあるサーバやルーター等を端末から遠隔操作する
通信プロトコルですが、入力したデータを暗号化して送信するという点で異なる。

##### ① ホスト名を設定する
ホスト名をの設定は、グローバルコンフィグレーションモードでhostnameコマンドを実行します。
デフォルトホスト名であるRouterでは、この後で行うRSA暗号鍵を生成する事が出来ませんので
あらかじめ変更しておく必要があります。

```
Router(config)# hostname <ホスト名>
```
<br>

##### ② ドメイン名を設定する
ドメイン名を設定するには、<b>グローバルコンフィグレーションモード</b>で、
次の <font color="Red"><b>ip domain-nameコマンド</b></font>を実行します。
ドメイン名は、この後で行うRSA暗号鍵を生成する必要になります。

```
(config)# ip domain-name <ドメイン名>
```
<br>

##### ③ RSA暗号鍵を生成する
RSA暗号鍵とは、公開鍵暗号化方式の1つであるRSAで使用される鍵の事。
SSHで使用するRSA暗号鍵を設定するには、<b>グローバルコンフィグレーションモード</b>で、
次の <b><font color="Red">crypto key generate rsaコマンド</b></font>を実行します。
<font color="green">ホスト名がデフォルトのRouterであったり、ドメイン名が設定されていない場合、
このコマンドは実行されません。</font>

```
(config)# crypto key generate rsa
```
>
RSAとは、公開鍵暗号方式で使われる代表的な暗号アルゴリズム


##### ④ ユーザーアカウントを作成する
ユーザーアカウントを作成するには、グローバルコンフィグレーションモードで、
次の usernameコマンドを実行します。SSH接続ログインする際に使用します。

```
(config)#username <ユーザー名> [privilege <特権レベル>] password <パスワード>
```
<br>
##### ⑤ ローカル認証を設定する
作成したユーザーアカウントの使用してログインの認証をするには、login localコマンド
を実行します。SSH接続では、VTYパスワードを用いた方法ではログイン出来ない為、
ローカル認証を用いる必要があります。

```
// コンソール接続の場合
(config)# line console 0
// VTY接続の場合
(config)# line vty <開始ライン番号> [<終了ライン番号>]

(config-line)# login local 
```
<br>

##### ⑥ SSHの接続許可を設定する
SSHの接続許可を設定するには、<b>ラインコンフィグレーションモード</b>で、
次の<font color="Red"><b>transport inputコマンド<b></font>を実行します。

```
(config-line)# transport input < ssh | telnet | all | none >
```
>
- telnetを指定すると、TELNET接続のみログイン可能
- sshを指定すると、SSH接続のみログイン可能
- allを指定すると、両方の接続が可能
- noneを指定すると、VTY接続そのものを禁止する
>
セキュリティ強度を高めるには、sshを指定してSSH接続のみ許可すると良い。

##### ⑦ SSHのバージョンを設定する
SSHのバージョンを設定するには、<b>グローバルコンフィグレーションモード</b>で、
次の <font color="Red"><b>ip ssh versionコマンド</b></font>を実行します。

```
(config)# ip ssh version < 1 | 2 >
```
>
SSHには、バージョン1とバージョン2という2つのバージョンがあります。
1を指定すると、バージョン1・2両方での接続を許可し、2を指定するとバージョン2での
接続のみ許可します。
デフォルトでは、両方での接続の許可をしている為、セキュリティ強度を高めるには、
バージョン2を指定すると良い。


##### ⚫️ SSHの設定例

```
Router(config)#enable password pass                            // イネーブルパスワードの設定
Router(config)#hostname RouterA1                               // ホスト名 RouterA1を設定
RouterA1(config)#ip domain-name cisco.jp                       // ドメイン名 cisco.jpを設定
RouterA1(config)#crypto key generate rsa                       // RSA暗号鍵を生成
RouterA1(config)#username user01 privilege 15 password pass01  // パスワードの認証を有効化
RouterA1(config)#line vty 0 4                                  // ラインコンフィグレーションモードに移行
RouterA1(config-line)#login local                              // パスワードの認証を有効化
RouterA1(config-line)#exit                                     // 1つ前のモードに戻る
RouterA1(config)#transport input ssh                           // SSHの接続許可を設定
RouterA1(config)#ip ssh version 2                              // SSHのバージョンを設定
```
<br>

#### 3-5.IPアドレスの設定

■ IPアドレスの設定手順

##### ① 設定対象のインターフェイスのインターフェイスコンフィグレーションモードに移行する
IPを設定するには、設定しようとしているインターフェイスの
インターフェイスコンフィグレーションモードに移行します。
インターフェイスコンフィグレーションモードに移行するには、
<b>グローバルコンフィグレーションモード</b>で、次の <font color="Red"><b>interfaceコマンド</b></font>を実行します。

```
(config)#interface <タイプ> <ポート番号>
```
>
＜タイプ＞には、機器のインターフェイスによって下記のいずれかを指定します。
>
|タイプ　　　　　　　|説明　　　　　　　　　　　　　　　　　　　　　　　　|
|:---|:---|
|Ethernet|通信速度が、10Mbpsのインターフェイス|
|fastEthernet|通信速度が、100Mbpsのインターフェイス|
|Gigabit Ethernet|通信速度が、1Gbpsのインターフェイス|
|Loopback|自分自身を表す仮想的なインターフェイス|
>
＜ポート番号＞には、インターフェイスの番号を指定します。
番号は、０や１といった数字を指定するものや、「0/0」といった
「スロット番号/インターフェイス番号」という形で指定するものあります。


##### ② IPアドレスを設定
IPアドレスを設定するには、<b>インターフェイスコンフィグレーションモード</b>で、
次の <font color="Red"><b>ip addressコマンド</b></font>を実行します。

```
(config-if)# ip address <IPアドレス> <サブネットマスク>
```
>
＜サブネットマスク＞は、255.255.255.0のような<font color="Red">10進数表記</font>で指定します。
プレフィックス長表記ではエラーになってしまう為注意。
また、ネットワークアドレスやブロードキャストアドレスのような設定出来ないIPアドレスや
誤ったサブネットマスクを指定するとエラーになってしまいます。


##### ③ インターフェイスを有効にする
インターフェイスを有効にするには、<b>インターフェイスコンフィグレーションモード</b>で、
次の <font color="Red"><b>no shutdownコマンド</b></font>を実行します。

```
(config-if)# no shutdown
```

ルーターのインターフェイスは、デフォルトでは有効になっておらず通信を行う事が出来ません。
なので、IPアドレスを設定し、ケーブルに接続しても有効にはなりません。
その為、使用するインターフェースを有効化するために、該当インターフェースを指定した上で
no shutdownコマンドを使用します。
<br>

■ IPアドレスの設定例

```
(config)#interface fastEthernet 0/0
(config-if)#ip address 193.168.1.0 255.255.255.0
(config-if)#no shutdown
```