vyos操作メモ(2)

## 初めに
前回の続きです。  
前回のページは[こちら](https://qiita.com/Hicky-2020/items/e22a71febf3f7b3103a5)

#### [構成]
<img width="620" alt="vyos1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/444876/5a8d191c-423d-a40a-7d59-da0c40d8ba13.png">

## Static Routing
ここでは vyosにおけるStatic Routingの設定を行います。Static Routingは到達したいネットワークと、そこに行くためにどこのIPアドレスにパケットを転送すればいいのかを記入する必要があります。
### 設定
##### R1
```
$ conf
# set protocols static route 192.168.4.0/24 next-hop 192.168.2.2
# set protocols static route 192.168.5.0/24 next-hop 192.168.2.2
# set protocols static route 192.168.6.0/24 next-hop 192.168.3.2
# commit
# save
```
##### R2
```
$ conf
# set protocols static route 192.168.1.0/24 next-hop 192.168.2.1
# set protocols static route 192.168.3.0/24 next-hop 192.168.5.2
# set protocols static route 192.168.6.0/24 next-hop 192.168.5.2
# commit
# save
```
##### R3
```
$ conf
# set protocols static route 192.168.1.0/24 next-hop 192.168.3.1
# set protocols static route 192.168.2.0/24 next-hop 192.168.5.1
# set protocols static route 192.168.4.0/24 next-hop 192.168.5.1
# commit
# save
```
##### R4
```
$ conf
# set protocols static route 192.168.1.0/24 next-hop 192.168.4.1
# set protocols static route 192.168.2.0/24 next-hop 192.168.4.1
# set protocols static route 192.168.3.0/24 next-hop 192.168.4.1
# set protocols static route 192.168.5.0/24 next-hop 192.168.4.1
# set protocols static route 192.168.6.0/24 next-hop 192.168.4.1
# commit
# save
```
##### R5
```
$ conf
# set protocols static route 192.168.1.0/24 next-hop 192.168.6.1
# set protocols static route 192.168.2.0/24 next-hop 192.168.6.1
# set protocols static route 192.168.3.0/24 next-hop 192.168.6.1
# set protocols static route 192.168.4.0/24 next-hop 192.168.6.1
# set protocols static route 192.168.5.0/24 next-hop 192.168.6.1
# commit
# save
```

### 設定確認
show ip routeにて各ルーターのルーティングテーブルの内容を確認します。


##### R1
```
$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

C>* 192.168.1.0/24 is directly connected, eth0, 00:35:33
C>* 192.168.2.0/24 is directly connected, eth1, 00:35:34
C>* 192.168.3.0/24 is directly connected, eth2, 00:35:33
S>* 192.168.4.0/24 [1/0] via 192.168.2.2, eth1, 00:27:48
S>* 192.168.5.0/24 [1/0] via 192.168.2.2, eth1, 00:27:48
S>* 192.168.6.0/24 [1/0] via 192.168.3.2, eth2, 00:27:48
```
##### R2
```
$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

S>* 192.168.1.0/24 [1/0] via 192.168.2.1, eth0, 00:24:51
C>* 192.168.2.0/24 is directly connected, eth0, 01:00:21
S>* 192.168.3.0/24 [1/0] via 192.168.5.2, eth1, 00:23:51
C>* 192.168.4.0/24 is directly connected, eth2, 01:00:21
C>* 192.168.5.0/24 is directly connected, eth1, 01:00:22
S>* 192.168.6.0/24 [1/0] via 192.168.5.2, eth1, 00:23:51
```
##### R3
```
$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

S>* 192.168.1.0/24 [1/0] via 192.168.3.1, eth0, 00:17:54
S>* 192.168.2.0/24 [1/0] via 192.168.5.1, eth1, 00:22:18
C>* 192.168.3.0/24 is directly connected, eth0, 00:58:31
S>* 192.168.4.0/24 [1/0] via 192.168.5.1, eth1, 00:22:18
C>* 192.168.5.0/24 is directly connected, eth1, 00:58:32
C>* 192.168.6.0/24 is directly connected, eth2, 00:58:31
```
##### R4
```
$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

S>* 192.168.1.0/24 [1/0] via 192.168.4.1, eth0, 00:02:33
S>* 192.168.2.0/24 [1/0] via 192.168.4.1, eth0, 00:02:33
S>* 192.168.3.0/24 [1/0] via 192.168.4.1, eth0, 00:02:33
C>* 192.168.4.0/24 is directly connected, eth0, 00:58:35
S>* 192.168.5.0/24 [1/0] via 192.168.4.1, eth0, 00:02:33
S>* 192.168.6.0/24 [1/0] via 192.168.4.1, eth0, 00:02:33
```
##### R5
```
$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

S>* 192.168.1.0/24 [1/0] via 192.168.6.1, eth0, 00:15:23
S>* 192.168.2.0/24 [1/0] via 192.168.6.1, eth0, 00:15:23
S>* 192.168.3.0/24 [1/0] via 192.168.6.1, eth0, 00:15:23
S>* 192.168.4.0/24 [1/0] via 192.168.6.1, eth0, 00:15:23
S>* 192.168.5.0/24 [1/0] via 192.168.6.1, eth0, 00:15:23
C>* 192.168.6.0/24 is directly connected, eth0, 00:58:05
```

### 動作確認
windows10から各IPアドレスに対してpingを送れるかを確認しました。本当はtraceroute(tracert)等の結果もあったほうがいいです。

```
PS C:\Users\HP Z440> ping 192.168.1.2

192.168.1.2 に ping を送信しています 32 バイトのデータ:
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.2.1

192.168.2.1 に ping を送信しています 32 バイトのデータ:
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.2.2

192.168.2.2 に ping を送信しています 32 バイトのデータ:
192.168.2.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.2.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.2.2 からの応答: バイト数 =32 時間 <1ms TTL=63

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.3.1

192.168.3.1 に ping を送信しています 32 バイトのデータ:
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.3.2

192.168.3.2 に ping を送信しています 32 バイトのデータ:
192.168.3.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.3.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=63

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.4.1

192.168.4.1 に ping を送信しています 32 バイトのデータ:
192.168.4.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.4.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.4.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.4.1 からの応答: バイト数 =32 時間 =1ms TTL=63

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.4.2

192.168.4.2 に ping を送信しています 32 バイトのデータ:
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 1ms、最大 = 1ms、平均 = 1ms
PS C:\Users\HP Z440> ping 192.168.5.1

192.168.5.1 に ping を送信しています 32 バイトのデータ:
192.168.5.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.5.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.1 からの応答: バイト数 =32 時間 <1ms TTL=63

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.5.2

192.168.5.2 に ping を送信しています 32 バイトのデータ:
192.168.5.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.5.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.2 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.5.2 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.6.1

192.168.6.1 に ping を送信しています 32 バイトのデータ:
192.168.6.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.6.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.6.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.6.1 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.6.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.6.2

192.168.6.2 に ping を送信しています 32 バイトのデータ:
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62

192.168.6.2 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 1ms、最大 = 1ms、平均 = 1ms

```

## RIP Routing
ここでは vyosにおけるRIP Routingの設定を行います。[RIP](https://beginners-network.com/rip.html)については以下のページを参照にしてください。
### 設定
##### R1
```
$ conf
# set protocols rip network 192.168.1.0/24
# set protocols rip network 192.168.2.0/24
# set protocols rip network 192.168.3.0/24
# set protocols rip redistribute connected
# commit
# save
```
##### R2
```
$ conf
# set protocols rip network 192.168.2.0/24
# set protocols rip network 192.168.5.0/24
# set protocols rip network 192.168.4.0/24
# set protocols rip redistribute connected
# commit
# save
```
##### R3
```
$ conf
# set protocols rip network 192.168.3.0/24
# set protocols rip network 192.168.5.0/24
# set protocols rip network 192.168.6.0/24
# set protocols rip redistribute connected
# commit
# save
```
##### R4
```
$ conf
# set protocols rip network 192.168.4.0/24
# set protocols rip redistribute connected
# commit
# save
```
##### R5
```
$ conf
# set protocols rip network 192.168.6.0/24
# set protocols rip redistribute connected
# commit
# save
```
### 設定確認
Static同様、show ip routeにて各ルーターのルーティングテーブルの内容を確認します。
##### R1
```
vyos@R1:~$ show  ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

C>* 192.168.1.0/24 is directly connected, eth0, 00:28:17
C>* 192.168.2.0/24 is directly connected, eth1, 00:28:18
C>* 192.168.3.0/24 is directly connected, eth2, 00:28:17
R>* 192.168.4.0/24 [120/2] via 192.168.2.2, eth1, 00:01:03
R>* 192.168.5.0/24 [120/2] via 192.168.2.2, eth1, 00:01:03
R>* 192.168.6.0/24 [120/2] via 192.168.3.2, eth2, 00:00:38
C>* 192.168.10.0/24 is directly connected, eth3, 00:28:17
vyos@R1:~$
```
##### R2
```
vyos@R2:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

R>* 192.168.1.0/24 [120/2] via 192.168.2.1, eth0, 00:01:17
C>* 192.168.2.0/24 is directly connected, eth0, 00:11:17
R>* 192.168.3.0/24 [120/2] via 192.168.2.1, eth0, 00:01:17
C>* 192.168.4.0/24 is directly connected, eth2, 00:11:17
C>* 192.168.5.0/24 is directly connected, eth1, 00:11:18
R>* 192.168.6.0/24 [120/2] via 192.168.5.2, eth1, 00:00:50
C>* 192.168.10.0/24 is directly connected, eth3, 00:11:17
vyos@R2:~$
```
##### R3
```
vyos@R3:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

R>* 192.168.1.0/24 [120/2] via 192.168.3.1, eth0, 00:01:00
R>* 192.168.2.0/24 [120/2] via 192.168.3.1, eth0, 00:01:00
C>* 192.168.3.0/24 is directly connected, eth0, 00:06:08
R>* 192.168.4.0/24 [120/2] via 192.168.5.1, eth1, 00:01:00
C>* 192.168.5.0/24 is directly connected, eth1, 00:06:09
C>* 192.168.6.0/24 is directly connected, eth2, 00:06:08
C>* 192.168.10.0/24 is directly connected, eth3, 00:06:08
vyos@R3:~$
```
##### R4
```
vyos@R4:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

R>* 192.168.1.0/24 [120/3] via 192.168.4.1, eth0, 00:00:53
R>* 192.168.2.0/24 [120/2] via 192.168.4.1, eth0, 00:00:53
R>* 192.168.3.0/24 [120/3] via 192.168.4.1, eth0, 00:00:53
C>* 192.168.4.0/24 is directly connected, eth0, 00:05:23
R>* 192.168.5.0/24 [120/2] via 192.168.4.1, eth0, 00:00:53
R>* 192.168.6.0/24 [120/3] via 192.168.4.1, eth0, 00:00:53
C>* 192.168.10.0/24 is directly connected, eth1, 00:05:24
vyos@R4:~$
```
##### R5
```
vyos@R5:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

R>* 192.168.1.0/24 [120/3] via 192.168.6.1, eth0, 00:00:50
R>* 192.168.2.0/24 [120/3] via 192.168.6.1, eth0, 00:00:50
R>* 192.168.3.0/24 [120/2] via 192.168.6.1, eth0, 00:00:50
R>* 192.168.4.0/24 [120/3] via 192.168.6.1, eth0, 00:00:50
R>* 192.168.5.0/24 [120/2] via 192.168.6.1, eth0, 00:00:50
C>* 192.168.6.0/24 is directly connected, eth0, 00:05:22
C>* 192.168.10.0/24 is directly connected, eth1, 00:05:23
vyos@R5:~$
```
### 動作確認
Static同様、windows10から各IPアドレスに対してpingを送れるかを確認しました。

```
PS C:\Users\HP Z440> ping 192.168.1.2

192.168.1.2 に ping を送信しています 32 バイトのデータ:
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64

192.168.1.2 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.2.1

192.168.2.1 に ping を送信しています 32 バイトのデータ:
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64

192.168.2.1 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.2.2

192.168.2.2 に ping を送信しています 32 バイトのデータ:
192.168.2.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.2.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.2.2 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.3.1

192.168.3.1 に ping を送信しています 32 バイトのデータ:
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64

192.168.3.1 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.3.2

192.168.3.2 に ping を送信しています 32 バイトのデータ:
192.168.3.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.3.2 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.4.1

192.168.4.1 に ping を送信しています 32 バイトのデータ:
192.168.4.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.4.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.4.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.4.1 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.4.1 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.4.2

192.168.4.2 に ping を送信しています 32 バイトのデータ:
192.168.4.2 からの応答: バイト数 =32 時間 <1ms TTL=62
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62

192.168.4.2 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.5.1

192.168.5.1 に ping を送信しています 32 バイトのデータ:
192.168.5.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.5.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.1 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.5.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.5.2

192.168.5.2 に ping を送信しています 32 バイトのデータ:
192.168.5.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.5.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.2 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.5.2 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.6.1

192.168.6.1 に ping を送信しています 32 バイトのデータ:
192.168.6.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.6.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.6.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.6.1 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.6.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.6.2

192.168.6.2 に ping を送信しています 32 バイトのデータ:
192.168.6.2 からの応答: バイト数 =32 時間 <1ms TTL=62
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62

192.168.6.2 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440>
```

## OSPF Routing
ここでは vyosにおけるOSPF Routingの設定を行います。[OSPF](https://beginners-network.com/ospf.html)については以下のページを参照にしてください。今回デフォルトルートを配布するルーターはR1としています。
### 設定
##### R1
```
$ conf
# set protocols ospf area 0 network 192.168.1.0/24
# set protocols ospf area 0 network 192.168.2.0/24
# set protocols ospf area 0 network 192.168.3.0/24
# set protocols ospf default-information originate always
# set protocols ospf default-information originate metric 10
# set protocols ospf default-information originate metric-type 2
# set protocols ospf redistribute connected metric-type 2
# set protocols ospf redistribute connected route-map CONNECT
# set policy route-map CONNECT rule 10 action permit
```
##### R2
```
$ conf
# set protocols ospf area 0 network 192.168.2.0/24
# set protocols ospf area 0 network 192.168.5.0/24
# set protocols ospf area 0 network 192.168.4.0/24
# set protocols ospf redistribute connected metric-type 2
# set protocols ospf redistribute connected route-map CONNECT
# set policy route-map CONNECT rule 10 action permit
```
##### R3
```
$ conf
# set protocols ospf area 0 network 192.168.3.0/24
# set protocols ospf area 0 network 192.168.5.0/24
# set protocols ospf area 0 network 192.168.6.0/24
# set protocols ospf redistribute connected metric-type 2
# set protocols ospf redistribute connected route-map CONNECT
# set policy route-map CONNECT rule 10 action permit
```
##### R4
```
$ conf
# set protocols ospf area 0 network 192.168.4.0/24

# set protocols ospf redistribute connected metric-type 2
# set protocols ospf redistribute connected route-map CONNECT
# set policy route-map CONNECT rule 10 action permit

```
##### R5
```
$ conf
# set protocols ospf area 0 network 192.168.6.0/24
# set protocols ospf redistribute connected metric-type 2
# set protocols ospf redistribute connected route-map CONNECT
# set policy route-map CONNECT rule 10 action permit
```
### 設定確認
Static同様、show ip routeにて各ルーターのルーティングテーブルの内容を確認します。
##### R1
```
vyos@R1:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

O   192.168.1.0/24 [110/10] is directly connected, eth0, 00:03:21
C>* 192.168.1.0/24 is directly connected, eth0, 02:45:27
O   192.168.2.0/24 [110/10] is directly connected, eth1, 00:03:21
C>* 192.168.2.0/24 is directly connected, eth1, 02:45:28
O   192.168.3.0/24 [110/10] is directly connected, eth2, 00:03:21
C>* 192.168.3.0/24 is directly connected, eth2, 02:45:27
O>* 192.168.4.0/24 [110/20] via 192.168.2.2, eth1, 00:00:51
O>* 192.168.5.0/24 [110/20] via 192.168.2.2, eth1, 00:00:01
  *                         via 192.168.3.2, eth2, 00:00:01
O>* 192.168.6.0/24 [110/20] via 192.168.3.2, eth2, 00:00:31
O   192.168.10.0/24 [110/20] via 192.168.2.2, eth1, 00:00:30
                             via 192.168.3.2, eth2, 00:00:30
C>* 192.168.10.0/24 is directly connected, eth3, 02:45:27
vyos@R1:~$
```
##### R2
```
vyos@R2:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

O>* 0.0.0.0/0 [110/10] via 192.168.2.1, eth0, 00:01:10
O>* 192.168.1.0/24 [110/20] via 192.168.2.1, eth0, 00:01:11
O   192.168.2.0/24 [110/10] is directly connected, eth0, 00:01:21
C>* 192.168.2.0/24 is directly connected, eth0, 02:28:34
O>* 192.168.3.0/24 [110/20] via 192.168.2.1, eth0, 00:00:21
  *                         via 192.168.5.2, eth1, 00:00:21
O   192.168.4.0/24 [110/10] is directly connected, eth2, 00:01:24
C>* 192.168.4.0/24 is directly connected, eth2, 02:28:34
O   192.168.5.0/24 [110/10] is directly connected, eth1, 00:00:26
C>* 192.168.5.0/24 is directly connected, eth1, 02:28:35
O>* 192.168.6.0/24 [110/20] via 192.168.5.2, eth1, 00:00:21
O   192.168.10.0/24 [110/20] via 192.168.2.1, eth0, 00:00:20
                             via 192.168.4.2, eth2, 00:00:20
                             via 192.168.5.2, eth1, 00:00:20
C>* 192.168.10.0/24 is directly connected, eth3, 02:28:34
vyos@R2:~$
```
##### R3
```
vyos@R3:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

O>* 0.0.0.0/0 [110/10] via 192.168.3.1, eth0, 00:01:04
O>* 192.168.1.0/24 [110/20] via 192.168.3.1, eth0, 00:01:05
O>* 192.168.2.0/24 [110/20] via 192.168.3.1, eth0, 00:00:35
  *                         via 192.168.5.1, eth1, 00:00:35
O   192.168.3.0/24 [110/10] is directly connected, eth0, 00:01:15
C>* 192.168.3.0/24 is directly connected, eth0, 02:23:30
O>* 192.168.4.0/24 [110/20] via 192.168.5.1, eth1, 00:00:35
O   192.168.5.0/24 [110/10] is directly connected, eth1, 00:01:20
C>* 192.168.5.0/24 is directly connected, eth1, 02:23:31
O   192.168.6.0/24 [110/10] is directly connected, eth2, 00:01:20
C>* 192.168.6.0/24 is directly connected, eth2, 02:23:30
O   192.168.10.0/24 [110/20] via 192.168.3.1, eth0, 00:00:03
                             via 192.168.5.1, eth1, 00:00:03
                             via 192.168.6.2, eth2, 00:00:03
C>* 192.168.10.0/24 is directly connected, eth3, 02:23:30
vyos@R3:~$
```
##### R4
```
vyos@R4:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

O>* 0.0.0.0/0 [110/10] via 192.168.4.1, eth0, 00:00:55
O>* 192.168.1.0/24 [110/30] via 192.168.4.1, eth0, 00:00:56
O>* 192.168.2.0/24 [110/20] via 192.168.4.1, eth0, 00:00:56
O>* 192.168.3.0/24 [110/30] via 192.168.4.1, eth0, 00:00:56
O   192.168.4.0/24 [110/10] is directly connected, eth0, 00:01:05
C>* 192.168.4.0/24 is directly connected, eth0, 02:22:45
O>* 192.168.5.0/24 [110/20] via 192.168.4.1, eth0, 00:00:56
O>* 192.168.6.0/24 [110/30] via 192.168.4.1, eth0, 00:00:41
O   192.168.10.0/24 [110/20] via 192.168.4.1, eth0, 00:00:55
C>* 192.168.10.0/24 is directly connected, eth1, 02:22:46
vyos@R4:~$
```
##### R5
```
vyos@R5:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
       F - PBR, f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

O>* 0.0.0.0/0 [110/10] via 192.168.6.1, eth0, 00:00:18
O>* 192.168.1.0/24 [110/30] via 192.168.6.1, eth0, 00:00:19
O>* 192.168.2.0/24 [110/30] via 192.168.6.1, eth0, 00:00:19
O>* 192.168.3.0/24 [110/20] via 192.168.6.1, eth0, 00:00:19
O>* 192.168.4.0/24 [110/30] via 192.168.6.1, eth0, 00:00:19
O>* 192.168.5.0/24 [110/20] via 192.168.6.1, eth0, 00:00:19
O   192.168.6.0/24 [110/10] is directly connected, eth0, 00:01:09
C>* 192.168.6.0/24 is directly connected, eth0, 02:22:42
O   192.168.10.0/24 [110/20] via 192.168.6.1, eth0, 00:00:18
C>* 192.168.10.0/24 is directly connected, eth1, 02:22:43
vyos@R5:~$
```
### 動作確認
Static同様、windows10から各IPアドレスに対してpingを送れるかを確認しました。

```
PS C:\Users\HP Z440> ping 192.168.1.2

192.168.1.2 に ping を送信しています 32 バイトのデータ:
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.2 からの応答: バイト数 =32 時間 <1ms TTL=64

192.168.1.2 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.2.1

192.168.2.1 に ping を送信しています 32 バイトのデータ:
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=64

192.168.2.1 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.2.2

192.168.2.2 に ping を送信しています 32 バイトのデータ:
192.168.2.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.2.2 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.3.1

192.168.3.1 に ping を送信しています 32 バイトのデータ:
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.3.1 からの応答: バイト数 =32 時間 <1ms TTL=64

192.168.3.1 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.3.2

192.168.3.2 に ping を送信しています 32 バイトのデータ:
192.168.3.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.3.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.3.2 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.4.1

192.168.4.1 に ping を送信しています 32 バイトのデータ:
192.168.4.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.4.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.4.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.4.1 からの応答: バイト数 =32 時間 <1ms TTL=63

192.168.4.1 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.4.2

192.168.4.2 に ping を送信しています 32 バイトのデータ:
192.168.4.2 からの応答: バイト数 =32 時間 <1ms TTL=62
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.4.2 からの応答: バイト数 =32 時間 =1ms TTL=62

192.168.4.2 の ping 統計:
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.5.1

192.168.5.1 に ping を送信しています 32 バイトのデータ:
192.168.5.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.1 からの応答: バイト数 =32 時間 <1ms TTL=63

192.168.5.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.5.2

192.168.5.2 に ping を送信しています 32 バイトのデータ:
192.168.5.2 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.5.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.2 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.5.2 からの応答: バイト数 =32 時間 <1ms TTL=63

192.168.5.2 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.6.1

192.168.6.1 に ping を送信しています 32 バイトのデータ:
192.168.6.1 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.6.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.6.1 からの応答: バイト数 =32 時間 =1ms TTL=63
192.168.6.1 からの応答: バイト数 =32 時間 =1ms TTL=63

192.168.6.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
PS C:\Users\HP Z440> ping 192.168.6.2

192.168.6.2 に ping を送信しています 32 バイトのデータ:
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62
192.168.6.2 からの応答: バイト数 =32 時間 =1ms TTL=62

192.168.6.2 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 1ms、最大 = 1ms、平均 = 1ms
PS C:\Users\HP Z440>
```