「2021-09-19 DHCPv6-PD 機能検証」の版間の差分
編集の要約なし |
編集の要約なし |
||
1行目: | 1行目: | ||
== 目的 == | == 目的 == | ||
初心者向けに DHCPv6-PD と IPv6 | 初心者向けに DHCPv6-PD と IPv6 の基礎を学習するための、検証の基本情報を提供します。 | ||
無料で入手できるソフトウェアを使用し、金銭の負担を減らします。 | |||
== DHCPv6-PD のメリット == | == DHCPv6-PD のメリット == | ||
IPv6 で増大するグローバル ユニキャストアドレスを、DHCPv6-PD | IPv6 で増大するグローバル ユニキャストアドレスを、DHCPv6-PD ルートに集約できます。 | ||
以下に直接接続した場合と、DHCPv6-PD クライアント経由で接続した例を記載します。 | |||
[[ファイル:20210919 DHCPv6-PD Diagram L3SW | [[ファイル:20210919 DHCPv6-PD Diagram L3SW direct connect.png|代替文=L3SW 直接接続|なし|フレーム|例1. L3SW 直接接続]] | ||
* L3SW | * L3SW で PC やサーバ、IP 電話などを直接収容するケースです | ||
* | * PC 1 台はグローバル ユニキャストアドレスとリンクローカルアドレスを持つため、IPv6 ND エントリを最低 2 つ消費します | ||
** 実際には IPv6 一時使用アドレスも存在するため、2 つでは済みません | |||
* 上記の例では 4 台存在するため、最低 8 エントリを消費します | |||
[[ファイル:20210919 DHCPv6-PD Diagram L3SW PD-CL connect.png|代替文=PD クライアントによるルート集約|なし|サムネイル|例2. PD クライアントによるルート集約]] | |||
ただし、実運用としては PD クライアントにも /64 でグローバル | * L3SW は PD クライアントに集約ルートを割り当てれば良いため、PD ルート + PD クライアントのリンクローカルアドレスの 2 つのエントリで済みます | ||
* PC などの数が増えても、L3SW のリソースには影響しません | |||
ただし、実運用としては PD クライアントにも /64 でグローバル ユニキャストを持たせたほうが運用しやすいケースも考えられます。 | |||
{| class="wikitable" | {| class="wikitable" | ||
|+表1. IPv6 ND エントリ数の増加率 | |+表1. IPv6 ND エントリ数の増加率 | ||
46行目: | 48行目: | ||
L3SW の例として Catalyst 9300 の '''IPv4 ARP エントリは 32,000''' ですが、'''IPv6 ND の場合は半分の 16,000''' となります。 | L3SW の例として Catalyst 9300 の '''IPv4 ARP エントリは 32,000''' ですが、'''IPv6 ND の場合は半分の 16,000''' となります。 | ||
机上では 1 台につきグローバル ユニキャスト + リンクローカルで 2 つエントリを消費するため、 | 机上では 1 台につきグローバル ユニキャスト + リンクローカルで 2 つエントリを消費するため、'''Catalyst 9300 1 台あたり 8,000 台が最大収容数'''と考えられ、IPv4 よりもかなり見劣りします。 | ||
== 検証環境 == | |||
ESXi7.0 | |||
EVE-NG Community Edition | EVE-NG Community Edition | ||
Cisco CSR1000V 16.12.04a | Cisco CSR1000V 16.12.04a | ||
* EVE-NG のテンプレートにある CPU 1 コアだと起動が遅かったため、2 コアに変更 | |||
いずれも無料で提供されているソフトウェアです。 | |||
== 構成図 == | == 構成図 == | ||
以下の機器をすべて CSR1000V で構築します。 | |||
* DHCPv6 サーバ : DHCPv6-SV | |||
* Core ルータ : Core | |||
* Distribution ルータ : Dist | |||
* DHCPv6-PD クライアント : PD-CL | |||
* SLAAC クライアント : SLAAC | |||
[[ファイル:20210919 DHCPv6-PD Diagram.png|代替文=Diagram|なし|フレーム|Diagram]] | [[ファイル:20210919 DHCPv6-PD Diagram.png|代替文=Diagram|なし|フレーム|Diagram]] | ||
== IPv6 アドレッシング表 == | == IPv6 アドレッシング表 == | ||
検証に使用するための IPv6 アドレスを、文書用例示アドレスの 2001:DB8::/32 から、サブネット分割して各ホストへ割り当てます。 | |||
{| class="wikitable" | {| class="wikitable" | ||
|+表2. IPv6 アドレッシング表 | |+表2. IPv6 アドレッシング表 | ||
181行目: | 197行目: | ||
== プロトコル別コンフィギュレーション == | == プロトコル別コンフィギュレーション == | ||
ここではプロトコル・ホスト別にコンフィギュレーションを簡単に解説します。 | |||
=== DHCPv6 サーバ === | === DHCPv6 サーバ === | ||
203行目: | 220行目: | ||
</syntaxhighlight>ipv6 dhcp pool | </syntaxhighlight>ipv6 dhcp pool | ||
* | * 払い出すプール全体を設定 | ||
prefix-delegation pool | prefix-delegation pool | ||
213行目: | 230行目: | ||
* 払い出し先の問い合わせ元アドレス | * 払い出し先の問い合わせ元アドレス | ||
* 通常は DHCPv6 | * 通常は DHCPv6 リレーエージェントの送信元を指定 | ||
dns-server | dns-server | ||
221行目: | 238行目: | ||
domain-name | domain-name | ||
* | * 払い出すドメイン名 | ||
ipv6 local pool | ipv6 local pool | ||
229行目: | 246行目: | ||
=== IPv6 スタティックルーティング === | === IPv6 スタティックルーティング === | ||
[[ファイル:20210919 DHCPv6-PD Diagram 01-Static Routing.png|代替文=IPv6_Static_Routing|なし|フレーム|IPv6_Static_Routing]] | [[ファイル:20210919 DHCPv6-PD Diagram 01-Static Routing.png|代替文=IPv6_Static_Routing|なし|フレーム|IPv6_Static_Routing]] | ||
==== DHCPv6-SV ==== | |||
<syntaxhighlight lang="diff"> | <syntaxhighlight lang="diff"> | ||
DHCPv6-SV#show run | s ipv6 uni|ipv6 route|Gi.*4 | DHCPv6-SV#show run | s ipv6 uni|ipv6 route|Gi.*4 | ||
243行目: | 262行目: | ||
</syntaxhighlight>ipv6 route | </syntaxhighlight>ipv6 route | ||
* DHCPv6-SV は Core | * DHCPv6-SV は Core 宛デフォルトルートを設定 | ||
ipv6 address | |||
* DNS サーバは DHCPv6 リレーエージェントで指定されるため、固定 IPv6 アドレスを使用する | |||
==== Core ==== | |||
<syntaxhighlight lang="diff"> | <syntaxhighlight lang="diff"> | ||
Core#show run | s ipv6 uni|Gi.*3 | Core#show run | s ipv6 uni|Gi.*3 | ||
261行目: | 283行目: | ||
* Core は DHCPv6-SV を収容する、ゲートウェイ用インターフェースを設定する | * Core は DHCPv6-SV を収容する、ゲートウェイ用インターフェースを設定する | ||
* IPv6 では通常 link-local アドレスをルーティングのネクストホップとして指定する | * IPv6 では通常 link-local アドレスをルーティングのネクストホップとして指定する | ||
ipv6 nd ra suppress all | |||
* IPv6 ND ルータ アドバタイズメントを抑制する | |||
* all オプションを付けることで、RS の問い合わせにも応答しなくなる | |||
ipv6 ospf 1 area 0.0.0.0 | ipv6 ospf 1 area 0.0.0.0 | ||
270行目: | 297行目: | ||
==== 隣接関係 ==== | ==== 隣接関係 ==== | ||
[[ファイル:20210919_DHCPv6-PD_Diagram_02-01-OSPFv3_Neighbor.png|代替文=OSPFv3 Neighbor|なし|フレーム|OSPFv3 Neighbor]] | [[ファイル:20210919_DHCPv6-PD_Diagram_02-01-OSPFv3_Neighbor.png|代替文=OSPFv3 Neighbor|なし|フレーム|OSPFv3 Neighbor]] | ||
==== Core ==== | |||
<syntaxhighlight lang="diff"> | <syntaxhighlight lang="diff"> | ||
Core#show run | s Gi.*1|ipv6 uni|ipv6 router|Lo.*0 | Core#show run | s Gi.*1|ipv6 uni|ipv6 router|Lo.*0 | ||
297行目: | 326行目: | ||
* Gi3 の DHCPv6-SV とは隣接関係を確立しないために、OSPFv3 で passive-interface default を設定する | * Gi3 の DHCPv6-SV とは隣接関係を確立しないために、OSPFv3 で passive-interface default を設定する | ||
==== Dist ==== | |||
<syntaxhighlight lang="diff"> | <syntaxhighlight lang="diff"> | ||
Dist#show run | s Gi.*4|ipv6 uni|ipv6 router|Lo.*0 | Dist#show run | s Gi.*4|ipv6 uni|ipv6 router|Lo.*0 | ||
327行目: | 357行目: | ||
==== ルート集約 ==== | ==== ルート集約 ==== | ||
===== Dist ===== | |||
<syntaxhighlight lang="diff"> | <syntaxhighlight lang="diff"> | ||
Dist#show run | s Gi.*1|ipv6 uni|ipv6 router|Lo.*0 | Dist#show run | s Gi.*1|ipv6 uni|ipv6 router|Lo.*0 | ||
460行目: | 492行目: | ||
* default オプションを付けるとデフォルトルートとして使用する | * default オプションを付けるとデフォルトルートとして使用する | ||
== show | ==== SLAAC のバッドプラクティス ==== | ||
RA に M フラグの存在しない PD-CL に対し、ipv6 address dhcp を設定しないこと | |||
== show コマンドによる動作確認 == | |||
=== DHCPv6-SV === | === DHCPv6-SV === | ||
514行目: | 550行目: | ||
/48 DHCPv6-PD 集約ルート | /48 DHCPv6-PD 集約ルート | ||
602行目: | 639行目: | ||
ドメイン名が DHCPv6 サーバで設定したものと同一であること | ドメイン名が DHCPv6 サーバで設定したものと同一であること | ||
===== show ipv6 interface GigabitEthernet 1 prefix ===== | |||
<syntaxhighlight lang="diff"> | |||
PD-CL#show ipv6 interface GigabitEthernet 1 prefix | |||
IPv6 Prefix Advertisements GigabitEthernet1 | |||
Codes for 1st column: | |||
A - Address, P - Prefix-Advertisement, O - Pool | |||
U - Per-user prefix | |||
Codes for 2nd column and above: | |||
D - Default | |||
N - Not advertised, C - Calendar | |||
PD default [LA] Valid lifetime 2592000, preferred lifetime 604800 | |||
A 2001:DB8:CAFE::/64 [LA] Valid lifetime 2592000, preferred lifetime 604800 | |||
</syntaxhighlight> | |||
==== DHCPv6 サーバ ==== | ==== DHCPv6 サーバ ==== | ||
633行目: | 685行目: | ||
=== SLAAC === | === SLAAC === | ||
==== show ipv6 route ==== | |||
<syntaxhighlight lang="diff"> | |||
SLAAC#show ipv6 route | |||
IPv6 Routing Table - default - 4 entries | |||
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route | |||
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1 | |||
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP | |||
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination | |||
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter | |||
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1 | |||
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations | |||
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy | |||
lp - LISP publications, a - Application, m - OMP | |||
ND ::/0 [2/0] | |||
via FE80::5200:FF:FE04:0, GigabitEthernet4 | |||
NDp 2001:DB8:CAFE::/64 [2/0] | |||
via GigabitEthernet4, directly connected | |||
L 2001:DB8:CAFE:0:5200:FF:FE05:3/128 [0/0] | |||
via GigabitEthernet4, receive | |||
L FF00::/8 [0/0] | |||
via Null0, receive | |||
</syntaxhighlight> | |||
==== show ip name-servers ==== | |||
<syntaxhighlight lang="diff"> | |||
SLAAC#show ip name-servers | |||
2001:4860:4860::8888 | |||
</syntaxhighlight> | |||
== 疎通確認 == | == 疎通確認 == |
2021年9月19日 (日) 11:24時点における版
目的
初心者向けに DHCPv6-PD と IPv6 の基礎を学習するための、検証の基本情報を提供します。
無料で入手できるソフトウェアを使用し、金銭の負担を減らします。
DHCPv6-PD のメリット
IPv6 で増大するグローバル ユニキャストアドレスを、DHCPv6-PD ルートに集約できます。
以下に直接接続した場合と、DHCPv6-PD クライアント経由で接続した例を記載します。
- L3SW で PC やサーバ、IP 電話などを直接収容するケースです
- PC 1 台はグローバル ユニキャストアドレスとリンクローカルアドレスを持つため、IPv6 ND エントリを最低 2 つ消費します
- 実際には IPv6 一時使用アドレスも存在するため、2 つでは済みません
- 上記の例では 4 台存在するため、最低 8 エントリを消費します
- L3SW は PD クライアントに集約ルートを割り当てれば良いため、PD ルート + PD クライアントのリンクローカルアドレスの 2 つのエントリで済みます
- PC などの数が増えても、L3SW のリソースには影響しません
ただし、実運用としては PD クライアントにも /64 でグローバル ユニキャストを持たせたほうが運用しやすいケースも考えられます。
台数 | ||||
---|---|---|---|---|
2 | 4 | 8 | 16 | |
L3SW 直接収容 | 4 | 8 | 16 | 32 |
DHCPv6-PD クライアント経由 | 1 | 1 | 1 | 1 |
L3SW の例として Catalyst 9300 の IPv4 ARP エントリは 32,000 ですが、IPv6 ND の場合は半分の 16,000 となります。
机上では 1 台につきグローバル ユニキャスト + リンクローカルで 2 つエントリを消費するため、Catalyst 9300 1 台あたり 8,000 台が最大収容数と考えられ、IPv4 よりもかなり見劣りします。
検証環境
ESXi7.0
EVE-NG Community Edition
Cisco CSR1000V 16.12.04a
- EVE-NG のテンプレートにある CPU 1 コアだと起動が遅かったため、2 コアに変更
いずれも無料で提供されているソフトウェアです。
構成図
以下の機器をすべて CSR1000V で構築します。
- DHCPv6 サーバ : DHCPv6-SV
- Core ルータ : Core
- Distribution ルータ : Dist
- DHCPv6-PD クライアント : PD-CL
- SLAAC クライアント : SLAAC
IPv6 アドレッシング表
検証に使用するための IPv6 アドレスを、文書用例示アドレスの 2001:DB8::/32 から、サブネット分割して各ホストへ割り当てます。
文書用例示アドレス 2001:DB8::/32 | ||||
---|---|---|---|---|
サブネット | 2001:DB8:CAFE::/48
DHCPv6-PD 払い出しプール |
2001:DB8:AE86::/48
機器間収容セグメント |
2001:DB8:FD7::/48
DHCPv6-PD 払い出し用 送信元セグメント | |
サブネット | ::/56
/48 プールから分割して /56 払い出し |
::100:/64
DHCPv6 サーバ 収容 セグメント |
::200:/64
OSPFv3 P2P リンク |
::/64
Dist 用 |
DHCPv6-SV | /48 DHCPv6-PD
Pool を持ち、 /56 で払い出し |
::128 | - | ::1/64 から払い出し依頼があれば、2001:DB8::CAFE::/48 プールから
/56 を払い出す |
Core | - | ::1
GW |
::1
OSPFv3 |
- |
Dist | /48 OSPF Null0 宛
集約ルート PD-CL 宛 /56 サブネットの スタティックルートを持つ |
- | ::2
OSPFv3 |
::1/64
DHCPv6-PD が払い出す基準となる、 リンクアドレス |
PD-CL | /56 を PD ルートとして持つ
SLAAC-CL へ /64 サブネットを提供 |
- | - | - |
SLAAC-CL | PC のステートレス DHCPv6 を模擬 | - | - | - |
ホストリスト・役割
DHCPv6-SV
- DHCPv6 サーバを動作させ、PD クライアントである PD-CL にプレフィックスを払い出す
Core
サーバ収容
- DHCPv6 サーバを収容する
インターネット模擬
- インターネット模擬となる、宛先 IP アドレスを Loopback アドレスとして持つ
ダウンリンク
- OSPFv3 で Dist とルーティングを行う
Dist
アップリンク
- OSPFv3 で Core とルーティングを行う
ダウンリンク
- PD-CL の DHCPv6 Router Solicitation に対して、リレーエージェントで DHCPv6 サーバに転送する
PD-CL
アップリンク
- Dist に Router Solicitation で PD ルートを要求する
ダウンリンク
- Dist から受信した /56 PD ルートを、/64 にサブネット分割して GW を提供する
SLAAC
- /64 サブネット分割されたグローバル ユニキャストアドレスと、PD-CL 宛デフォルトルートを持つ
プロトコル別コンフィギュレーション
ここではプロトコル・ホスト別にコンフィギュレーションを簡単に解説します。
DHCPv6 サーバ
DHCPv6-SV#show run | s ipv6 uni|ipv6 dhcp|Gi.*4|ipv6 local
ipv6 unicast-routing
ipv6 dhcp pool DHCPv6-PD01
prefix-delegation pool PD-POOL01
link-address 2001:DB8:FD7::1/64
dns-server 2001:4860:4860::8888
domain-name example.com
interface GigabitEthernet4
no ip address
negotiation auto
ipv6 address 2001:DB8:AE86:100::128/64
ipv6 nd ra suppress all
ipv6 dhcp server
no mop enabled
no mop sysid
ipv6 route ::/0 GigabitEthernet4 FE80::AE86:100:1
ipv6 local pool PD-POOL01 2001:DB8:CAFE::/48 56
ipv6 dhcp pool
- 払い出すプール全体を設定
prefix-delegation pool
- 払い出すプレフィックスを呼び出す
ink-address
- 払い出し先の問い合わせ元アドレス
- 通常は DHCPv6 リレーエージェントの送信元を指定
dns-server
- 払い出す DNS サーバのアドレス
domain-name
- 払い出すドメイン名
ipv6 local pool
- 払い出すプールを IOS 内部で持たせる
IPv6 スタティックルーティング
DHCPv6-SV
DHCPv6-SV#show run | s ipv6 uni|ipv6 route|Gi.*4
ipv6 unicast-routing
interface GigabitEthernet4
no ip address
negotiation auto
ipv6 address 2001:DB8:AE86:100::128/64
ipv6 nd ra suppress all
ipv6 dhcp server
no mop enabled
no mop sysid
ipv6 route ::/0 GigabitEthernet4 FE80::AE86:100:1
ipv6 route
- DHCPv6-SV は Core 宛デフォルトルートを設定
ipv6 address
- DNS サーバは DHCPv6 リレーエージェントで指定されるため、固定 IPv6 アドレスを使用する
Core
Core#show run | s ipv6 uni|Gi.*3
ipv6 unicast-routing
interface GigabitEthernet3
no ip address
negotiation auto
ipv6 address FE80::AE86:100:1 link-local
ipv6 address 2001:DB8:AE86:100::1/64
ipv6 nd ra suppress all
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
ipv6 address <address> link-local
- Core は DHCPv6-SV を収容する、ゲートウェイ用インターフェースを設定する
- IPv6 では通常 link-local アドレスをルーティングのネクストホップとして指定する
ipv6 nd ra suppress all
- IPv6 ND ルータ アドバタイズメントを抑制する
- all オプションを付けることで、RS の問い合わせにも応答しなくなる
ipv6 ospf 1 area 0.0.0.0
- OSPFv3 にルートを広報するため、エリアを設定する
OSPFv3
隣接関係
Core
Core#show run | s Gi.*1|ipv6 uni|ipv6 router|Lo.*0
ipv6 unicast-routing
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ipv6 enable
ipv6 ospf 1 area 0.0.0.0
interface GigabitEthernet1
no ip address
negotiation auto
ipv6 address FE80::AE86:200:1 link-local
ipv6 address 2001:DB8:AE86:200::1/64
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
ipv6 router ospf 1
router-id 1.1.1.1
passive-interface default
no passive-interface GigabitEthernet1
ipv6 ospf 1 area 0.0.0.0 / no passive-interface GigabitEthernet1
- Core は Gi1 で Dist と接続、OSPFv3 隣接関係を確立する
passive-interface default
- Gi3 の DHCPv6-SV とは隣接関係を確立しないために、OSPFv3 で passive-interface default を設定する
Dist
Dist#show run | s Gi.*4|ipv6 uni|ipv6 router|Lo.*0
ipv6 unicast-routing
interface Loopback0
ip address 1.1.1.11 255.255.255.255
ipv6 enable
ipv6 ospf 1 area 0.0.0.0
interface GigabitEthernet4
no ip address
negotiation auto
ipv6 address FE80::AE86:200:2 link-local
ipv6 address 2001:DB8:AE86:200::2/64
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
ipv6 router ospf 1
summary-prefix 2001:DB8:CAFE::/48
router-id 1.1.1.11
passive-interface default
no passive-interface GigabitEthernet4
redistribute static
ipv6 ospf 1 area 0.0.0.0 / no passive-interface GigabitEthernet4
- Dist は Gi4 で Core と接続、OSPFv3 隣接関係を確立する
passive-interface default
- Gi1 の PD-CL と隣接関係を確立しないために、OSPFv3 で passive-interface default を設定する
ルート集約
Dist
Dist#show run | s Gi.*1|ipv6 uni|ipv6 router|Lo.*0
ipv6 unicast-routing
interface Loopback0
ip address 1.1.1.11 255.255.255.255
ipv6 enable
ipv6 ospf 1 area 0.0.0.0
interface GigabitEthernet1
no ip address
negotiation auto
ipv6 address FE80:DB8:FD7::1 link-local
ipv6 address 2001:DB8:FD7::1/64
ipv6 enable
ipv6 nd prefix default no-advertise
ipv6 nd managed-config-flag
ipv6 nd other-config-flag
ipv6 dhcp relay destination 2001:DB8:AE86:100::128
ipv6 dhcp relay source-interface GigabitEthernet1
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
ipv6 router ospf 1
summary-prefix 2001:DB8:CAFE::/48
router-id 1.1.1.11
passive-interface default
no passive-interface GigabitEthernet4
redistribute static
summary-prefix
- Dist は Core に OSPFv3 ルートを広報する際、/56 ルートを集約して、/48 で広報する
DHCPv6-PD リレーエージェント
Dist#show run int gi1
Building configuration...
Current configuration : 406 bytes
!
interface GigabitEthernet1
no ip address
negotiation auto
ipv6 address FE80:DB8:FD7::1 link-local
ipv6 address 2001:DB8:FD7::1/64
ipv6 enable
ipv6 nd prefix default no-advertise
ipv6 nd managed-config-flag
ipv6 nd other-config-flag
ipv6 dhcp relay destination 2001:DB8:AE86:100::128
ipv6 dhcp relay source-interface GigabitEthernet1
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
end
ipv6 address 2001:DB8:FD7::1/64
- DHCPv6 で link-address に使用する
- DHCPv6-SV で該当する link-address の Pool からプレフィックスが払い出される
ipv6 nd managed-config-flag
- ipv6 のアドレス割当を Dist の ND RA (Neighbor Discovery Router Advertisement) から、DHCPv6 サーバへ変更する
ipv6 nd other-config-flag
- DNS サーバの情報を DHCPv6 サーバに問い合わせる
ipv6 dhcp relay destination
- DHCPv6-SV のグローバル ユニキャスト アドレスを指定する
ipv6 dhcp relay source-interface
- DHCPv6-SV にリレーする際の送信元アドレスのインターフェースを指定する
DHCPv6-PD クライアント
PD-CL#show run | s ipv6 uni|Gi.*4
ipv6 unicast-routing
interface GigabitEthernet4
no ip address
negotiation auto
ipv6 address autoconfig default
ipv6 nd ra suppress all
ipv6 dhcp client pd PD-PREFIX
no mop enabled
no mop sysid
ipv6 address autoconfig default
- ipv6 アドレス自動設定する
- default オプションを付けるとデフォルトルートとして使用する
ipv6 dhcp client pd PD-PREFIX
- DHCPv6 PD クライアントとして設定
- PD-PREFIX という名前で、サブネット分割する際の集約プレフィックスを登録する
DHCPv6-PD SLAAC ゲートウェイ
PD-CL#show run | s ipv6 uni|ipv6 dhcp pool|Gi.*1
ipv6 unicast-routing
ipv6 dhcp pool SLAAC
import dns-server
import domain-name
interface GigabitEthernet1
no ip address
negotiation auto
ipv6 address PD-PREFIX ::1/64
ipv6 nd other-config-flag
ipv6 dhcp server SLAAC
no mop enabled
no mop sysid
ipv6 dhcp pool
- DHCPv6-PD で受信した DNS サーバとドメイン名を SLAAC プールで使用する
ipv6 address PD-PREFIX ::1/64
- Gi1 で /56 集約ルートである PD-PREFIX から /64 にサブネット分割し、::1/64 アドレスを割り当てる
SLAAC クライアント
SLAAC#show run | s ipv6 uni|Gi.*4
ipv6 unicast-routing
interface GigabitEthernet4
no ip address
negotiation auto
ipv6 address autoconfig default
no mop enabled
no mop sysid
ipv6 address autoconfig default
- ipv6 アドレス自動設定する
- default オプションを付けるとデフォルトルートとして使用する
SLAAC のバッドプラクティス
RA に M フラグの存在しない PD-CL に対し、ipv6 address dhcp を設定しないこと
show コマンドによる動作確認
DHCPv6-SV
show ipv6 dhcp binding
DHCPv6-SV#show ipv6 dhcp binding
Client: FE80::5200:FF:FE04:3
DUID: 00030001001E14D9FB00
Username : unassigned
VRF : default
Interface : relayed
IA PD: IA ID 0x000A0001, T1 302400, T2 483840
Prefix: 2001:DB8:CAFE::/56
preferred lifetime 604800, valid lifetime 2592000
expires at Oct 19 2021 12:07 AM (2587060 seconds)
/56 がバインディングテーブルに存在すること
show ipv6 dhcp pool
DHCPv6-SV#show ipv6 dhcp pool
DHCPv6 pool: DHCPv6-PD01
Prefix pool: PD-POOL01
Link-address prefix: 2001:DB8:FD7::1/64
preferred lifetime 604800, valid lifetime 2592000
DNS server: 2001:4860:4860::8888
Domain name: example.com
Active clients: 1
link-address が PD ルートを払い出す Dist のインターフェースアドレスと一致していること
Core
show ipv6 route
Core#show ipv6 route ospf
IPv6 Routing Table - default - 7 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy
lp - LISP publications, a - Application, m - OMP
O 2001:DB8:FD7::/64 [110/2]
via FE80::AE86:200:2, GigabitEthernet1
OE2 2001:DB8:CAFE::/48 [110/20]
via FE80::AE86:200:2, GigabitEthernet1
dist から以下のルートを OSPFv3 で学習していること
/64 link-address
/48 DHCPv6-PD 集約ルート
/56 の DHCPv6-PD サブネットルートを受信している場合、Dist で集約ルートに失敗している
Dist
OSPFv3
show ipv6 ospf summary-prefix
Dist#show ipv6 ospf summary-prefix
OSPFv3 Router with ID (1.1.1.11) (Process ID 1)
2001:DB8:CAFE::/48 Metric 20, External metric type 2, Tag 0
/56 スタティックルートが、集約して /48 で再配布されていること
DHCPv6-PD リレーエージェント
show ipv6 dhcp relay binding
Dist#show ipv6 dhcp relay binding
Relay Bindings associated with default vrf:
Prefix: 2001:DB8:CAFE::/56 (GigabitEthernet1)
DUID: 00030001001E14D9FB00
IAID: 655361
lifetime: 2592000
expiration: 01:34:35 UTC Oct 19 2021
Summary:
Total number of Relay bindings = 1
Total number of IAPD bindings = 1
Total number of IANA bindings = 0
Total number of Relay bindings added by Bulk lease = 0
IPv6 スタティックルーティング
show ipv6 route static
Dist#show ipv6 route static
IPv6 Routing Table - default - 8 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy
lp - LISP publications, a - Application, m - OMP
S 2001:DB8:CAFE::/56 [1/0]
via FE80::5200:FF:FE04:3, GigabitEthernet1
PD クライアント宛 /56 スタティックルートが登録されていること
PD-CL
DHCPv6-PD クライアント
show ipv6 dhcp interface GigabitEthernet 4
GigabitEthernet4 is in client mode
Prefix State is OPEN (1)
Information refresh timer expires in 23:42:19
Renew will be sent in 3d11h
Address State is IDLE
List of known servers:
Reachable via address: FE80:DB8:FD7::1
DUID: 00030001001E14471B00
Preference: 0
Configuration parameters:
IA PD: IA ID 0x000A0001, T1 302400, T2 483840
Prefix: 2001:DB8:CAFE::/56
preferred lifetime 604800, valid lifetime 2592000
expires at Oct 19 2021 01:34 AM (2590940 seconds)
DNS server: 2001:4860:4860::8888
Domain name: example.com
Information refresh time: 0
Prefix name: PD-PREFIX
Prefix Rapid-Commit: disabled
Address Rapid-Commit: disabled
/56 プレフィックスを受信していること
下位にサブネット分割するための、プレフィックス名があること
DNS サーバアドレスが DHCPv6 サーバで設定したものと同一であること
ドメイン名が DHCPv6 サーバで設定したものと同一であること
show ipv6 interface GigabitEthernet 1 prefix
PD-CL#show ipv6 interface GigabitEthernet 1 prefix
IPv6 Prefix Advertisements GigabitEthernet1
Codes for 1st column:
A - Address, P - Prefix-Advertisement, O - Pool
U - Per-user prefix
Codes for 2nd column and above:
D - Default
N - Not advertised, C - Calendar
PD default [LA] Valid lifetime 2592000, preferred lifetime 604800
A 2001:DB8:CAFE::/64 [LA] Valid lifetime 2592000, preferred lifetime 604800
DHCPv6 サーバ
show ipv6 dhcp interface GigabitEthernet 1
PD-CL#show ipv6 dhcp interface GigabitEthernet 1
GigabitEthernet1 is in server mode
Using pool: SLAAC
Preference value: 0
Hint from client: ignored
Rapid-Commit: disabled
Gi1 に pool 名を指定した場合、pool 名が出力されます
Automatic で Pool 名を指定しない場合もあります
show ipv6 dhcp pool
PD-CL#show ipv6 dhcp pool
DHCPv6 pool: SLAAC
Imported DNS server: 2001:4860:4860::8888
Imported Domain name: example.com
Active clients: 0
Pool に DHCPv6 サーバから受信した
- DNS サーバ
- ドメイン名
が設定されていること
SLAAC
show ipv6 route
SLAAC#show ipv6 route
IPv6 Routing Table - default - 4 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external, ND - ND Default, NDp - ND Prefix, DCE - Destination
NDr - Redirect, RL - RPL, O - OSPF Intra, OI - OSPF Inter
OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, lA - LISP away, le - LISP extranet-policy
lp - LISP publications, a - Application, m - OMP
ND ::/0 [2/0]
via FE80::5200:FF:FE04:0, GigabitEthernet4
NDp 2001:DB8:CAFE::/64 [2/0]
via GigabitEthernet4, directly connected
L 2001:DB8:CAFE:0:5200:FF:FE05:3/128 [0/0]
via GigabitEthernet4, receive
L FF00::/8 [0/0]
via Null0, receive
show ip name-servers
SLAAC#show ip name-servers
2001:4860:4860::8888
疎通確認
パケットキャプチャ
DHCPv6-SV
Relay
PD-CL
SLAAC
リファレンス
Cisco機器を用いた DHCP によるIPアドレス自動取得動作の確認と解説 (DHCPv6-PD)
CSR1000V IPv6 Access Services: DHCPv6 Prefix Delegation
DHCPv6 using the Prefix Delegation Feature Configuration Example