Ciscoのルーターでスタティックルーティング

# はじめに
人にCiscoコマンドを教えることになり学習をしている。
私はネットワークの知識は多少あるが、Ciscoについては見たこともなければ触ったこともない。
そんな私が学習したCiscoコマンド等を備忘録として残しておく。

# 必要ソフト
Ciscoのルーターを実際に買うと高価なので、学習目的の場合はこのソフトを利用する
- Cisco Packet Tracer
Cisco製のネットワーク機器をソフトウェア上で操作できるシミュレーターツール
こちらから無料でダウンロードできる
https://www.netacad.com/ja/courses/packet-tracer

# 行うこと
PCとルーターを接続して、スタティックルーティングを行う。
スタティックルーティングとは、ルーター内に保存されているルーティングテーブル情報を、管理者が手動で登録する方法である。

# 構成図
![static-route.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273110/4868e852-1830-356e-23a9-e6fe0807ee59.png)

- 192.168.0.0/24にはPC1とROUTER1が接続されている
- 192.168.1.0/24にはROUTER1とROUTER2が接続されている
- 192.168.2.0/24にはROUTER2とPC2が接続されている
- PC1とPC2間でping通信を通すことをゴールとする

# 実践
Cisco Packet Tracerで以下のような構成を作成する。
- PCは画面下部から「PC－PT」というのを選択してドラッグ＆ドロップする
- Routerは画面下部から「1841」というのを選択してドラッグ＆ドロップする
- 各デバイス間は「Copper Cross-Over」という線で繋ぐ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273110/7728f8ab-993d-6df2-e27f-0ace51fd68a8.png)


## PC1での設定
「Desktop」タブの「IP Configuration」を選択して開く画面から、IPアドレス、サブネットマスク、デフォルトゲートウェイを設定する
IPアドレスには自身のIPアドレスである「192.168.0.10」、サブネットマスクは「/24」を現す「255.255.255.0」、デフォルトゲートウェイはROUTER1のインタフェースを指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273110/74633e7e-1b5a-a681-9056-ccdb35b59262.png)

## PC2での設定
「Desktop」タブの「IP Configuration」を選択して開く画面から、IPアドレス、サブネットマスク、デフォルトゲートウェイを設定する
IPアドレスには自身のIPアドレスである「192.168.2.10」、サブネットマスクは「/24」を現す「255.255.255.0」、デフォルトゲートウェイはROUTER2のインタフェースを指定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273110/bf813bf0-2702-78de-7ddd-6ed11d7f78c2.png)

## ROUTER1での設定コマンド

### IPアドレスの付与
以下のコマンドを実行することでFastEthernet 0/0には「192.168.0.1」、FastEthernet 0/1には「192.168.1.1」がセットされる
```cisco_ios
Router>ena
Router#conf t
Router(config)#interface FastEthernet 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
Router(config-if)#no shutdown 
Router(config-if)#exit
Router(config)#interface FastEthernet 0/1
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#no shutdown 
Router(config-if)#exit
```

### スタティックルーティング設定
IPアドレスを付与しただけではパケットを受信できても転送はされないのでルーティングを行う。
以下のコマンドを実行することで「192.168.2.0/24」宛のパケットを「192.168.1.2」に転送する
```cisco_ios
Router(config)#ip route 192.168.2.0 255.255.255.0 192.168.1.2
```

### ルーター名設定
ルーターに名前を付けるのを忘れていたのでROUTER1という名前を付ける
```cisco_ios
Router(config)#hostname ROUTER1
ROUTER1(config)#
```

### ルーティング情報を確認する
「192.168.2.0/24」宛の通信が「192.168.1.2」に転送される設定がされていることを確認する
```cisco_ios
ROUTER1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.0.0/24 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet0/1
S    192.168.2.0/24 [1/0] via 192.168.1.2

ROUTER1#
```

## ROUTER2での設定コマンド

### ルーター名設定
ルーターにROUTER2という名前を付ける

```cisco_ios
Router>ena
Router#conf t
Router(config)#hostname ROUTER2
ROUTER2(config)#
```

### IPアドレスの付与
以下のコマンドを実行することでFastEthernet 0/0には「192.168.1.2」、FastEthernet 0/1には「192.168.2.1」がセットされる

```cisco_ios
ROUTER2(config)#interface FastEthernet 0/0
ROUTER2(config-if)#ip address 192.168.1.2 255.255.255.0
ROUTER2(config-if)#no shutdown 
ROUTER2(config-if)#exit
ROUTER2(config)#interface FastEthernet 0/1
ROUTER2(config-if)#ip address 192.168.2.1 255.255.255.0
ROUTER2(config-if)#no shutdown 
ROUTER2(config-if)#exit
```

### スタティックルーティング設定
以下のコマンドを実行することで「192.168.0.0/24」宛のパケットを「192.168.1.1」に転送する
```cisco_ios
ROUTER2(config)#ip route 192.168.0.0 255.255.255.0 192.168.1.1
```

### ルーティング情報を確認する
「192.168.0.0/24」宛の通信が「192.168.1.1」に転送される設定がされていることを確認する

```cisco_ios
ROUTER2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

S    192.168.0.0/24 [1/0] via 192.168.1.1
C    192.168.1.0/24 is directly connected, FastEthernet0/0
C    192.168.2.0/24 is directly connected, FastEthernet0/1

ROUTER2#
```

## 接続確認
PC1の「Desktop」タブから「Command Prompt」を選択してコマンドプロンプトを起動し、ping通信を行う。
1回目はARP通信による遅延？で失敗したが、2回目は成功した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273110/6116be44-ea5e-b64a-561a-edb688e64f5f.png)

現場からは以上です