Cisco / CCNA 200-301 v2.0

試験項目 1.4 · CCNA-022

IPv6 Interface Address

ipv6 address / Prefix / Explicit Link-Local / ipv6 enable / Automatic Link-Local / Multiple IPv6 Addresses / Configuration確認

このページのゴール

Cisco IOS InterfaceのIPv6 Configurationを読み、明示的IPv6 Address・Prefix・Link-Local設定・ipv6 enableが期待構成と一致しているか判断できるようにする。

このページで学ぶこと

  • ipv6 address Command
  • 設定済み IPv6 Prefix
  • Explicit Link-Local Configuration
  • ipv6 enable
  • Automatic Link-Local Address
  • Multiple IPv6 Addresses per Interface
  • IPv6 Configuration Presence
  • 設定済み Address Type Consistency

ページ019ではIPv6アドレス表記、ページ020ではプレフィックス、ページ021ではユニキャストアドレス種別を確認しました。

ページ022では、それらを前提にCisco IOSインターフェース設定を読み、

どのIPv6アドレスが
明示的に設定されているか

プレフィックス長はいくつか

リンクローカルは
明示設定か自動生成か

ipv6 enableだけなのか

期待するIPv6アドレスが
設定上存在するか

アドレス種別と
インターフェース用途が整合しているか

を判断します。

例えば、

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

と、

interface GigabitEthernet0/0
 ipv6 enable

は、どちらもインターフェースでIPv6処理を有効にできます。

しかし意味は同じではありません。

前者は、

2001:db8:10:20::1/64

というIPv6アドレスを明示的に設定しています。

後者は、指定したグローバルIPv6アドレスを設定していません。

ページ022では、

インターフェース設定
↓
設定済みアドレス
↓
設定済みプレフィックス
↓
リンクローカル方式
↓
IPv6処理
↓
期待する設定との比較
↓
設定上の確認結果

の順に判断できるようにします。

1. ipv6 address コマンド

Cisco IOSインターフェースへIPv6アドレスを設定する基本コマンドは、

ipv6 address <ipv6-address>/<prefix-length>

です。

例えば、

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

なら、

インターフェース
GigabitEthernet0/0

設定済みIPv6アドレス
2001:db8:10:20::1

設定済みプレフィックス長
/64

と読みます。

ページ022ではアドレスの圧縮・展開方法を再講義しません。

アドレス文字列はページ019、プレフィックス境界はページ020の知識を使用します。

2. アドレスとプレフィックス長をセットで読む

次の設定:

interface GigabitEthernet0/1
 ipv6 address 2001:db8:30:1::1/64

では、

アドレス
2001:db8:30:1::1

だけでなく、

プレフィックス長
/64

まで含めて1つの設定として確認します。

例えば期待値が、

2001:db8:30:1::1/64

なのに実際値が、

2001:db8:30:1::1/60

なら、

アドレス値
一致

プレフィックス長
不一致

です。

アドレスだけ一致していても設定全体が正しいとは限りません。

3. プレフィックス計算そのものはページ020の知識を使う

例えば、

ipv6 address 2001:db8:10:1201::1/56

があり、

期待する親プレフィックスが、

2001:db8:10:1200::/56

なら、ページ020のプレフィックス所属知識を使って、

実際のアドレス
→ 期待値/56内

と判断できます。

ページ022では、

プレフィックス長を設定から読み取る

ことが中心です。

/56や/60の境界計算を最初から再講義しません。

4. ipv6 addressはIPv6処理も有効にする

インターフェースに、

ipv6 address 2001:db8:10:20::1/64

を設定すると、単にアドレス文字列を保存するだけではありません。

そのインターフェースでIPv6処理も有効になります。

したがって、

ipv6 address ...

が存在するインターフェースについて、

別途`ipv6 enable`がない
↓
IPv6処理が無効

とは判断しません。

5. グローバルアドレス設定時にはリンクローカルも必要になる

IPv6処理が有効なインターフェースでは、リンクローカルアドレスが使用されます。

例えば、

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

だけが設定に見えていて、

ipv6 address fe80::... link-local

という明示設定がなくても、

リンクローカルが存在しない

とは判断しません。

明示的なリンクローカル設定がなければ、IPv6処理の有効化に伴ってリンクローカルアドレスが自動生成され得ます。

