試験項目 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問へ →