IPv6アドレスの設定と確認

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


1.IPv6アドレスの設定
-
#### 1-1.IPv6のルーティングの有効化
IPv4は、デフォルトで有効になっていますが、IPv6はルーティングは有効になっていません。
ルータでIPv6ルーティングを有効ににするには、
<b>グローバルコンフィグレーションモード</b>で次の<font color="Red"><b>ipv6 unicast-routing コマンド</b></font>を実行します。

```
(config)# ipv6 unicast-routing
```

<br>
#### 1-2.IPv6アドレスの設定
IPv6では、1つインターフェイスに複数の種類のアドレスを設定することが可能です。
どれか1つでもIPv6を設定するれば、インターフェイスでIPv6が有効になります。

##### ■1-2-1.グローバルユニキャストアドレスの設定
グローバルユニキャストアドレスの設定するには、
<b>インターフェイスコンフィグレーションモード</b>で次の<font color="Red"><b>ipv6 address コマンド</b></font>を実行します。

▶︎ 手動で設定する方法

```
(config-if)# ipv6 address < アドレス > / < プレフィックス長 >
```
>
＜アドレス＞には、IPv6アドレスを指定します。
グローバルユニキャストアドレスの場合、最初の３ビットが「001」で始まるように設定

▶︎ EUI-64形式でMACアドレスから自動で設定される方法

```
(config-if)# ipv6 address <アドレス>/<プレフィックス長> [ eui-64 ] [ anycast ]
```
>
[ eui-64 ]オプションを指定すると、インターフェイスIDをEUI-64形式のアドレスで設定します。
その場合、＜アドレス＞にプレフィックスの部分だけを指定すればMACアドレスから自動生成されます。
[ anycast ]オプションを指定すると、エニーキャストアドレス※1として設定出来ます。
※1 ネットワーク的に最も近いところと通信する際に使用されるアドレスです

<br>
##### ■1-2-2.リンクローカルユニキャストアドレスの設定
リンクローカルアドレスの場合、<font color="green">グローバルユニキャストアドレスをインターフェース上で設定する事で、
自動的にEUI-64アドレス形式を使用して、MACアドレスからIPv6アドレスを生成する</font>ことになる事から、
<font color="Red">明示的に設定する必要がありません。</font>
ただし、自動生成されたアドレスは管理しづらい為、サーバやネットワーク機器では手動で設定する方が、
各機器のIPv6アドレスが分かりやすくなります。

▶︎ 手動で設定する方法
任意のリンクローカルユニキャストアドレスを手動で設定するには、
<b>インターフェイスコンフィグレーションモード</b>で次の<font color="Red"><b>ipv6 address コマンド</b></font>を実行します。

```
(config-if)# ipv6 address < アドレス > link-local
```
>
＜アドレス＞には、IPv6アドレスを指定します。
リンクローカルユニキャストアドレスの場合、最初の10ビットが「1111111010」で始まるように設定

▶︎ 自動で設定する方法
グローバルユニキャストアドレスが設定されていない場合においても、
<b>インターフェイスコンフィグレーションモード</b>で次の<font color="Red"><b>ipv6 enable コマンド</b></font>を設定する事で、
リンクローカルユニキャストアドレスが、EUI-64形式で自動的に生成されます。

```
(config-if)# ipv6 enable
```

<br>
##### ■ 1-2-3.マルチキャストグループ
Cisco製ルータにIPv6アドレスを設定すると、そのインターフェイスは
下記のいくつかのマルチキャストグループに参加します。

|アドレス|説明　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　|
|:---|:---|
|FF02::1|リンクローカル内の全ノード宛のマルチキャストグループ|
|FF02::2|リンクローカル内の全ルータ宛のマルチキャストグループ|
|FF02::1:FFxx:xxxx|要請ノードマルチキャストアドレスのマルチキャストグループ。xx:xxxxにはインターフェイスのIPv6アドレスの下から24ビットが入る|

<br>
##### ■ 1-2-4.ステートレスアドレス自動設定（SLAAC）による設定
IPv6アドレスをステートレスアドレス自動設定によって割り当てるには、
<b>インターフェイスコンフィグレーションモード</b>で次の<font color="Red"><b>ipv6 address autoconfig コマンド</b></font>を
実行する。

```
(config-if)# ipv6 address autoconfig
```

<br>
2.IPv6アドレスの設定確認
-
#### 2-1.ルータ設定の確認
インターフェイスのIPv6アドレスを確認するには、<b>特権EXECモード</b>で
次の<font color="Red"><b>show ipv6 interface コマンド</b></font>を実行する。