ページ022では、

明示的リンクローカルがない
≠
動作上のリンクローカルがない

という点を重視します。

実際に生成されたアドレスの確認はページ025で扱います。

6. 設定と動作状態を分離する

ページ022で読むのは主に、

設定状態

です。

例えば、

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

から直接確認できるのは、

2001:db8:10:20::1/64
が明示設定されている

ことです。

一方、

自動生成されたリンクローカルアドレスの
実際の値

まで、この設定だけから確認することをページ022の目的にはしません。

設定

と、

動作上の結果

を分けて考えます。

動作上の確認はページ025で扱います。

7. 明示的リンクローカル設定

リンクローカルアドレスは明示的に設定することもできます。

代表的な設定:

interface GigabitEthernet0/0
 ipv6 address fe80::10 link-local

です。

link-local キーワードによって、

fe80::10

をインターフェースのリンクローカルアドレスとして明示設定しています。

8. 明示的リンクローカルはグローバルアドレス設定ではない

次の設定:

interface GigabitEthernet0/0
 ipv6 address fe80::10 link-local

を見て、

グローバルユニキャストアドレス
fe80::10

とは判断しません。

ページ021で確認したように、

FE80::/10

はリンクローカルアドレス空間です。

さらに設定にも、

link-local

キーワードがあります。

したがって、

設定済みアドレス種別
リンクローカル

として読みます。

9. 明示的リンクローカルは自動リンクローカルの代わりに使われる

IPv6処理を有効にすると、通常リンクローカルアドレスが自動生成されます。

しかし、

ipv6 address fe80::10 link-local

のように明示的なリンクローカルアドレスを設定した場合、そのアドレスがインターフェースのリンクローカルアドレスとして使用されます。

つまり、

明示的リンクローカル
+
自動リンクローカル

2つ同時に持つ

と考えません。

1つのインターフェースで複数のリンクローカルアドレスを持つ前提にも立ちません。

10. 明示的リンクローカルとグローバルアドレスは共存できる

例えば、

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64
 ipv6 address fe80::10 link-local

なら、

グローバルアドレス
2001:db8:10:20::1/64

リンクローカルアドレス
fe80::10

が設定されています。

これは、

IPv6アドレスが2行ある
↓
どちらかが重複している

という意味ではありません。

役割の異なるアドレスが同じインターフェースに存在しています。

11. ipv6 enable

Cisco IOSインターフェースでは、

ipv6 enable

によってIPv6処理を有効にできます。

例えば、

interface GigabitEthernet0/1
 ipv6 enable

です。

この設定によって、

IPv6処理
有効

自動リンクローカル
生成

となります。

12. ipv6 enable単独では指定グローバルアドレスを設定しない

次の設定:

interface GigabitEthernet0/1
 ipv6 enable

から、

2001:db8:30:1::1/64

のような特定のグローバルIPv6アドレスが設定されているとは判断できません。

ipv6 enableの役割は、

IPv6処理を有効化

自動リンクローカルを用意

することです。

したがって、

ipv6 enable
=
グローバルユニキャストアドレスを
明示設定するコマンド

ではありません。

13. ipv6 addressとipv6 enableの共通点と違い

整理すると、

ipv6 address <address>/<prefix>

は、

指定IPv6アドレスを設定
+
IPv6処理を有効化

します。

一方、

ipv6 enable

は、

指定グローバルアドレスは設定しない
+
IPv6処理を有効化
+
自動リンクローカル

です。

したがってトラブルシューティングでは、

IPv6が有効か

だけでなく、

期待するグローバルアドレスが
設定上存在するか

まで確認します。

14. ipv6 enableがなくてもIPv6が有効な場合がある

次の設定:

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

には、

ipv6 enable

という行がありません。

しかし、

ipv6 enableがない
↓
IPv6処理が無効

とは判断しません。

ipv6 address自体がインターフェースのIPv6処理を有効にします。

これはページ022で重要な設定の読み取りポイントです。

15. ipv6 enableだけでは期待するグローバルユニキャストアドレスを満たさない場合がある

要件:

GigabitEthernet0/1

静的IPv6アドレス
2001:db8:30:1::1/64

実際値:

interface GigabitEthernet0/1
 ipv6 enable

なら、

IPv6処理
→ 有効

リンクローカル
→ 自動

期待する静的グローバルユニキャストアドレス
→ 設定上確認できない

です。

したがって確認結果は、

IPv6が完全に無効

ではなく、

期待するグローバルIPv6アドレスが
設定上不足

です。

16. 自動リンクローカルアドレス

次のように、

interface GigabitEthernet0/1
 ipv6 enable

が設定されている場合、リンクローカルアドレスを自動生成できます。

また、

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

のようにIPv6アドレスを設定してIPv6処理を有効にした場合も、明示リンクローカルがなければ自動リンクローカルが使用されます。

ページ022では、

自動生成される

ことまでを扱います。

インターフェース識別子の生成計算はページ023です。

17. 自動リンクローカルの値を設定行だと誤認しない

例えば設定が、

interface GigabitEthernet0/1
 ipv6 enable

だけなら、

fe80::xxxx:xxxx:xxxx:xxxx

のようなリンクローカルアドレスが、同じ形式のipv6 address ... link-local行として必ず実行中の設定に書かれている、と考える必要はありません。

重要なのは、

明示的設定

と、

自動生成された動作上のアドレス

の違いです。

実際のリンクローカル値を見る方法はページ025で扱います。

18. 1つのインターフェースは複数のIPv6アドレスを持ち得る

IPv6では、1つのインターフェースに複数のIPv6アドレスが存在し得ます。

例えば、

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64
 ipv6 address 2001:db8:20:30::1/64
 ipv6 address fe80::10 link-local

なら、

グローバルIPv6アドレス
2つ

明示的リンクローカルアドレス
1つ

という設定です。

インターフェースにIPv6アドレスは
必ず1つだけ

という前提で読まないことが重要です。

19. 複数グローバルアドレスを自動的に重複設定と判断しない

例えば、

ipv6 address 2001:db8:10:20::1/64
ipv6 address 2001:db8:10:20::2/64

という複数のグローバルIPv6アドレスが同じインターフェースに存在していても、

2行ある
=
直ちに誤設定

とは判断しません。

Cisco IOSでは1つのインターフェースに複数のグローバルIPv6アドレスを設定できます。

判断すべきなのは、

期待する設定では
何アドレス必要なのか

実際のアドレスは何か

です。

20. リンクローカルは複数持つ前提にしない

グローバルIPv6アドレスは複数設定できます。

一方で、1つのインターフェースに複数のリンクローカルアドレスを持つ前提では読みません。

例えば期待値が、

明示的リンクローカル
fe80::10

なら、

ipv6 address fe80::10 link-local

がその役割を持ちます。

自動リンクローカルと明示的リンクローカルを、

2つのリンクローカルアドレス

として数えません。

21. IPv6設定の存在確認

トラブルシューティングでは、まず期待する設定に必要なIPv6項目が存在するか確認します。

例えば期待値:

インターフェース
GigabitEthernet0/2

グローバルアドレス
2001:db8:40:1::1/64

明示的リンクローカル
fe80::2

実際値:

interface GigabitEthernet0/2
 ipv6 address 2001:db8:40:1::1/64

なら、

期待するグローバルアドレス
→ 存在

期待するプレフィックス
→ 存在

期待する明示的リンクローカル
→ 存在しない

です。

ここで、

リンクローカルアドレスそのものが
動作上存在しない

とまでは断定しません。

不足しているのは、

期待する明示的リンクローカル設定

です。

22. 設定上の不在と動作状態での不在を区別する

次の2つは別です。

設定上
明示アドレスがない

と、

動作上
アドレスが存在しない

です。

例えば、

ipv6 enable

しかなくても自動リンクローカルは生成され得ます。

そのため、

ipv6 address ... link-local
がない
↓
リンクローカルがない

という結論にはしません。

ページ022では、

設定済み/ 未設定

を判断し、

動作状態はページ025で確認します。

23. アドレス種別の整合性

ページ021の知識を使って、設定済みアドレス種別がインターフェース用途と整合しているか確認します。

例えば期待値:

内部サーバーセグメント

ULAを使用

実際値:

interface GigabitEthernet0/0
 ipv6 address fd12:3456:789a:10::1/64

なら、

実際のアドレス種別
→ ローカル割り当てULA側

なので期待値と整合する可能性があります。

ページ022ではアドレス種別の定義を再講義せず、

設定上のアドレス
+
期待値用途

を比較します。

24. リンクローカルが必要な箇所にグローバルアドレスだけを見ない

期待値:

明示的リンクローカル
fe80::10

実際値:

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

なら、

グローバルアドレス
→ 存在

明示的リンクローカル
→ 存在しない

です。

グローバルアドレス設定によって自動リンクローカルは生成され得ますが、

期待値が明示的リンクローカル

なら、その要件は別に確認します。

25. リンクローカル設定ではアドレス種別も確認する

例えば、

ipv6 address fe80::10 link-local

なら、

アドレス種別
リンクローカル

設定上の役割
明示的リンクローカル

が整合しています。

トラブルシューティングでは、

`link-local`キーワードがある

だけを見るのではなく、

期待するアドレス種別

とも照合します。

CLIが特定の不正入力を受理するかというコマンドパーサーの詳細は、このページの目的ではありません。

26. ケース 1:静的グローバルアドレスが正しい

期待値:

GigabitEthernet0/0

2001:db8:10:20::1/64

実際値:

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

比較:

アドレス
一致

プレフィックス
一致

設定の存在確認
一致

です。

したがって、静的アドレス設定について明確な確認結果はありません。

通信障害が残るなら、この設定だけを原因と断定しません。

27. ケース 2:アドレスは正しいがプレフィックスが違う

期待値:

2001:db8:10:20::1/64

実際値:

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/60

なら、

アドレス値
一致

プレフィックス長
不一致

です。

確認結果:

期待するプレフィックス
/64

実際のプレフィックス
/60

となります。

28. ケース 3:ipv6 enableだけ

期待値:

静的グローバルアドレス
2001:db8:30:1::1/64

実際値:

interface GigabitEthernet0/1
 ipv6 enable

なら、

IPv6処理
有効

自動リンクローカル
利用可能

期待する静的グローバルアドレス
設定上なし

です。

確認結果は、

期待する静的グローバルユニキャストアドレスが不足

です。

29. ケース 4:明示的リンクローカル

期待値:

グローバルアドレス
2001:db8:40:1::1/64

明示的リンクローカル
fe80::40

実際値:

interface GigabitEthernet0/2
 ipv6 address 2001:db8:40:1::1/64
 ipv6 address fe80::40 link-local

なら、

グローバルアドレス
一致

プレフィックス
一致

明示的リンクローカル
一致

です。

設定上の期待値項目は揃っています。

30. ケース 5:複数IPv6アドレス

期待値:

主要なIPv6アドレス
2001:db8:50:1::1/64

追加IPv6アドレス
2001:db8:50:2::1/64

実際値:

interface GigabitEthernet0/3
 ipv6 address 2001:db8:50:1::1/64
 ipv6 address 2001:db8:50:2::1/64

なら、

IPv6アドレスが2つある

という理由だけでは異常ではありません。

両方が期待値なら、

設定
整合

です。

31. ケース 6:アドレス種別が期待値と違う

期待値:

内部セグメント

ULA
fd12:3456:789a:10::/64

実際値:

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

なら、

期待する種別
ULA

実際値
文書用プレフィックス

です。

アドレス構文が有効でも、

期待するアドレス種別

と一致していません。

確認結果:

設定済みアドレス種別の不整合

です。

32. よくある誤判断

誤り1:ipv6 enableがないからIPv6無効

ipv6 address設定でもIPv6処理は有効になります。

誤り2:ipv6 enableがあれば期待するグローバルユニキャストアドレスも設定済み

ipv6 enable単独では指定グローバルアドレスを設定しません。

誤り3:明示的リンクローカル行がないからリンクローカルアドレスもない

自動リンクローカルが生成され得ます。

誤り4:グローバルアドレスとリンクローカルが同じインターフェースにあるのは重複

役割の異なるアドレスとして共存できます。

誤り5:インターフェースにはIPv6アドレスを1つしか設定できない

複数のグローバルIPv6アドレスを持ち得ます。

誤り6:自動リンクローカルと明示的リンクローカルを2つのアドレスとして数える