```
# show ipv6 interface < インターフェイス >
```
<br>
show ipv6 interface コマンドの実行結果を確認していきます。
<img width="700" alt="ファイル名" src="https://i.gyazo.com/aae504b66addcdf8ffb19d03b6f415ee.png">

|項目|説明　　　　　　　　　　　　　　　　　　　　　　　　　　　　|
|:---|:---|
|FF80::218:19FF:FE1F:C52E※1|リンクローカルユニキャストアドレス|
|2001: 1234 :ABCD:321::1|グローバルユニキャストアドレス|
|2001: 1234 :ABCD:321::/64|プレフィックス情報|
|FF02::1、FF02::2 等|所属しているマルチキャストグループ|
>
※1　EUI-64により生成されたIPv6アドレス
　　218:191F:C52Eを、24ビットずつに分割し、間に「FFFE」を挿入して
　　先頭の7ビット目を反転させるとEUI-64により生成されたアドレスになる

<br>
#### 2-2.疎通の確認
IPv6でPINGを実行する場合、先ずはそのローカルセグメント上で疎通できるか確認する為に、
隣接ルータのリンクローカルアドレス宛てにPING コマンドを実行します。
また、リンクローカルアドレスでPING コマンドを実行する場合には、どのインターフェースから
IPv6パケットを送出するのか指定する必要があります。

IPv6で疎通の確認を行うには、<b>特権EXCEモード</b>で次の<font color="Red"><b>ping ipv6 コマンド</b></font>を実行します。

```
# ping ipv6 < IPv6アドレス >
```
ping ipv6 コマンドの実行結果です。
<img width="700" alt="ファイル名" src="https://i.gyazo.com/12bab0efa089028544d60342b43bdd7f.png">
２行目を見ると、リンクローカルユニキャストアドレスを宛先に指定した場合、
ルータ自身がどのインターフェイスから送信すればいいのか判断する事が出来ないので、
送信するインターフェイスの指定が必要になります。

<br>
3.IPv6のルーティング
-
異なるネットワークの端末とIPv6を通信する為には、ルータにIPv6のルーティングテーブルを
作成する必要があります。ルーティングテーブルのエントリを登録する方法にはスタティックルートを
設定します（割愛しますが、勿論ダイナミックルーティングでの設定方法もあります。）

#### 3-1.スタティックルートの設定
スタティックルートを設定するには、<b>グローバルコンフィグレーションモード</b>で
次の<font color="Red"><b>ipv6 route コマンド</b></font>を実行します。

```
(config)# ipv6 route < プレフィックス >/< プレフィックス長 > < 転送先 > [< アドミニストレーティブディスタンス値 >]
```
>
＜プレフィックス＞/＜プレフィックス長＞には、宛先ネットワークの情報を指定します。
＜転送先＞には、宛先のネットワークに向かう時のネクトホップまたは、
自身の出力インターフェイスを指定します。また、ネクストホップにリンクローカルアドレスを
指定する場合、自身の発信するインターフェイスを指定する必要があります。
例：gigabitethernet0/0 fe80::2
＜アドミニストレーティブディスタンス値＞は、フローティングタティックルートを設定する際に
指定します。

#### 3-2.デフォルトルートの設定
宛先が不明なパケットを送出するルートをデフォルトルートとして
ルーティングテーブルに登録します。

デフォルトルートの設定を行うには、<b>グローバルコンフィグレーションモード</b>で
次の<font color="Red"><b>ipv6 route コマンド</b></font>を実行します。

```
(config)# ipv6 route ::/0 < 転送先 > [< アドミニストレーティブディスタンス値 >]
```
>
宛先全てのネットワークプレフィックスを：：/0と指定してデフォルトルートを設定します。

#### 3-3.ルーティングテーブルの確認
ルーティングを行った際には、想定通りの状態になっているかを確認する必要があります。
ルーティングテーブルを確認するには、<b>特権EXCEモード</b>で次の<font color="Red"><b>show ipv6 route コマンド</b></font>を実行します。

```
# show ipv6 route
```

show ipv6 route コマンドの実行結果です。
<img width="700" alt="ファイル名" src="https://i.gyazo.com/39b40016714405155810c4b1ecbc0801.png">

デフォルトルートの場合は、

```
s  ::/0 [1/0]
　　visa 2001:1:::2
```
のように表示される。IPv6のデフォルトルートは、IPv4のデフォルトルート異なり、
「*」は表示されません。