明示的リンクローカルは自動リンクローカルの代わりとして使用されます。

誤り7:アドレス値だけ一致すればよい

プレフィックス長も確認します。

誤り8:設定にアドレスが見えないなら動作上も存在しない

自動アドレスと明示的設定を分けます。

誤り9:アドレス種別はページ022では確認不要

期待値用途との整合を判断するため、ページ021で学んだアドレス種別を利用します。

誤り10:ページ022だけで動作状態まで確定する

ページ022は設定の読み取りが中心です。

実稼働アドレス確認はページ025で行います。

33. IPv6インターフェース設定の基本手順

1. 期待するインターフェースを確認

        ↓

2. 期待するIPv6アドレスを確認

        ↓

3. インターフェース設定から
   ipv6 addressを確認

        ↓

4. アドレス値を比較

        ↓

5. プレフィックス長を比較

        ↓

6. 明示的リンクローカルの
   要否と設定を比較

        ↓

7. ipv6 enableの有無と
   意味を解釈

        ↓

8. 自動リンクローカルの
   可能性を考慮

        ↓

9. 複数アドレスを
   期待値と照合

        ↓

10. アドレス種別と用途を比較

        ↓

11. 設定上の確認結果を特定

ページ022では、

設定から直接分かること

と、

動作上の確認が必要なこと

を分離します。

34. 最終的に判断できるようにすること

ページ022では最終的に、

ipv6 address <address>/<prefix>
を読める

設定済みアドレスと
プレフィックス長を分離して確認できる

ipv6 address設定が
IPv6処理を有効にすると判断できる

明示的リンクローカル設定を識別できる

`link-local`キーワードの役割を判断できる

明示的リンクローカルと
自動リンクローカルを区別できる

ipv6 enableの役割を判断できる

ipv6 enable単独では
指定したグローバルユニキャストアドレスを設定しないと判断できる

ipv6 addressがあれば
ipv6 enable行がなくても
IPv6処理が有効になり得ると判断できる

グローバルアドレス設定時も
自動リンクローカルが用意され得ると判断できる

1つのインターフェースに複数のグローバルIPv6アドレスを
設定できると判断できる

複数リンクローカルを前提にしない

設定済みアドレスの有無と
実稼働アドレスの有無を区別できる

設定済みアドレス種別と
期待用途を比較できる

期待する設定との差分を
具体的な確認結果として示せる

必要があります。

まとめ

Cisco IOSインターフェースへIPv6アドレスを明示設定する基本形は、

ipv6 address <ipv6-address>/<prefix-length>

です。

例えば、

interface GigabitEthernet0/0
 ipv6 address 2001:db8:10:20::1/64

なら、

設定済みアドレス
2001:db8:10:20::1

設定済みプレフィックス
/64

です。

ipv6 addressによる設定は、そのインターフェースのIPv6処理も有効にします。

したがって、

ipv6 enable行がない
=
IPv6処理が無効

とは判断しません。

リンクローカルアドレスは、

ipv6 address fe80::10 link-local

のように明示設定できます。

明示設定がなければ、IPv6処理の有効化に伴って自動リンクローカルアドレスが生成され得ます。

一方、

ipv6 enable

は、

IPv6処理を有効化
+
自動リンクローカル

を行いますが、

特定のグローバルIPv6アドレスを
明示設定するコマンド

ではありません。

また、1つのインターフェースには複数のグローバルIPv6アドレスを設定できます。

そのため、

ipv6 address行が複数
=
直ちに誤設定

ではありません。

ただし複数のリンクローカルアドレスを持つ前提には立ちません。

トラブルシューティングでは、

期待値
↓
実際の設定
↓
設定済みアドレス
↓
プレフィックス
↓
明示/自動リンクローカル
↓
ipv6 enable
↓
複数アドレス
↓
アドレス種別
↓
設定上の確認結果

の順に確認します。

そして、

設定上明示されていること

と、

実際にインターフェースで動作しているアドレス

を分離します。

動作状態の確認はページ025で扱います。

次のページ023では、ページ022で扱わなかった、

ipv6 address <prefix>/64 eui-64

と48ビットMACアドレスからModified EUI-64インターフェース識別子を生成する方法を扱います。

理解確認

このページの内容を12問で確認します。

理解確認12問へ →