「2021-09-19 DHCPv6-PD 機能検証」の版間の差分
編集の要約なし |
|||
(同じ利用者による、間の15版が非表示) | |||
58行目: | 58行目: | ||
== DHCPv6-PD のデメリット == | == DHCPv6-PD のデメリット == | ||
* FTTH を想定した場合、ブロードバンドルータの対応機種が限られます | |||
* ARP / IPv6 ND よりも静的よりのプロトコルとなるため、冗長構成はよく検討する必要があります | |||
* IPv6 リナンバリングはまだまだノウハウがありません 移行設計はよく検討する必要があります | |||
== 検証環境 == | == 検証環境 == | ||
いずれも無料で提供されているソフトウェアです。 | |||
'''ESXi7.0 無償評価版''' | '''ESXi7.0 無償評価版''' | ||
* VMware Workstaion でも可能ですが、CPU | * VMware Workstaion でも可能ですが、CPU とメモリの要件が厳しいため、少なくとも 2021 年のノート PC では厳しいでしょう | ||
* hkatou Lab では Supermicro のコンパクトサーバ、E300-9a Atom C3858 12 Core 12 Thread + 64GB メモリを使用しています | * hkatou Lab では Supermicro のコンパクトサーバ、E300-9a Atom C3858 12 Core 12 Thread + 64GB メモリを使用しています | ||
'''EVE-NG Community Edition''' | '''EVE-NG Community Edition''' | ||
* 8 vCPU / 30GB のメモリを割り当てました<br /> | |||
78行目: | 85行目: | ||
** 1 vCPU x 5 台 = '''5 vCPU''' | ** 1 vCPU x 5 台 = '''5 vCPU''' | ||
** 4GB メモリ x 5 台 = '''20GB''' | ** 4GB メモリ x 5 台 = '''20GB''' | ||
*** IOS-XE 上では 1.8GB ほどフリーに見えるため、2.5GB / VM 程度の割当でもいけそうです | *** IOS-XE 上では 1.8GB ほどフリーに見えるため、2.5GB / VM = '''12.5GB''' 程度の割当でもいけそうです | ||
== 構成図 == | == 構成図 == | ||
191行目: | 196行目: | ||
| - | | - | ||
|} | |} | ||
<span></span><ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-1930311742297749" data-ad-slot="5409634032"></ins><span></span><span></span> | |||
== ホストリスト・役割 == | == ホストリスト・役割 == | ||
219行目: | 226行目: | ||
* PD-CL の DHCPv6 Router Solicitation に対して、リレーエージェントで DHCPv6 サーバに転送します | * PD-CL の DHCPv6 Router Solicitation に対して、リレーエージェントで DHCPv6 サーバに転送します | ||
* | * リレーエージェントが動作すると、対応するスタティックルートがインジェクション (挿入) されます | ||
=== PD-CL === | === PD-CL === | ||
242行目: | 249行目: | ||
=== DHCPv6 サーバ === | === DHCPv6 サーバ === | ||
==== DHCPv6-SV ==== | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+DHCPv6-SV コンフィグ | |+DHCPv6-SV コンフィグ | ||
249行目: | 258行目: | ||
|- | |- | ||
|DHCPv6 サーバ | |DHCPv6 サーバ | ||
| | | | ||
ipv6 unicast-routing | DHCPv6-SV#show run | s ipv6 uni|ipv6 dhcp|Gi.*4|ipv6 local | ||
ipv6 unicast-routing | |||
ipv6 dhcp pool DHCPv6-PD01 | |||
ipv6 dhcp pool DHCPv6-PD01 | |||
prefix-delegation pool PD-POOL01 | prefix-delegation pool PD-POOL01 | ||
link-address 2001:DB8:FD7::1/64 | |||
link-address 2001:DB8:FD7::1/64 | dns-server 2001:DB8:4860::8888 | ||
domain-name example.com | |||
dns-server 2001:DB8:4860::8888 | |||
interface GigabitEthernet4 | |||
domain-name example.com | no ip address | ||
negotiation auto | |||
interface GigabitEthernet4 | ipv6 address 2001:DB8:AE86:100::128/64 | ||
ipv6 nd ra suppress all | |||
no ip address | ipv6 dhcp server | ||
no mop enabled | |||
negotiation auto | no mop sysid | ||
ipv6 address 2001:DB8:AE86:100::128/64 | ipv6 route ::/0 GigabitEthernet4 FE80::AE86:100:1 | ||
ipv6 local pool PD-POOL01 2001:DB8:CAFE::/48 56 | |||
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 | |ipv6 dhcp pool | ||
* 払い出すプール全体を設定 | * 払い出すプール全体を設定 | ||
298行目: | 296行目: | ||
=== IPv6 スタティックルーティング === | === IPv6 スタティックルーティング === | ||
[[ファイル:20210919 DHCPv6-PD Diagram 01-Static Routing.png|代替文=IPv6_Static_Routing|なし|フレーム|IPv6_Static_Routing|リンク=http://hkatou.net/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:20210919_DHCPv6-PD_Diagram_01-Static_Routing.png]] | [[ファイル:20210919 DHCPv6-PD Diagram 01-Static Routing.png|代替文=IPv6_Static_Routing|なし|フレーム|IPv6_Static_Routing|リンク=http://hkatou.net/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:20210919_DHCPv6-PD_Diagram_01-Static_Routing.png]] | ||
==== DHCPv6-SV ==== | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+DHCPv6-SV コンフィグ | |+DHCPv6-SV コンフィグ | ||
305行目: | 305行目: | ||
|- | |- | ||
|IPv6 スタティックルーティング | |IPv6 スタティックルーティング | ||
| | | | ||
ipv6 unicast-routing | DHCPv6-SV#show run | s ipv6 uni|ipv6 route|Gi.*4 | ||
ipv6 unicast-routing | |||
interface GigabitEthernet4 | |||
interface GigabitEthernet4 | |||
no ip address | no ip address | ||
negotiation auto | |||
negotiation auto | ipv6 address 2001:DB8:AE86:100::128/64 | ||
ipv6 nd ra suppress all | |||
ipv6 address 2001:DB8:AE86:100::128/64 | ipv6 dhcp server | ||
no mop enabled | |||
ipv6 nd ra suppress all | no mop sysid | ||
ipv6 dhcp server | ipv6 route ::/0 GigabitEthernet4 FE80::AE86:100:1 | ||
|ipv6 route | |||
no mop enabled | |||
no mop sysid | |||
ipv6 route ::/0 GigabitEthernet4 FE80::AE86:100:1 | |||
|ipv6 route | |||
* DHCPv6-SV は Core 宛にデフォルトルートを設定 | * DHCPv6-SV は Core 宛にデフォルトルートを設定 | ||
* OS を統一するため CSR1000V で DHCPv6 サーバを実装していますが、本来はルーティングプロトコルの動作しないサーバ OS が想定されるため、スタティックルーティングとしています | * OS を統一するため CSR1000V で DHCPv6 サーバを実装していますが、本来はルーティングプロトコルの動作しないサーバ OS が想定されるため、スタティックルーティングとしています | ||
340行目: | 334行目: | ||
|- | |- | ||
|IPv6 スタティックルーティング | |IPv6 スタティックルーティング | ||
| | | | ||
ipv6 unicast-routing | Core#show run | s ipv6 uni|Gi.*3 | ||
ipv6 unicast-routing | |||
interface GigabitEthernet3 | |||
interface GigabitEthernet3 | |||
no ip address | no ip address | ||
negotiation auto | |||
negotiation auto | ipv6 address FE80::AE86:100:1 link-local | ||
ipv6 address 2001:DB8:AE86:100::1/64 | |||
ipv6 address FE80::AE86:100:1 link-local | ipv6 nd ra suppress all | ||
ipv6 ospf 1 area 0.0.0.0 | |||
ipv6 address 2001:DB8:AE86:100::1/64 | no mop enabled | ||
no mop sysid | |||
ipv6 nd ra suppress all | |||
ipv6 ospf 1 area 0.0.0.0 | |||
no mop enabled | |||
no mop sysid | |||
|ipv6 address <address> link-local | |ipv6 address <address> link-local | ||
* Core は DHCPv6-SV を収容する、ゲートウェイ用インターフェースを設定 | * Core は DHCPv6-SV を収容する、ゲートウェイ用インターフェースを設定 | ||
380行目: | 367行目: | ||
|- | |- | ||
|OSPFv3 | |OSPFv3 | ||
| | | | ||
ipv6 unicast-routing | 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 address 2001:DB8:4860::8888/128 | |||
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 | |||
|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 を設定する | * Gi3 の DHCPv6-SV とは隣接関係を確立しないために、OSPFv3 で passive-interface default を設定する | ||
|} | |} | ||
429行目: | 404行目: | ||
|- | |- | ||
|OSPFv3 | |OSPFv3 | ||
| | | | ||
ipv6 unicast-routing | 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 を設定する | |||
|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 ==== | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+Dist コンフィグ | |+Dist コンフィグ | ||
482行目: | 444行目: | ||
|OSPFv3 | |OSPFv3 | ||
ルート集約 | ルート集約 | ||
| | | | ||
ipv6 unicast-routing | Dist#show run | s Gi.*1|ipv6 uni|ipv6 router|Lo.*0 | ||
ipv6 unicast-routing | |||
interface Loopback0 | |||
interface Loopback0 | |||
ip address 1.1.1.11 255.255.255.255 | ip address 1.1.1.11 255.255.255.255 | ||
ipv6 enable | |||
ipv6 enable | ipv6 ospf 1 area 0.0.0.0 | ||
ipv6 ospf 1 area 0.0.0.0 | interface GigabitEthernet1 | ||
no ip address | |||
interface GigabitEthernet1 | negotiation auto | ||
ipv6 address FE80:DB8:FD7::1 link-local | |||
no ip address | ipv6 address 2001:DB8:FD7::1/64 | ||
ipv6 enable | |||
negotiation auto | ipv6 nd prefix default no-advertise | ||
ipv6 nd managed-config-flag | |||
ipv6 address FE80:DB8:FD7::1 link-local | ipv6 nd other-config-flag | ||
ipv6 dhcp relay destination 2001:DB8:AE86:100::128 | |||
ipv6 address 2001:DB8:FD7::1/64 | ipv6 dhcp relay source-interface GigabitEthernet1 | ||
ipv6 ospf 1 area 0.0.0.0 | |||
ipv6 enable | no mop enabled | ||
no mop sysid | |||
ipv6 nd prefix default no-advertise | |||
ipv6 router ospf 1 | |||
ipv6 nd managed-config-flag | summary-prefix 2001:DB8:CAFE::/48 | ||
router-id 1.1.1.11 | |||
ipv6 nd other-config-flag | passive-interface default | ||
no passive-interface GigabitEthernet4 | |||
ipv6 dhcp relay destination 2001:DB8:AE86:100::128 | redistribute static | ||
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 | |||
|ipv6 ospf 1 area 0.0.0.0 | |||
|ipv6 ospf 1 area 0.0.0.0 | * OSPFv3 にこのインターフェースのネットワークを広報するため、エリアを設定 | ||
* OSPFv3 にこのインターフェースのネットワークを広報するため、エリアを設定 | summary-prefix | ||
summary-prefix | * Dist は Core に OSPFv3 ルートを広報する際、/56 サブネットルートを集約して、/48 集約ルートで広報 | ||
* Dist は Core に OSPFv3 ルートを広報する際、/56 サブネットルートを集約して、/48 集約ルートで広報 | |||
redistribute static | redistribute static | ||
* PD ルートは Cisco の場合スタティックルートとして登録されるため、再配布を設定することで別の OSPFv3 ルータへルートを配布 | * PD ルートは Cisco の場合スタティックルートとして登録されるため、再配布を設定することで別の OSPFv3 ルータへルートを配布 | ||
|} | |} | ||
=== DHCPv6-PD リレーエージェント === | === DHCPv6-PD リレーエージェント === | ||
==== Dist ==== | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+Dist コンフィグ | |+Dist コンフィグ | ||
548行目: | 492行目: | ||
|DHCPv6 | |DHCPv6 | ||
リレーエージェント | リレーエージェント | ||
|Dist#show run int gi 1 | | | ||
Building configuration... | Dist#show run int gi 1 | ||
Building configuration... | |||
Current configuration : 406 bytes | Current configuration?: 406 bytes | ||
<nowiki>! | |||
<nowiki>! | interface GigabitEthernet1 | ||
no ip address | |||
interface GigabitEthernet1 | negotiation auto | ||
ipv6 address FE80:DB8:FD7::1 link-local | |||
no ip address | ipv6 address 2001:DB8:FD7::1/64 | ||
ipv6 enable | |||
negotiation auto | ipv6 nd prefix default no-advertise | ||
ipv6 nd managed-config-flag | |||
ipv6 address FE80:DB8:FD7::1 link-local | ipv6 nd other-config-flag | ||
ipv6 dhcp relay destination 2001:DB8:AE86:100::128 | |||
ipv6 address 2001:DB8:FD7::1/64 | ipv6 dhcp relay source-interface GigabitEthernet1 | ||
ipv6 ospf 1 area 0.0.0.0 | |||
ipv6 enable | no mop enabled | ||
no mop sysid | |||
ipv6 nd prefix default no-advertise | end</nowiki> | ||
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 | |ipv6 address 2001:DB8:FD7::1/64 | ||
* DHCPv6 リレーエージェント link-address に使用す | * DHCPv6 リレーエージェント link-address に使用す | ||
599行目: | 527行目: | ||
|DHCPv6-PD | |DHCPv6-PD | ||
ルートインジェクション | ルートインジェクション | ||
| | | | ||
ipv6 dhcp iapd-route-add | Dist#show run all | s ipv6 dhcp iapd-route-add | ||
ipv6 dhcp iapd-route-add | |||
|ipv6 dhcp iapd-route-add | |ipv6 dhcp iapd-route-add | ||
607行目: | 537行目: | ||
|} | |} | ||
=== DHCPv6-PD クライアント === | === DHCPv6-PD クライアント === | ||
==== PD-CL ==== | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+PD-CL コンフィグ | |+PD-CL コンフィグ | ||
615行目: | 546行目: | ||
|DHCPv6-PD | |DHCPv6-PD | ||
クライアント | クライアント | ||
| | | | ||
ipv6 unicast-routing | 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 | |||
ipv6 dhcp client request vendor | |||
no mop enabled | |||
no mop sysid | |||
|ipv6 address autoconfig default | |ipv6 address autoconfig default | ||
* ipv6 アドレスを自動設定 | * ipv6 アドレスを自動設定 | ||
643行目: | 568行目: | ||
|} | |} | ||
=== DHCPv6-PD SLAAC ゲートウェイ === | === DHCPv6-PD SLAAC ゲートウェイ === | ||
==== PD-CL ==== | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+PD-CL コンフィグ | |+PD-CL コンフィグ | ||
651行目: | 577行目: | ||
|DHCPv6-PD | |DHCPv6-PD | ||
クライアント | クライアント | ||
| | | | ||
ipv6 unicast-routing | 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 | |ipv6 dhcp pool | ||
* DHCPv6-PD で受信した DNS サーバとドメイン名を SLAAC プールで使用 | * DHCPv6-PD で受信した DNS サーバとドメイン名を SLAAC プールで使用 | ||
681行目: | 600行目: | ||
|} | |} | ||
=== IPv6 SLAAC クライアント === | === IPv6 SLAAC クライアント === | ||
==== SLAAC ==== | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+SLAAC コンフィグ | |+SLAAC コンフィグ | ||
688行目: | 608行目: | ||
|- | |- | ||
|IPv6 クライアント | |IPv6 クライアント | ||
| | | | ||
ipv6 unicast-routing | SLAAC#show run | s ipv6 uni|Gi.*4 | ||
ipv6 unicast-routing | |||
interface GigabitEthernet4 | |||
interface GigabitEthernet4 | |||
no ip address | no ip address | ||
negotiation auto | |||
negotiation auto | ipv6 address autoconfig default | ||
no mop enabled | |||
no mop sysid | |||
|ipv6 address autoconfig default | |ipv6 address autoconfig default | ||
* ipv6 アドレスを自動設定 | * ipv6 アドレスを自動設定 | ||
749行目: | 666行目: | ||
| rowspan="2" |DHCPv6 | | rowspan="2" |DHCPv6 | ||
サーバ | サーバ | ||
|DHCPv6-SV#'''show ipv6 dhcp binding''' | | | ||
Client: FE80::5200:FF:FE04:3 | 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 がバインディングテーブルに存在すること | |/56 がバインディングテーブルに存在すること | ||
|- | |- | ||
|DHCPv6-SV# | | | ||
DHCPv6 pool: DHCPv6-PD01 | 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:DB8:4860::8888 | |||
Domain name: example.com | |||
Active clients: 1 | |||
|link-address が PD ルートを払い出す Dist のインターフェースアドレスと一致していること | |link-address が PD ルートを払い出す Dist のインターフェースアドレスと一致していること | ||
|} | |} | ||
841行目: | 746行目: | ||
|- | |- | ||
| rowspan="2" |OSPFv3 | | rowspan="2" |OSPFv3 | ||
|Dist#'''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 で再配布されていること | |/56 スタティックルートが、集約して /48 で再配布されていること | ||
|- | |- | ||
|Dist#'''show ipv6 route ospf''' | | | ||
IPv6 Routing Table - default - 9 entries | Dist#'''show ipv6 route ospf''' | ||
IPv6 Routing Table - default - 9 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:4860::8888/128''' [110/1] | |||
via FE80::AE86:200:1, GigabitEthernet4 | |||
O '''2001:DB8:AE86:100::/64''' [110/2] | |||
via FE80::AE86:200:1, GigabitEthernet4 | |||
O '''2001:DB8:CAFE::/48''' [254/20] | |||
via Null0, directly connected | |||
|以下を Core から受信していること | |||
*/64 サーバ収容セグメント | |||
*/128 インターネット模擬 DNS サーバ IP | |||
以下が Null0 ルートとして登録されていること | |||
*/48 DHCPv6-PD 集約ルート | |||
/48 DHCPv6-PD 集約ルートは、以下の条件で自動登録されます。 | |||
*/56 で PD ルートを払い出し | |||
*OSPFv3 で summary-prefix を設定 | |||
これは以下の効果があります。 | |||
*OSPFv3 で集約ルートを広報することで、ルーティングテーブルの消費量を削減 | |||
*存在しない /56 ルート宛のトラフィックを受信した際、ASIC などハードウェア レベルでパケットをドロップ | |||
**Null0 が存在しない + 該当するトラフィックを受信した場合、デフォルトルートで ping/pong ルーティングによるルーティング ループが発生し、CPU 使用率が高騰します | |||
|- | |||
| rowspan="2" |DHCPv6-PD | |||
リレーエージェント | |||
| | |||
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 | |||
|/56 PD ルートと同じプレフィックスを払い出していること | |||
|- | |||
| | |||
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 | |||
|DHCPv6 Relay された際、スタティックルートが登録されます | |||
PD クライアント宛 /56 スタティックルートが登録されていること | |||
|} | |||
===PD-CL === | |||
==== DHCPv6-PD クライアント==== | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
|+PD-CL 確認コマンド | |||
!プロトコル | |||
!show コマンド | |||
!確認ポイント | |||
|- | |||
| rowspan="2" |DHCPv6-PD | |||
クライアント | |||
| | |||
PD-CL#'''show ipv6 dhcp interface GigabitEthernet 4''' | |||
GigabitEthernet4 is in client mode | |||
Prefix State is OPEN (0) | |||
Information refresh timer expires in 21:20:06 | |||
Renew will be sent in 3d09h | |||
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 04:09 AM (2582406 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 サーバで設定したものと同一であること | |||
下位にサブネット分割するための、プレフィックス名があること | |||
|- | |||
| | |||
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 | |||
|下位側インターフェースに PRE-PREFIX /56 を上位に使用した、/64 プレフィックスを割り当てていること | |||
|- | |||
| rowspan="2" |DHCPv6 サーバ | |||
| | |||
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 名を指定しない場合もあります | |||
|- | |||
| | |||
PD-CL#'''show ipv6 dhcp pool''' | |||
DHCPv6 pool: SLAAC | |||
Imported DNS server: 2001:DB8:4860::8888 | |||
Imported Domain name: example.com | |||
Active clients: 0 | |||
|Pool に DHCPv6 サーバから受信した | |||
*DNS サーバ | |||
*ドメイン名 | |||
が設定されていること | |||
|} | |||
===SLAAC=== | |||
{| class="wikitable mw-collapsible mw-collapsed" | |||
|+SLAAC 確認コマンド | |||
!プロトコル | |||
!show コマンド | |||
!確認ポイント | |||
|- | |||
| rowspan="2" |IPv6 クライアント | |||
| | |||
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 | |||
|IPv6 デフォルトルートを持っていること | |||
PD-CL でサブネット分割されたグローバルユニキャストネットワークアドレスを持っていること | |||
|- | |||
| | |||
SLAAC#'''show ip name-servers''' | |||
2001:DB8:4860::8888 | |||
|DHCPV6-PD -> PD-CL 経由で DNS サーバを受信できていること | |||
|} | |||
== 疎通確認 == | |||
疎通不可の場合、traceroute で不通となっている箇所を特定し、該当するプロトコルを切り分けて障害箇所を特定します。 | |||
=== Dist プロビジョニング用疎通確認 === | |||
DHCPv6 プロビジョニングに必要な疎通確認は、以下になります。 | |||
==== Dist Gi4 -> DHCPv6-SV : ping 2001:DB8:AE86:100::128 ==== | |||
* 失敗する場合、Core と接続する OSPFv3 P2P アドレスで、OSPFv3 の広報に失敗していないか確認します | |||
* | |||
==== Dist Gi1 -> DHCPv6-SV : ping 2001:DB8:AE86:100::128 source Gi1 ==== | |||
* 失敗する場合、PD-CL 収容インターフェースのアドレスで、OSPFv3 の広報に失敗していないか確認します | |||
* | * DHCPv6 の払い出しの前提条件となります | ||
=== PD-CL / SLAAC プロビジョニング疎通確認 === | |||
DHCPv6 プロビジョニング確認に必要な疎通確認は、以下になります。 | |||
==== PD-CL / SLAAC Gi4 -> DHCPv6-SV : ping 2001:DB8:AE86:100::128 ==== | |||
* 失敗する場合、以下を確認します | |||
** PD-CL 収容インターフェースのアドレスで、OSPFv3 の広報に失敗していないか | |||
** PD-CL でデフォルトルートを持っているか | |||
=== PD-CL / SLAAC サービス疎通確認 === | |||
サービス確認に必要な疎通確認は、以下になります。 | |||
==== PD-CL / SLAAC Gi4 -> Core Lo0 : ping 2001:DB8:AE86:100::128 ==== | |||
* 失敗する場合、以下を確認します | |||
** PD-CL 収容インターフェースのアドレスで、OSPFv3 の広報に失敗していないか | |||
** PD-CL でデフォルトルートを持っているか | |||
** Core で ::8888 のアドレスを OSPFv3 で広報しているか | |||
== パケットキャプチャ == | |||
以下の手順で採取しました。 | |||
# PD-CL Gi4 を shutdown | |||
# write memory | |||
# reload | |||
# 各所でキャプチャ開始 | |||
# PD-CL Gi4 no shutdown | |||
再起動しない場合、以前取得していたプレフィックスを再度要求する、rebind メッセージがキャプチャできます。 | |||
=== DHCPv6-SV Gi4 [[ファイル:DHCPv6-SV Gi4.pcapng|代替文=DHCPv6-SV Gi4 Capture|フレームなし]]=== | |||
==== 01-DHCPv6 Relay Forward ==== | |||
<syntaxhighlight lang="diff" line="1"> | |||
Frame 1: 231 bytes on wire (1848 bits), 231 bytes captured (1848 bits) on interface -, id 0 | |||
Ethernet II, Src: 50:00:00:02:00:02 (50:00:00:02:00:02), Dst: 50:00:00:01:00:03 (50:00:00:01:00:03) | |||
Internet Protocol Version 6, Src: 2001:db8:fd7::1, Dst: 2001:db8:ae86:100::128 | |||
User Datagram Protocol, Src Port: 547, Dst Port: 547 | |||
DHCPv6 | |||
Message type: Relay-forw (12) | |||
Hopcount: 0 | |||
Link address: 2001:db8:fd7::1 | |||
Peer address: fe80::5200:ff:fe04:3 | |||
Relay Message | |||
Option: Relay Message (9) | |||
Length: 84 | |||
DHCPv6 | |||
Message type: Solicit (1) | |||
Transaction ID: 0x17cbbf | |||
Elapsed time | |||
Option: Elapsed time (8) | |||
Length: 2 | |||
Elapsed time: 0ms | |||
Client Identifier | |||
Option: Client Identifier (1) | |||
Length: 10 | |||
DUID: 00030001001e14d9fb00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:d9:fb:00 | |||
User Class | |||
Option: User Class (15) | |||
Length: 10 | |||
Vendor Class | |||
Option: Vendor Class (16) | |||
Length: 14 | |||
Enterprise ID: ciscoSystems (9) | |||
vendor-class-data: CSR1000V | |||
Option Request | |||
Option: Option Request (6) | |||
Length: 8 | |||
Requested Option code: Identity Association for Prefix Delegation (25) | |||
Requested Option code: DNS recursive name server (23) | |||
Requested Option code: Domain Search List (24) | |||
Requested Option code: Boot File URL (59) | |||
Identity Association for Prefix Delegation | |||
Option: Identity Association for Prefix Delegation (25) | |||
Length: 12 | |||
IAID: 000a0001 | |||
T1: 0 | |||
T2: 0 | |||
Client Link-Layer Address | |||
Option: Client Link-Layer Address (79) | |||
Length: 8 | |||
Interface-Id | |||
Option: Interface-Id (18) | |||
Length: 5 | |||
Interface-ID: 0103476931 | |||
Remote Identifier | |||
Option: Remote Identifier (37) | |||
Length: 22 | |||
Enterprise ID: ciscoSystems (9) | |||
Remote-ID: 020000000000000a00030001001ee5c71700 | |||
</syntaxhighlight>003 : Dist の Gi1 2001:db8:fd7::1 を送信元 IPv6 , DHCPv6-SV の Gi4 2001:db8:ae86:100::128 を宛先 IPv6 に指定しています | |||
006 : Relay Forward メッセージを示しています | |||
009 : PD-CL Gi4 Link-local アドレス | |||
020-026 : DUID は DHCPv6 のクライアント固有識別子を示す DUID Type が 3 になっており、リンクレイヤーアドレスを元にしてアドレスやプレフィックスを払い出す DUID-LL を意味する ([https://datatracker.ietf.org/doc/html/rfc8415 RFC8415]) | |||
026 : DHCPv6-PD クライアントの MAC アドレス | |||
035-41 : 取得したい アドレス or プレフィックス、DNS サーバ IP など | |||
042-47 : [https://datatracker.ietf.org/doc/html/rfc3633 RFC3633] IA-PD (Identity Association for Prefix Delegation) オプション | |||
==== 02-DHCPv6 Relay Reply ==== | |||
<syntaxhighlight lang="diff" line="1"> | |||
Frame 2: 223 bytes on wire (1784 bits), 223 bytes captured (1784 bits) on interface -, id 0 | |||
Ethernet II, Src: 50:00:00:01:00:03 (50:00:00:01:00:03), Dst: 50:00:00:02:00:02 (50:00:00:02:00:02) | |||
Internet Protocol Version 6, Src: 2001:db8:ae86:100::128, Dst: 2001:db8:fd7::1 | |||
User Datagram Protocol, Src Port: 547, Dst Port: 547 | |||
DHCPv6 | |||
Message type: Relay-reply (13) | |||
Hopcount: 0 | |||
Link address: 2001:db8:fd7::1 | |||
Peer address: fe80::5200:ff:fe04:3 | |||
Relay Message | |||
Option: Relay Message (9) | |||
Length: 114 | |||
DHCPv6 | |||
Message type: Advertise (2) | |||
Transaction ID: 0x17cbbf | |||
Server Identifier | |||
Option: Server Identifier (2) | |||
Length: 10 | |||
DUID: 00030001001e14471b00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:47:1b:00 | |||
Client Identifier | |||
Option: Client Identifier (1) | |||
Length: 10 | |||
DUID: 00030001001e14d9fb00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:d9:fb:00 | |||
Identity Association for Prefix Delegation | |||
Option: Identity Association for Prefix Delegation (25) | |||
Length: 41 | |||
IAID: 000a0001 | |||
T1: 302400 | |||
T2: 483840 | |||
IA Prefix | |||
Option: IA Prefix (26) | |||
Length: 25 | |||
Preferred lifetime: 604800 | |||
Valid lifetime: 2592000 | |||
Prefix length: 56 | |||
Prefix address: 2001:db8:cafe:: | |||
DNS recursive name server | |||
Option: DNS recursive name server (23) | |||
Length: 16 | |||
1 DNS server address: 2001:4860:4860::8888 | |||
Domain Search List | |||
Option: Domain Search List (24) | |||
Length: 13 | |||
Domain name suffix search list | |||
Interface-Id | |||
Option: Interface-Id (18) | |||
Length: 5 | |||
Interface-ID: 0103476931 | |||
</syntaxhighlight>003 : DHCPv6-SV の Gi4 2001:db8:ae86:100::128 を送信元 IPv6 , Dist の Gi1 2001:db8:fd7::1 を宛先 IPv6 に指定しています | |||
006 : Relay-Reply メッセージを示しています | |||
009 : PD-CL Gi4 Link-local アドレス | |||
029 : DHCPv6-PD クライアントの MAC アドレス | |||
030-42 : [https://datatracker.ietf.org/doc/html/rfc3633 RFC3633] IA-PD オプション 取得したい アドレス or プレフィックス、DNS サーバ IP など | |||
043-46 : DNS サーバ | |||
047-50 : ドメイン検索リスト | |||
==== 03-DHCPv6 Relay Forward ==== | |||
<syntaxhighlight lang="diff" line="1"> | |||
Frame 3: 274 bytes on wire (2192 bits), 274 bytes captured (2192 bits) on interface -, id 0 | |||
Ethernet II, Src: 50:00:00:02:00:02 (50:00:00:02:00:02), Dst: 50:00:00:01:00:03 (50:00:00:01:00:03) | |||
Internet Protocol Version 6, Src: 2001:db8:fd7::1, Dst: 2001:db8:ae86:100::128 | |||
User Datagram Protocol, Src Port: 547, Dst Port: 547 | |||
DHCPv6 | |||
Message type: Relay-forw (12) | |||
Hopcount: 0 | |||
Link address: 2001:db8:fd7::1 | |||
Peer address: fe80::5200:ff:fe04:3 | |||
Relay Message | |||
Option: Relay Message (9) | |||
Length: 127 | |||
DHCPv6 | |||
Message type: Request (3) | |||
Transaction ID: 0x1948ce | |||
Elapsed time | |||
Option: Elapsed time (8) | |||
Length: 2 | |||
Elapsed time: 0ms | |||
Client Identifier | |||
Option: Client Identifier (1) | |||
Length: 10 | |||
DUID: 00030001001e14d9fb00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:d9:fb:00 | |||
User Class | |||
Option: User Class (15) | |||
Length: 10 | |||
Vendor Class | |||
Option: Vendor Class (16) | |||
Length: 14 | |||
Enterprise ID: ciscoSystems (9) | |||
vendor-class-data: CSR1000V | |||
Option Request | |||
Option: Option Request (6) | |||
Length: 8 | |||
Requested Option code: Identity Association for Prefix Delegation (25) | |||
Requested Option code: DNS recursive name server (23) | |||
Requested Option code: Domain Search List (24) | |||
Requested Option code: Boot File URL (59) | |||
Server Identifier | |||
Option: Server Identifier (2) | |||
Length: 10 | |||
DUID: 00030001001e14471b00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:47:1b:00 | |||
Identity Association for Prefix Delegation | |||
Option: Identity Association for Prefix Delegation (25) | |||
Length: 41 | |||
IAID: 000a0001 | |||
T1: 0 | |||
T2: 0 | |||
IA Prefix | |||
Option: IA Prefix (26) | |||
Length: 25 | |||
Preferred lifetime: 0 | |||
Valid lifetime: 0 | |||
Prefix length: 56 | |||
Prefix address: 2001:db8:cafe:: | |||
Client Link-Layer Address | |||
Option: Client Link-Layer Address (79) | |||
Length: 8 | |||
Interface-Id | |||
Option: Interface-Id (18) | |||
Length: 5 | |||
Interface-ID: 0103476931 | |||
Remote Identifier | |||
Option: Remote Identifier (37) | |||
Length: 22 | |||
Enterprise ID: ciscoSystems (9) | |||
Remote-ID: 020000000000000a00030001001ee5c71700 | |||
</syntaxhighlight>01-Relay Forward と 02-Relay Reply で交渉した結果、クライアントが要求した内容を示します。 | |||
003 : Dist の Gi1 2001:db8:fd7::1 を送信元 IPv6 , DHCPv6-SV の Gi4 2001:db8:ae86:100::128 を宛先 IPv6 に指定しています | |||
006 : Relay Forward メッセージを示しています | |||
009 : PD-CL Gi4 Link-local アドレス | |||
020-026 : DUID は DHCPv6 のクライアント固有識別子を示す DUID Type が 3 になっており、リンクレイヤーアドレスを元にしてアドレスやプレフィックスを払い出す DUID-LL を意味する ([https://datatracker.ietf.org/doc/html/rfc8415 RFC8415]) | |||
026 : DHCPv6-PD クライアントの MAC アドレス | |||
035-41 : 取得したい アドレス or プレフィックス、DNS サーバ IP など | |||
049-61 : [https://datatracker.ietf.org/doc/html/rfc3633 RFC3633] IA-PD オプション 取得したい アドレス or プレフィックス | |||
==== | ==== 04-DHCPv6 Relay Reply ==== | ||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 4: 223 bytes on wire (1784 bits), 223 bytes captured (1784 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00: | Ethernet II, Src: 50:00:00:01:00:03 (50:00:00:01:00:03), Dst: 50:00:00:02:00:02 (50:00:00:02:00:02) | ||
Internet Protocol Version 6, Src: 2001:db8: | Internet Protocol Version 6, Src: 2001:db8:ae86:100::128, Dst: 2001:db8:fd7::1 | ||
User Datagram Protocol, Src Port: 547, Dst Port: 547 | User Datagram Protocol, Src Port: 547, Dst Port: 547 | ||
DHCPv6 | DHCPv6 | ||
Message type: Relay- | Message type: Relay-reply (13) | ||
Hopcount: 0 | Hopcount: 0 | ||
Link address: 2001:db8:fd7::1 | Link address: 2001:db8:fd7::1 | ||
1,170行目: | 1,241行目: | ||
Relay Message | Relay Message | ||
Option: Relay Message (9) | Option: Relay Message (9) | ||
Length: | Length: 114 | ||
DHCPv6 | DHCPv6 | ||
Message type: | Message type: Reply (7) | ||
Transaction ID: | Transaction ID: 0x1948ce | ||
Server Identifier | |||
Option: | Option: Server Identifier (2) | ||
Length: | Length: 10 | ||
DUID: 00030001001e14471b00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:47:1b:00 | |||
Client Identifier | Client Identifier | ||
Option: Client Identifier (1) | Option: Client Identifier (1) | ||
1,185行目: | 1,259行目: | ||
Hardware type: Ethernet (1) | Hardware type: Ethernet (1) | ||
Link-layer address: 00:1e:14:d9:fb:00 | Link-layer address: 00:1e:14:d9:fb:00 | ||
Identity Association for Prefix Delegation | |||
Option: | Option: Identity Association for Prefix Delegation (25) | ||
Length: | Length: 41 | ||
IAID: 000a0001 | |||
T1: 302400 | |||
T2: 483840 | |||
IA Prefix | |||
Option: IA Prefix (26) | |||
Length: 25 | |||
Preferred lifetime: 604800 | |||
Valid lifetime: 2592000 | |||
Prefix length: 56 | |||
Prefix address: 2001:db8:cafe:: | |||
DNS recursive name server | |||
Option: DNS recursive name server (23) | |||
Length: 16 | |||
Option: | 1 DNS server address: 2001:4860:4860::8888 | ||
Length: | Domain Search List | ||
Option: Domain Search List (24) | |||
Length: 13 | |||
Domain name suffix search list | |||
Interface-Id | Interface-Id | ||
Option: Interface-Id (18) | Option: Interface-Id (18) | ||
Length: 5 | Length: 5 | ||
Interface-ID: 0103476931 | Interface-ID: 0103476931 | ||
</syntaxhighlight>003 : | </syntaxhighlight>03-Relay Forward に対し、実際に割り当てるアドレス・プレフィックスを 04 で返信します。 | ||
003 : DHCPv6-SV の Gi4 2001:db8:ae86:100::128 を送信元 IPv6 , Dist の Gi1 2001:db8:fd7::1 を宛先 IPv6 に指定しています | |||
006 : Relay | 006 : Relay-Reply メッセージを示しています | ||
009 : PD-CL Gi4 Link-local アドレス | 009 : PD-CL Gi4 Link-local アドレス | ||
029 : DHCPv6-PD クライアントの MAC アドレス | |||
030-42 : [https://datatracker.ietf.org/doc/html/rfc3633 RFC3633] IA-PD オプション 取得したい アドレス or プレフィックス | |||
043-46 : DNS サーバ | |||
047-50 : ドメイン検索リスト | |||
==== | |||
=== PD-CL [[ファイル:PD-CL Gi4 capture.pcapng|代替文=PD-CL Gi4 capture]] === | |||
DHCPv6 M / O フラグを両方 On にして、プレフィックスと DNS サーバを DHCPv6 サーバから取得するキャプチャです。 | |||
==== 01-DHCPv6 Solicit ==== | |||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 14: 146 bytes on wire (1168 bits), 146 bytes captured (1168 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00: | Ethernet II, Src: 50:00:00:04:00:03 (50:00:00:04:00:03), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02) | ||
Internet Protocol Version 6, Src: | Internet Protocol Version 6, Src: fe80::5200:ff:fe04:3, Dst: ff02::1:2 | ||
User Datagram Protocol, Src Port: | User Datagram Protocol, Src Port: 546, Dst Port: 547 | ||
DHCPv6 | DHCPv6 | ||
Message type: | Message type: Solicit (1) | ||
Transaction ID: 0x17cbbf | |||
Elapsed time | |||
Option: Elapsed time (8) | |||
Length: 2 | |||
Option: | Elapsed time: 0ms | ||
Length: | Client Identifier | ||
Option: Client Identifier (1) | |||
Length: 10 | |||
DUID: 00030001001e14d9fb00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:d9:fb:00 | |||
User Class | |||
Option: User Class (15) | |||
Length: 10 | |||
Vendor Class | |||
Option: Vendor Class (16) | |||
Length: 14 | |||
Enterprise ID: ciscoSystems (9) | |||
vendor-class-data: CSR1000V | |||
Option Request | |||
Option: Option Request (6) | |||
Length: 8 | |||
Requested Option code: Identity Association for Prefix Delegation (25) | |||
Requested Option code: DNS recursive name server (23) | |||
Requested Option code: Domain Search List (24) | |||
Requested Option code: Boot File URL (59) | |||
Identity Association for Prefix Delegation | |||
Option: Identity Association for Prefix Delegation (25) | |||
Length: 12 | |||
IAID: 000a0001 | |||
T1: 0 | |||
T2: 0 | |||
Option: | |||
Length: | |||
</syntaxhighlight>003 : | </syntaxhighlight>003 : PD-CL ではリンクローカル アドレスしか持っていないため、送信元がリンクローカル、宛先が ff02::1:2 のルータ宛マルチキャストアドレスになります | ||
006 : | 006 : Solicit メッセージを示しています | ||
012-018 : DUID は DHCPv6 のクライアント固有識別子を示す DUID Type が 3 になっており、リンクレイヤーアドレスを元にしてアドレスやプレフィックスを払い出す DUID-LL を意味する ([https://datatracker.ietf.org/doc/html/rfc8415 RFC8415]) | |||
018 : DHCPv6-PD クライアントの MAC アドレス | |||
027-33 : 取得したい アドレス or プレフィックス、DNS サーバ IP など | |||
034-39 : [https://datatracker.ietf.org/doc/html/rfc3633 RFC3633] IA-PD (Identity Association for Prefix Delegation) オプション | |||
==== 02-DHCPv6 Advertise ==== | |||
==== | |||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 15: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00: | Ethernet II, Src: 50:00:00:03:00:00 (50:00:00:03:00:00), Dst: 50:00:00:04:00:03 (50:00:00:04:00:03) | ||
Internet Protocol Version 6, Src: | Internet Protocol Version 6, Src: fe80:db8:fd7::1, Dst: fe80::5200:ff:fe04:3 | ||
User Datagram Protocol, Src Port: 547, Dst Port: | User Datagram Protocol, Src Port: 547, Dst Port: 546 | ||
DHCPv6 | DHCPv6 | ||
Message type: | Message type: Advertise (2) | ||
Transaction ID: 0x17cbbf | |||
Server Identifier | |||
Option: Server Identifier (2) | |||
Length: 10 | |||
DUID: 00030001001e14471b00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:47:1b:00 | |||
Client Identifier | |||
Option: Client Identifier (1) | |||
Length: 10 | |||
DUID: 00030001001e14d9fb00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:d9:fb:00 | |||
Identity Association for Prefix Delegation | |||
Option: Identity Association for Prefix Delegation (25) | |||
Length: 41 | |||
IAID: 000a0001 | |||
T1: 302400 | |||
T2: 483840 | |||
IA Prefix | |||
Option: IA Prefix (26) | |||
Length: 25 | |||
Preferred lifetime: 604800 | |||
Valid lifetime: 2592000 | |||
Prefix length: 56 | |||
Prefix address: 2001:db8:cafe:: | |||
DNS recursive name server | |||
Option: DNS recursive name server (23) | |||
Length: 16 | |||
1 DNS server address: 2001:4860:4860::8888 | |||
Domain Search List | |||
Option: Domain Search List (24) | |||
Length: 13 | |||
Domain name suffix search list | |||
</syntaxhighlight>003 : PD-CL ではリンクローカル アドレスしか持っていないため、宛先が PD-CL リンクローカル、送信元がルータのリンクローカルになります | |||
006 : Advertise メッセージを示している | |||
021 : DHCPv6-PD クライアントの MAC アドレス | |||
022-34 : [https://datatracker.ietf.org/doc/html/rfc3633 RFC3633] IA-PD オプション 取得したい アドレス or プレフィックス | |||
035-38 : DNS サーバ | |||
039-42 : ドメイン検索リスト | |||
Option: | |||
Length: | |||
Option: | |||
Length: | |||
==== 03-DHCPv6 Request ==== | |||
==== | |||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 16: 189 bytes on wire (1512 bits), 189 bytes captured (1512 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00: | Ethernet II, Src: 50:00:00:04:00:03 (50:00:00:04:00:03), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02) | ||
Internet Protocol Version 6, Src: | Internet Protocol Version 6, Src: fe80::5200:ff:fe04:3, Dst: ff02::1:2 | ||
User Datagram Protocol, Src Port: | User Datagram Protocol, Src Port: 546, Dst Port: 547 | ||
DHCPv6 | DHCPv6 | ||
Message type: | Message type: Request (3) | ||
Transaction ID: 0x1948ce | |||
Elapsed time | |||
Option: Elapsed time (8) | |||
Length: 2 | |||
Option: | Elapsed time: 0ms | ||
Length: | Client Identifier | ||
Option: Client Identifier (1) | |||
Length: 10 | |||
DUID: 00030001001e14d9fb00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:d9:fb:00 | |||
User Class | |||
Option: User Class (15) | |||
Length: 10 | |||
Vendor Class | |||
Option: Vendor Class (16) | |||
Length: 14 | |||
Enterprise ID: ciscoSystems (9) | |||
vendor-class-data: CSR1000V | |||
Option Request | |||
Option: Option Request (6) | |||
Length: 8 | |||
Requested Option code: Identity Association for Prefix Delegation (25) | |||
Requested Option code: DNS recursive name server (23) | |||
Requested Option code: Domain Search List (24) | |||
Requested Option code: Boot File URL (59) | |||
Server Identifier | |||
Option: Server Identifier (2) | |||
Length: 10 | |||
DUID: 00030001001e14471b00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:47:1b:00 | |||
Identity Association for Prefix Delegation | |||
Option: Identity Association for Prefix Delegation (25) | |||
Length: 41 | |||
IAID: 000a0001 | |||
T1: 0 | |||
T2: 0 | |||
IA Prefix | |||
Option: IA Prefix (26) | |||
Length: 25 | |||
Preferred lifetime: 0 | |||
Valid lifetime: 0 | |||
Prefix length: 56 | |||
Prefix address: 2001:db8:cafe:: | |||
</syntaxhighlight> | </syntaxhighlight>01-Solicit と 02-Advertise で交渉した結果、クライアントが要求する内容を示します。 | ||
003 : | 003 : PD-CL ではリンクローカル アドレスしか持っていないため、送信元がリンクローカル、宛先が ff02::1:2 のルータ宛マルチキャストアドレスになります | ||
006 : | 006 : Request メッセージを示しています | ||
013-018 : DUID は DHCPv6 のクライアント固有識別子を示す DUID Type が 3 になっており、リンクレイヤーアドレスを元にしてアドレスやプレフィックスを払い出す DUID-LL を意味する ([https://datatracker.ietf.org/doc/html/rfc8415 RFC8415]) | |||
018 : DHCPv6-PD クライアントの MAC アドレス | |||
027-33 : 取得したい アドレス or プレフィックス、DNS サーバ IP など | |||
041-53 : [https://datatracker.ietf.org/doc/html/rfc3633 RFC3633] IA-PD オプション 取得したい アドレス or プレフィックス | |||
==== 04-DHCPv6 Reply ==== | |||
==== | |||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 17: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00: | Ethernet II, Src: 50:00:00:03:00:00 (50:00:00:03:00:00), Dst: 50:00:00:04:00:03 (50:00:00:04:00:03) | ||
Internet Protocol Version 6, Src: fe80:: | Internet Protocol Version 6, Src: fe80:db8:fd7::1, Dst: fe80::5200:ff:fe04:3 | ||
User Datagram Protocol, Src Port: | User Datagram Protocol, Src Port: 547, Dst Port: 546 | ||
DHCPv6 | DHCPv6 | ||
Message type: | Message type: Reply (7) | ||
Transaction ID: | Transaction ID: 0x1948ce | ||
Server Identifier | |||
Option: | Option: Server Identifier (2) | ||
Length: | Length: 10 | ||
DUID: 00030001001e14471b00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:47:1b:00 | |||
Client Identifier | Client Identifier | ||
Option: Client Identifier (1) | Option: Client Identifier (1) | ||
1,501行目: | 1,517行目: | ||
Hardware type: Ethernet (1) | Hardware type: Ethernet (1) | ||
Link-layer address: 00:1e:14:d9:fb:00 | Link-layer address: 00:1e:14:d9:fb:00 | ||
Identity Association for Prefix Delegation | Identity Association for Prefix Delegation | ||
Option: Identity Association for Prefix Delegation (25) | Option: Identity Association for Prefix Delegation (25) | ||
Length: | Length: 41 | ||
IAID: 000a0001 | IAID: 000a0001 | ||
T1: | T1: 302400 | ||
T2: | T2: 483840 | ||
IA Prefix | |||
Option: IA Prefix (26) | |||
Length: 25 | |||
Preferred lifetime: 604800 | |||
Valid lifetime: 2592000 | |||
Prefix length: 56 | |||
Prefix address: 2001:db8:cafe:: | |||
DNS recursive name server | |||
Option: DNS recursive name server (23) | |||
Length: 16 | |||
1 DNS server address: 2001:4860:4860::8888 | |||
Domain Search List | |||
Option: Domain Search List (24) | |||
Length: 13 | |||
Domain name suffix search list | |||
</syntaxhighlight> | </syntaxhighlight>03-Request に対し、実際に割り当てられたアドレス・プレフィックスを 04 で受信。 | ||
003 : PD-CL ではリンクローカル アドレスしか持っていないため、宛先が PD-CL リンクローカル、送信元がルータのリンクローカルになります | |||
006 : Reply メッセージを示しています | |||
021 : DHCPv6-PD クライアントの MAC アドレス | |||
022-34 : [https://datatracker.ietf.org/doc/html/rfc3633 RFC3633] IA-PD オプション 取得したい アドレス or プレフィックス | |||
035-38 : DNS サーバ | |||
039-42 : ドメイン検索リスト | |||
=== SLAAC ICMPv6 NS / NA [[ファイル:SLAAC Gi4 capture.pcapng|代替文=SLAAC Gi4 capture]] === | |||
IPv6 ND RA で DHCPv6 サーバではなく、PD-CL ルータからアドレスを払い出す SLAAC クライアントのキャプチャです。 | |||
ここのみ SLAAC を再起動して取得しています。 | |||
* DHCPv6-PD の払い出しと、別の処理で行われるため | |||
==== | ==== 01-ICMPv6 Neighbor Solicitation (NS) ==== | ||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 4: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00: | Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_ff:05:00:03 (33:33:ff:05:00:03) | ||
Internet Protocol Version 6, Src: | Internet Protocol Version 6, Src: ::, Dst: ff02::1:ff05:3 | ||
Internet Control Message Protocol v6 | |||
Type: Neighbor Solicitation (135) | |||
Code: 0 | |||
Checksum: 0x821b [correct] | |||
[Checksum Status: Good] | |||
Reserved: 00000000 | |||
Target Address: fe80::5200:ff:fe05:3 | |||
ICMPv6 Option (Nonce) | |||
Type: Nonce (14) | |||
Length: 1 (8 bytes) | |||
Nonce: 7dfaf2df2a18 | |||
</syntaxhighlight>003 : SLAAC ではリンクローカル アドレスが使用できるかまだわからないため、送信元がなし、宛先が ff02::1:2 のルータ宛マルチキャストアドレスになります | |||
Duplicate Address Detection (DAD) が終わったあとに、送信元アドレスが使用可能になります | |||
005 : Neighbor Solicitation メッセージを示しています | |||
==== 02-ICMPv6 Neighbor Advertisement (NA) ==== | |||
<syntaxhighlight lang="diff" line="1"> | |||
Frame 9: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface -, id 0 | |||
Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_01 (33:33:00:00:00:01) | |||
Internet Protocol Version 6, Src: fe80::5200:ff:fe05:3, Dst: ff02::1 | |||
Internet Control Message Protocol v6 | |||
Type: Neighbor Advertisement (136) | |||
Code: 0 | |||
Checksum: 0xe784 [correct] | |||
[Checksum Status: Good] | |||
Flags: 0xa0000000, Router, Override | |||
1... .... .... .... .... .... .... .... = Router: Set | |||
.0.. .... .... .... .... .... .... .... = Solicited: Not set | |||
..1. .... .... .... .... .... .... .... = Override: Set | |||
...0 0000 0000 0000 0000 0000 0000 0000 = Reserved: 0 | |||
Target Address: fe80::5200:ff:fe05:3 | |||
ICMPv6 Option (Target link-layer address : 50:00:00:05:00:03) | |||
Type: Target link-layer address (2) | |||
Length: 1 (8 bytes) | |||
Link-layer address: 50:00:00:05:00:03 (50:00:00:05:00:03) | |||
</syntaxhighlight>003 : SLAAC ではリンクローカル アドレスが使用できるかまだわからないため、送信元がルータのリンクローカルアドレス、宛先が ff02::1 の全ノード宛マルチキャストアドレスになります | |||
005 : Neighbor Advertisement を示しています | |||
009-013 : ルータ + 上書きフラグをセット | |||
==== | === SLAAC ICMPv6 RS / RA === | ||
==== 01-ICMPv6 Router Solicitation (RS) ==== | |||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 13: 70 bytes on wire (560 bits), 70 bytes captured (560 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00: | Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_02 (33:33:00:00:00:02) | ||
Internet Protocol Version 6, Src: fe80::5200:ff: | Internet Protocol Version 6, Src: fe80::5200:ff:fe05:3, Dst: ff02::2 | ||
Internet Control Message Protocol v6 | |||
Type: Router Solicitation (133) | |||
Code: 0 | |||
Checksum: 0xdb1d [correct] | |||
[Checksum Status: Good] | |||
Reserved: 00000000 | |||
ICMPv6 Option (Source link-layer address : 50:00:00:05:00:03) | |||
Type: Source link-layer address (1) | |||
Length: 1 (8 bytes) | |||
Link-layer address: 50:00:00:05:00:03 (50:00:00:05:00:03) | |||
</syntaxhighlight>003 : SLAAC では NS / NA でリンクローカル アドレスを取得したため、送信元が SLAAC のリンクローカルアドレス、宛先が ff02::2 のルータ宛マルチキャストアドレスになります | |||
005 : Router Solicitation タイプを示しています | |||
Link-layer address: 00: | |||
==== 01-ICMPv6 Router Advertisement (RA) ==== | |||
<syntaxhighlight lang="diff" line="1"> | |||
Frame 14: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface -, id 0 | |||
Ethernet II, Src: 50:00:00:04:00:00 (50:00:00:04:00:00), Dst: IPv6mcast_01 (33:33:00:00:00:01) | |||
Internet Protocol Version 6, Src: fe80::5200:ff:fe04:0, Dst: ff02::1 | |||
Internet Control Message Protocol v6 | |||
Type: Router Advertisement (134) | |||
Code: 0 | |||
Checksum: 0x83a4 [correct] | |||
[Checksum Status: Good] | |||
Cur hop limit: 64 | |||
Flags: 0x40, Other configuration, Prf (Default Router Preference): Medium | |||
0... .... = Managed address configuration: Not set | |||
.1.. .... = Other configuration: Set | |||
..0. .... = Home Agent: Not set | |||
...0 0... = Prf (Default Router Preference): Medium (0) | |||
.... .0.. = Proxy: Not set | |||
.... ..0. = Reserved: 0 | |||
Router lifetime (s): 1800 | |||
Reachable time (ms): 0 | |||
Retrans timer (ms): 0 | |||
Link-layer address: 00: | ICMPv6 Option (Source link-layer address : 50:00:00:04:00:00) | ||
Type: Source link-layer address (1) | |||
Length: 1 (8 bytes) | |||
Length: | Link-layer address: 50:00:00:04:00:00 (50:00:00:04:00:00) | ||
ICMPv6 Option (MTU : 1500) | |||
Type: MTU (5) | |||
Length: 1 (8 bytes) | |||
Reserved | |||
MTU: 1500 | |||
ICMPv6 Option (Prefix information : 2001:db8:cafe::/64) | |||
Type: Prefix information (3) | |||
Length: 4 (32 bytes) | |||
Prefix Length: 64 | |||
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A) | |||
1... .... = On-link flag(L): Set | |||
.1.. .... = Autonomous address-configuration flag(A): Set | |||
..0. .... = Router address flag(R): Not set | |||
...0 0000 = Reserved: 0 | |||
Valid Lifetime: 2592000 | |||
Preferred Lifetime: 604800 | |||
Reserved | |||
Prefix: 2001:db8:cafe:: | |||
</syntaxhighlight> | </syntaxhighlight>003 : 送信元が PD-CL のリンクローカルアドレス、宛先が ff02::1 の全ノード宛マルチキャストアドレスになります | ||
005 : Router Advertisement タイプを示しています | |||
010-016 : Other フラグが On | |||
029-041 : 使用可能なプレフィックスを指定 | |||
==== 03-DHCPv6 Information Request ==== | |||
==== | |||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 15: 132 bytes on wire (1056 bits), 132 bytes captured (1056 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00: | Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02) | ||
Internet Protocol Version 6, Src: fe80: | Internet Protocol Version 6, Src: fe80::5200:ff:fe05:3, Dst: ff02::1:2 | ||
User Datagram Protocol, Src Port: | User Datagram Protocol, Src Port: 546, Dst Port: 547 | ||
DHCPv6 | DHCPv6 | ||
Message type: | Message type: Information-request (11) | ||
Transaction ID: | Transaction ID: 0xc3b690 | ||
Elapsed time | |||
Option: | Option: Elapsed time (8) | ||
Length: | Length: 2 | ||
Elapsed time: 0ms | |||
Client Identifier | Client Identifier | ||
Option: Client Identifier (1) | Option: Client Identifier (1) | ||
Length: 10 | Length: 10 | ||
DUID: | DUID: 00030001001ebd296800 | ||
DUID Type: link-layer address (3) | DUID Type: link-layer address (3) | ||
Hardware type: Ethernet (1) | Hardware type: Ethernet (1) | ||
Link-layer address: 00:1e: | Link-layer address: 00:1e:bd:29:68:00 | ||
User Class | |||
Option: | Option: User Class (15) | ||
Length: | Length: 10 | ||
Vendor Class | |||
Option: Vendor Class (16) | |||
Length: 14 | |||
Enterprise ID: ciscoSystems (9) | |||
vendor-class-data: CSR1000V | |||
Option Request | |||
Option: Option Request (6) | |||
Length: 10 | |||
Requested Option code: DNS recursive name server (23) | |||
Requested Option code: Domain Search List (24) | |||
Requested Option code: Subscriber Identifier (38) | |||
Option: DNS recursive name server (23) | Requested Option code: Boot File URL (59) | ||
Requested Option code: Vendor-specific Information (17) | |||
Option: | |||
</syntaxhighlight> | </syntaxhighlight>003 : SLAAC では NS / NA でリンクローカル アドレスを取得したため、送信元が SLAAC のリンクローカルアドレス、宛先が ff02::2 のルータ宛マルチキャストアドレスになります | ||
005 : Information Request メッセージタイプを示しています | |||
027-034 : DHCPv6 サーバから取得したい情報を示しています M フラグがないため、アドレスは要求していません | |||
==== 04-DHCPv6 Reply ==== | |||
<syntaxhighlight lang="diff" line="1"> | |||
Frame 16: 131 bytes on wire (1048 bits), 131 bytes captured (1048 bits) on interface -, id 0 | |||
Ethernet II, Src: 50:00:00:04:00:00 (50:00:00:04:00:00), Dst: 50:00:00:05:00:03 (50:00:00:05:00:03) | |||
Internet Protocol Version 6, Src: fe80::5200:ff:fe04:0, Dst: fe80::5200:ff:fe05:3 | |||
User Datagram Protocol, Src Port: 547, Dst Port: 546 | |||
DHCPv6 | |||
Message type: Reply (7) | |||
Transaction ID: 0xc3b690 | |||
Server Identifier | |||
Option: Server Identifier (2) | |||
Length: 10 | |||
DUID: 00030001001e14d9fb00 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:14:d9:fb:00 | |||
Client Identifier | |||
Option: Client Identifier (1) | |||
Length: 10 | |||
DUID: 00030001001ebd296800 | |||
DUID Type: link-layer address (3) | |||
Hardware type: Ethernet (1) | |||
Link-layer address: 00:1e:bd:29:68:00 | |||
DNS recursive name server | |||
Option: DNS recursive name server (23) | |||
Length: 16 | |||
1 DNS server address: 2001:4860:4860::8888 | |||
Domain Search List | |||
Option: Domain Search List (24) | |||
Length: 13 | |||
Domain name suffix search list | |||
List entry: example.com. | |||
</syntaxhighlight>003 : SLAAC では NS / NA でリンクローカル アドレスを取得したため、送信元が PD-CL のリンクローカルアドレス、宛先が SLAAC のリンクローカルアドレスになります | |||
005 : Reply メッセージタイプを示しています | |||
027-034 : DHCPv6 サーバから取得したい情報を示しています 03 の Information Request に M フラグがないため、アドレスは要求していません O フラグは On のため、DNS サーバの情報を返しています | |||
==== 05-ICMPv6 Neighbor Solicitation (NS) ==== | |||
==== | |||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 17: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_ff:05:00:03 (33:33:ff:05:00:03) | Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_ff:05:00:03 (33:33:ff:05:00:03) | ||
Internet Protocol Version 6, Src: ::, Dst: ff02::1:ff05:3 | Internet Protocol Version 6, Src: ::, Dst: ff02::1:ff05:3 | ||
1,738行目: | 1,778行目: | ||
Type: Neighbor Solicitation (135) | Type: Neighbor Solicitation (135) | ||
Code: 0 | Code: 0 | ||
Checksum: | Checksum: 0xe74d [correct] | ||
[Checksum Status: Good] | [Checksum Status: Good] | ||
Reserved: 00000000 | Reserved: 00000000 | ||
Target Address: | Target Address: 2001:db8:cafe:0:5200:ff:fe05:3 | ||
ICMPv6 Option (Nonce) | ICMPv6 Option (Nonce) | ||
Type: Nonce (14) | Type: Nonce (14) | ||
Length: 1 (8 bytes) | Length: 1 (8 bytes) | ||
Nonce: | Nonce: 2b53d5943aa1 | ||
</syntaxhighlight> | </syntaxhighlight>2001:db8:cafe:0:5200:ff:fe05:3 宛に NS を送信し、使用中のノードがいないか確認します。 | ||
==== 06-ICMPv6 Neighbor Advertisement (NA) ==== | |||
==== | |||
<syntaxhighlight lang="diff" line="1"> | <syntaxhighlight lang="diff" line="1"> | ||
Frame | Frame 18: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface -, id 0 | ||
Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_01 (33:33:00:00:00:01) | Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_01 (33:33:00:00:00:01) | ||
Internet Protocol Version 6, Src: | Internet Protocol Version 6, Src: 2001:db8:cafe:0:5200:ff:fe05:3, Dst: ff02::1 | ||
Internet Control Message Protocol v6 | Internet Control Message Protocol v6 | ||
Type: Neighbor Advertisement (136) | Type: Neighbor Advertisement (136) | ||
Code: 0 | Code: 0 | ||
Checksum: | Checksum: 0xf316 [correct] | ||
[Checksum Status: Good] | [Checksum Status: Good] | ||
Flags: 0xa0000000, Router, Override | Flags: 0xa0000000, Router, Override | ||
1,769行目: | 1,804行目: | ||
..1. .... .... .... .... .... .... .... = Override: Set | ..1. .... .... .... .... .... .... .... = Override: Set | ||
...0 0000 0000 0000 0000 0000 0000 0000 = Reserved: 0 | ...0 0000 0000 0000 0000 0000 0000 0000 = Reserved: 0 | ||
Target Address: | Target Address: 2001:db8:cafe:0:5200:ff:fe05:3 | ||
ICMPv6 Option (Target link-layer address : 50:00:00:05:00:03) | ICMPv6 Option (Target link-layer address : 50:00:00:05:00:03) | ||
Type: Target link-layer address (2) | Type: Target link-layer address (2) | ||
1,775行目: | 1,810行目: | ||
Link-layer address: 50:00:00:05:00:03 (50:00:00:05:00:03) | Link-layer address: 50:00:00:05:00:03 (50:00:00:05:00:03) | ||
</syntaxhighlight> | </syntaxhighlight>05 の 1 秒後に、使用中のノードがいないため、2001:db8:cafe:0:5200:ff:fe05:3 を SLAAC で使用します。 | ||
== リファレンス == | |||
[https://community.cisco.com/t5/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%B9%E3%83%88%E3%83%A9%E3%82%AF%E3%83%81%E3%83%A3-%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/cisco%E6%A9%9F%E5%99%A8%E3%82%92%E7%94%A8%E3%81%84%E3%81%9F-dhcp-%E3%81%AB%E3%82%88%E3%82%8Bip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E8%87%AA%E5%8B%95%E5%8F%96%E5%BE%97%E5%8B%95%E4%BD%9C%E3%81%AE%E7%A2%BA%E8%AA%8D%E3%81%A8%E8%A7%A3%E8%AA%AC-dhcpv6-pd/ta-p/3136832 Cisco機器を用いた DHCP によるIPアドレス自動取得動作の確認と解説 (DHCPv6-PD)] | |||
[https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/xe-16/dhcp-xe-16-book/ip6-dhcp-prefix-xe.html?referring_site=RE&pos=1&page=https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/xe-16/dhcp-xe-16-book/ip6-dhcp-stateless-auto.html CSR1000V IPv6 Access Services: DHCPv6 Prefix Delegation] | |||
[https://www.google.com/search?q=Cisco+DHCPv6+configuration+guide&sxsrf=AOaemvI5W66BxSod7YftoNZc4zgIqL8Opg%3A1632009012417&ei=NHtGYZ_2GJef-AaXoYjICg&oq=Cisco+DHCPv6+configuration+guide&gs_lcp=Cgdnd3Mtd2l6EAMyBAgjECdKBAhBGAFQkrQDWIC4A2DVugNoAXAAeACAAboBiAHrBpIBAzAuNZgBAKABAcABAQ&sclient=gws-wiz&ved=0ahUKEwif4NGr24nzAhWXD94KHZcQAqkQ4dUDCA4&uact=5 DHCPv6 using the Prefix Delegation Feature Configuration Example] | |||
[https://www.lambdanote.com/products/ipv6 プロフェッショナルIPv6] | |||
[https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html Cisco Catalyst 9300 Series Switches Data Sheet] | |||
[https://www.geekpage.jp/blog/?id=2018-11-27-1 DHCPv6の基本仕様が改定 - RFC 8415] | |||
[https://datatracker.ietf.org/doc/html/rfc8415 RFC8415 - Dynamic Host Configuration Protocol for IPv6 (DHCPv6)] | |||
* 廃止 : [https://datatracker.ietf.org/doc/html/rfc8415 RFC3315 Standards Track - Dynamic Host Configuration Protocol for IPv6 (DHCPv6)] | |||
* 廃止 : [https://datatracker.ietf.org/doc/html/rfc3633 RFC3633 Standards Track - IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6] | |||
[https://datatracker.ietf.org/doc/html/rfc6355 RFC6355 Standards Track - Definition of the UUID-Based DHCPv6 Unique Identifier (DUID-UUID)] | |||
[https://www.soumu.go.jp/main_content/000517039.pdf ケーブル業界のIPv6対応状況] | |||
[https://www.jlabs.or.jp/tst/wp-content/uploads/2020/03/DOC-009_3.0.pdf IPv6対応ケーブルインターネットアクセス技術仕様ガイドライン] | |||
[https://www.infraexpert.com/study/study35.html ネットワークエンジニアとして] | |||
[https://ja.wikipedia.org/wiki/DHCPv6 DHCPv6 - ウィキペディア] | |||
[https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/15-sy/dhcp-15-sy-book/ip6-dhcp-rel-agent.pdf DHCPv6 Relay Agent Notification for Prefix Delegation]<ref>IPv6 routes are added when the relay agent relays a RELAY-REPLY packet, and IPv6 routes are deleted when the prefix delegation lease time expires or the relay agent receives a release message.</ref> | |||
< | |||
</ | |||
* PD スタティックルート インジェクションのトリガーについて記載あり | |||
[https://tex2e.github.io/rfc-translater/html/rfc6939.html RFC 6939 - Client Link-Layer Address Option in DHCPv6 日本語訳] | |||
[[カテゴリ:IPv6]] | |||
[[カテゴリ:ラボ]] | |||
<span></span><ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-1930311742297749" data-ad-slot="5409634032"></ins><span></span><span></span> | |||
</ | |||
== | |||
{{#seo: | |||
|title={{#if: {{{page_title|}}} | {{{page_title}}} | 2021-09-19 DHCPv6-PD 機能検証}} | |||
|titlemode={{{title_mode|}}} | |||
|keywords={{{keywords|}}} | |||
|description={{{description|}}} | |||
}} | |||
== 脚注 == | |||
2024年6月20日 (木) 14:36時点における最新版
普及期・移行期を迎えている、IPv6 の DHCPv6-PD について検証を実施しました。
このページにラボシナリオとして、コンフィグや確認コマンド、疎通確認のポイントなどをまとめています。
目的
初心者向けに DHCPv6-PD と IPv6 の基礎を学習するための、検証の基本情報を提供します。
無料で入手できるソフトウェアを使用し、金銭の負担を減らします。
DHCPv6-PD のメリット
IPv6 で増大するグローバル ユニキャストアドレスを、DHCPv6-PD ルートに集約できます。
以下に直接接続した場合と、DHCPv6-PD クライアント経由で接続した例を記載します。
- 例 1. は L3SW で PC やサーバ、IP 電話などを /64 で直接収容するケースです
- PC 1 台はグローバル ユニキャストアドレスとリンクローカルアドレスを持つため、IPv6 ND エントリを最低 2 つ消費します
- 実際には IPv6 一時使用アドレスも存在するため、2 つでは済みません
- 上記の例では 4 台存在するため、最低 8 エントリを消費します
- 例 2. は L3SW が PD クライアントに集約ルートとして /56 を割り当てた例です
- PD ルート + PD-Client のリンクローカルアドレスの 2 つのエントリで済みます
- ただし、実運用としては PD クライアントにも疎通確認用として /64 でグローバル ユニキャストを持たせたほうが運用しやすいケースも考えられます
- PD-Client 配下では /56 をサブネット分割し、/64 のネットワークを 16 個作成できます
- /64 1 つでも、分割して複数持たせても良いです
- PC などの数が増えても、L3SW のリソースには影響しません
台数 | ||||
---|---|---|---|---|
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 よりもかなり見劣りします。
DHCPv6-PD のデメリット
- FTTH を想定した場合、ブロードバンドルータの対応機種が限られます
- ARP / IPv6 ND よりも静的よりのプロトコルとなるため、冗長構成はよく検討する必要があります
- IPv6 リナンバリングはまだまだノウハウがありません 移行設計はよく検討する必要があります
検証環境
いずれも無料で提供されているソフトウェアです。
ESXi7.0 無償評価版
- VMware Workstaion でも可能ですが、CPU とメモリの要件が厳しいため、少なくとも 2021 年のノート PC では厳しいでしょう
- hkatou Lab では Supermicro のコンパクトサーバ、E300-9a Atom C3858 12 Core 12 Thread + 64GB メモリを使用しています
EVE-NG Community Edition
- 8 vCPU / 30GB のメモリを割り当てました
Cisco CSR1000V 16.12.04a
- EVE-NG のテンプレートにある CPU 1 コアだと起動が遅かったため、2 コアに変更
- この場合は合計 10 vCPU になります
- 要求される EVE-NG 上の CSR1000V VM のリソースは以下です
- 1 vCPU x 5 台 = 5 vCPU
- 4GB メモリ x 5 台 = 20GB
- IOS-XE 上では 1.8GB ほどフリーに見えるため、2.5GB / VM = 12.5GB 程度の割当でもいけそうです
構成図
以下の機器をすべて 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 払い出し用 送信元セグメント |
2001:DB8:4860::
インターネット模擬 セグメント | |
サブネット | ::/56
/48 プールから分割して /56 払い出し |
::100:/64
DHCPv6 サーバ 収容 セグメント |
::200:/64
OSPFv3 P2P リンク |
::/64
Dist 用 |
Core 用 |
DHCPv6-SV | ローカルプールを設定
/48 DHCPv6-PD Pool を持ち、 /56 で払い出し |
Gi4
::128 |
- | リンクアドレスである Dist ::1/64 から払い出し依頼があれば、2001:DB8::CAFE::/48 プールから/56 を払い出す | - |
Core | - | Gi3
::1 GW |
Gi1
::1 OSPFv3 |
- | Lo0
::8888/128 |
Dist | /48 OSPF Null0 宛
集約ルート PD-CL 宛 /56 サブネットの スタティックルートを持つ |
- | Gi4
::2 OSPFv3 |
Gi4
::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 宛デフォルトルートを持ちます
プロトコル別コンフィギュレーション
ここではプロトコル・ホスト別にコンフィギュレーションを簡単に解説します。
自分でコンフィグを組んでみたい人向けに、デフォルトでは表示しません。
このページのリファレンスに記載した、Cisco のサイトを参考に設定してみると良いでしょう。
DHCPv6 サーバ
DHCPv6-SV
プロトコル | コンフィグ | 解説 |
---|---|---|
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:DB8: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
dns-server
domain-name
ipv6 local pool
|
IPv6 スタティックルーティング
DHCPv6-SV
プロトコル | コンフィグ | 解説 |
---|---|---|
IPv6 スタティックルーティング |
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
ipv6 address
|
Core
プロトコル | コンフィグ | 解説 |
---|---|---|
IPv6 スタティックルーティング |
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
ipv6 nd ra suppress all
ipv6 ospf 1 area 0.0.0.0
|
OSPFv3
隣接関係
Core
プロトコル | コンフィグ | 解説 |
---|---|---|
OSPFv3 |
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 address 2001:DB8:4860::8888/128 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
passive-interface default
|
Dist
プロトコル | コンフィグ | 解説 |
---|---|---|
OSPFv3 |
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
passive-interface default
|
ルート集約
Dist
プロトコル | コンフィグ | 解説 |
---|---|---|
OSPFv3
ルート集約 |
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 |
ipv6 ospf 1 area 0.0.0.0
summary-prefix
redistribute static
|
DHCPv6-PD リレーエージェント
Dist
プロトコル | コンフィグ | 解説 |
---|---|---|
DHCPv6
リレーエージェント |
Dist#show run int gi 1 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
ipv6 nd managed-config-flag
ipv6 nd other-config-flag
ipv6 dhcp relay destination
ipv6 dhcp relay source-interface
|
DHCPv6-PD
ルートインジェクション |
Dist#show run all | s ipv6 dhcp iapd-route-add ipv6 dhcp iapd-route-add |
ipv6 dhcp iapd-route-add
|
DHCPv6-PD クライアント
PD-CL
プロトコル | コンフィグ | 解説 |
---|---|---|
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 ipv6 dhcp client request vendor no mop enabled no mop sysid |
ipv6 address autoconfig default
ipv6 dhcp client pd PD-PREFIX
|
DHCPv6-PD SLAAC ゲートウェイ
PD-CL
プロトコル | コンフィグ | 解説 |
---|---|---|
DHCPv6-PD
クライアント |
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
ipv6 address PD-PREFIX ::1/64
|
IPv6 SLAAC クライアント
SLAAC
プロトコル | コンフィグ | 解説 |
---|---|---|
IPv6 クライアント |
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 SLAAC クライアントのバッドプラクティス
RA に M フラグの存在しない PD-CL に対し、ipv6 address dhcp を設定しないこと
- M フラグ = アドレス or プレフィックスをルータ RA -> DHCPv6 サーバからの払い出しに変更する機能
動作確認 - ホスト別 show コマンドリスト
DHCPv6-SV
- show ipv6 dhcp binding
- show ipv6 dhcp pool
Core
- show ipv6 route
Dist
- show ipv6 ospf summary-prefix
- show ipv6 dhcp relay binding
- show ipv6 route static
PD-CL
- show ipv6 dhcp interface GigabitEthernet 4
- show ipv6 interface GigabitEthernet 1 prefix
- show ipv6 dhcp interface GigabitEthernet 1
- show ipv6 dhcp pool
SLAAC
- show ipv6 route
- show ip name-servers
動作確認 - show コマンド
DHCPv6-SV
show ipv6 dhcp binding
プロトコル | show コマンド | 確認ポイント |
---|---|---|
DHCPv6
サーバ |
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 がバインディングテーブルに存在すること |
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:DB8:4860::8888 Domain name: example.com Active clients: 1 |
link-address が PD ルートを払い出す Dist のインターフェースアドレスと一致していること |
Core
show ipv6 route
プロトコル | show コマンド | 確認ポイント |
---|---|---|
OSPFv3 | 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 で学習していること
/56 の DHCPv6-PD サブネットルートを受信している場合、Dist で集約ルートに失敗しています |
Dist
OSPFv3
show ipv6 ospf summary-prefix
プロトコル | show コマンド | 確認ポイント |
---|---|---|
OSPFv3 |
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 で再配布されていること |
Dist#show ipv6 route ospf IPv6 Routing Table - default - 9 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:4860::8888/128 [110/1] via FE80::AE86:200:1, GigabitEthernet4 O 2001:DB8:AE86:100::/64 [110/2] via FE80::AE86:200:1, GigabitEthernet4 O 2001:DB8:CAFE::/48 [254/20] via Null0, directly connected |
以下を Core から受信していること
以下が Null0 ルートとして登録されていること
| |
DHCPv6-PD
リレーエージェント |
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 |
/56 PD ルートと同じプレフィックスを払い出していること |
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 |
DHCPv6 Relay された際、スタティックルートが登録されます
PD クライアント宛 /56 スタティックルートが登録されていること |
PD-CL
DHCPv6-PD クライアント
プロトコル | show コマンド | 確認ポイント |
---|---|---|
DHCPv6-PD
クライアント |
PD-CL#show ipv6 dhcp interface GigabitEthernet 4 GigabitEthernet4 is in client mode Prefix State is OPEN (0) Information refresh timer expires in 21:20:06 Renew will be sent in 3d09h 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 04:09 AM (2582406 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 サーバで設定したものと同一であること 下位にサブネット分割するための、プレフィックス名があること |
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 |
下位側インターフェースに PRE-PREFIX /56 を上位に使用した、/64 プレフィックスを割り当てていること | |
DHCPv6 サーバ |
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 名を指定しない場合もあります |
PD-CL#show ipv6 dhcp pool DHCPv6 pool: SLAAC Imported DNS server: 2001:DB8:4860::8888 Imported Domain name: example.com Active clients: 0 |
Pool に DHCPv6 サーバから受信した
が設定されていること |
SLAAC
プロトコル | show コマンド | 確認ポイント |
---|---|---|
IPv6 クライアント |
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 |
IPv6 デフォルトルートを持っていること
PD-CL でサブネット分割されたグローバルユニキャストネットワークアドレスを持っていること |
SLAAC#show ip name-servers 2001:DB8:4860::8888 |
DHCPV6-PD -> PD-CL 経由で DNS サーバを受信できていること |
疎通確認
疎通不可の場合、traceroute で不通となっている箇所を特定し、該当するプロトコルを切り分けて障害箇所を特定します。
Dist プロビジョニング用疎通確認
DHCPv6 プロビジョニングに必要な疎通確認は、以下になります。
Dist Gi4 -> DHCPv6-SV : ping 2001:DB8:AE86:100::128
- 失敗する場合、Core と接続する OSPFv3 P2P アドレスで、OSPFv3 の広報に失敗していないか確認します
Dist Gi1 -> DHCPv6-SV : ping 2001:DB8:AE86:100::128 source Gi1
- 失敗する場合、PD-CL 収容インターフェースのアドレスで、OSPFv3 の広報に失敗していないか確認します
- DHCPv6 の払い出しの前提条件となります
PD-CL / SLAAC プロビジョニング疎通確認
DHCPv6 プロビジョニング確認に必要な疎通確認は、以下になります。
PD-CL / SLAAC Gi4 -> DHCPv6-SV : ping 2001:DB8:AE86:100::128
- 失敗する場合、以下を確認します
- PD-CL 収容インターフェースのアドレスで、OSPFv3 の広報に失敗していないか
- PD-CL でデフォルトルートを持っているか
PD-CL / SLAAC サービス疎通確認
サービス確認に必要な疎通確認は、以下になります。
PD-CL / SLAAC Gi4 -> Core Lo0 : ping 2001:DB8:AE86:100::128
- 失敗する場合、以下を確認します
- PD-CL 収容インターフェースのアドレスで、OSPFv3 の広報に失敗していないか
- PD-CL でデフォルトルートを持っているか
- Core で ::8888 のアドレスを OSPFv3 で広報しているか
パケットキャプチャ
以下の手順で採取しました。
- PD-CL Gi4 を shutdown
- write memory
- reload
- 各所でキャプチャ開始
- PD-CL Gi4 no shutdown
再起動しない場合、以前取得していたプレフィックスを再度要求する、rebind メッセージがキャプチャできます。
DHCPv6-SV Gi4 ファイル:DHCPv6-SV Gi4.pcapng
01-DHCPv6 Relay Forward
Frame 1: 231 bytes on wire (1848 bits), 231 bytes captured (1848 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:02:00:02 (50:00:00:02:00:02), Dst: 50:00:00:01:00:03 (50:00:00:01:00:03)
Internet Protocol Version 6, Src: 2001:db8:fd7::1, Dst: 2001:db8:ae86:100::128
User Datagram Protocol, Src Port: 547, Dst Port: 547
DHCPv6
Message type: Relay-forw (12)
Hopcount: 0
Link address: 2001:db8:fd7::1
Peer address: fe80::5200:ff:fe04:3
Relay Message
Option: Relay Message (9)
Length: 84
DHCPv6
Message type: Solicit (1)
Transaction ID: 0x17cbbf
Elapsed time
Option: Elapsed time (8)
Length: 2
Elapsed time: 0ms
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001e14d9fb00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:d9:fb:00
User Class
Option: User Class (15)
Length: 10
Vendor Class
Option: Vendor Class (16)
Length: 14
Enterprise ID: ciscoSystems (9)
vendor-class-data: CSR1000V
Option Request
Option: Option Request (6)
Length: 8
Requested Option code: Identity Association for Prefix Delegation (25)
Requested Option code: DNS recursive name server (23)
Requested Option code: Domain Search List (24)
Requested Option code: Boot File URL (59)
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 12
IAID: 000a0001
T1: 0
T2: 0
Client Link-Layer Address
Option: Client Link-Layer Address (79)
Length: 8
Interface-Id
Option: Interface-Id (18)
Length: 5
Interface-ID: 0103476931
Remote Identifier
Option: Remote Identifier (37)
Length: 22
Enterprise ID: ciscoSystems (9)
Remote-ID: 020000000000000a00030001001ee5c71700
003 : Dist の Gi1 2001:db8:fd7::1 を送信元 IPv6 , DHCPv6-SV の Gi4 2001:db8:ae86:100::128 を宛先 IPv6 に指定しています
006 : Relay Forward メッセージを示しています
009 : PD-CL Gi4 Link-local アドレス
020-026 : DUID は DHCPv6 のクライアント固有識別子を示す DUID Type が 3 になっており、リンクレイヤーアドレスを元にしてアドレスやプレフィックスを払い出す DUID-LL を意味する (RFC8415)
026 : DHCPv6-PD クライアントの MAC アドレス
035-41 : 取得したい アドレス or プレフィックス、DNS サーバ IP など
042-47 : RFC3633 IA-PD (Identity Association for Prefix Delegation) オプション
02-DHCPv6 Relay Reply
Frame 2: 223 bytes on wire (1784 bits), 223 bytes captured (1784 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:01:00:03 (50:00:00:01:00:03), Dst: 50:00:00:02:00:02 (50:00:00:02:00:02)
Internet Protocol Version 6, Src: 2001:db8:ae86:100::128, Dst: 2001:db8:fd7::1
User Datagram Protocol, Src Port: 547, Dst Port: 547
DHCPv6
Message type: Relay-reply (13)
Hopcount: 0
Link address: 2001:db8:fd7::1
Peer address: fe80::5200:ff:fe04:3
Relay Message
Option: Relay Message (9)
Length: 114
DHCPv6
Message type: Advertise (2)
Transaction ID: 0x17cbbf
Server Identifier
Option: Server Identifier (2)
Length: 10
DUID: 00030001001e14471b00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:47:1b:00
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001e14d9fb00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:d9:fb:00
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 41
IAID: 000a0001
T1: 302400
T2: 483840
IA Prefix
Option: IA Prefix (26)
Length: 25
Preferred lifetime: 604800
Valid lifetime: 2592000
Prefix length: 56
Prefix address: 2001:db8:cafe::
DNS recursive name server
Option: DNS recursive name server (23)
Length: 16
1 DNS server address: 2001:4860:4860::8888
Domain Search List
Option: Domain Search List (24)
Length: 13
Domain name suffix search list
Interface-Id
Option: Interface-Id (18)
Length: 5
Interface-ID: 0103476931
003 : DHCPv6-SV の Gi4 2001:db8:ae86:100::128 を送信元 IPv6 , Dist の Gi1 2001:db8:fd7::1 を宛先 IPv6 に指定しています
006 : Relay-Reply メッセージを示しています
009 : PD-CL Gi4 Link-local アドレス
029 : DHCPv6-PD クライアントの MAC アドレス
030-42 : RFC3633 IA-PD オプション 取得したい アドレス or プレフィックス、DNS サーバ IP など
043-46 : DNS サーバ
047-50 : ドメイン検索リスト
03-DHCPv6 Relay Forward
Frame 3: 274 bytes on wire (2192 bits), 274 bytes captured (2192 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:02:00:02 (50:00:00:02:00:02), Dst: 50:00:00:01:00:03 (50:00:00:01:00:03)
Internet Protocol Version 6, Src: 2001:db8:fd7::1, Dst: 2001:db8:ae86:100::128
User Datagram Protocol, Src Port: 547, Dst Port: 547
DHCPv6
Message type: Relay-forw (12)
Hopcount: 0
Link address: 2001:db8:fd7::1
Peer address: fe80::5200:ff:fe04:3
Relay Message
Option: Relay Message (9)
Length: 127
DHCPv6
Message type: Request (3)
Transaction ID: 0x1948ce
Elapsed time
Option: Elapsed time (8)
Length: 2
Elapsed time: 0ms
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001e14d9fb00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:d9:fb:00
User Class
Option: User Class (15)
Length: 10
Vendor Class
Option: Vendor Class (16)
Length: 14
Enterprise ID: ciscoSystems (9)
vendor-class-data: CSR1000V
Option Request
Option: Option Request (6)
Length: 8
Requested Option code: Identity Association for Prefix Delegation (25)
Requested Option code: DNS recursive name server (23)
Requested Option code: Domain Search List (24)
Requested Option code: Boot File URL (59)
Server Identifier
Option: Server Identifier (2)
Length: 10
DUID: 00030001001e14471b00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:47:1b:00
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 41
IAID: 000a0001
T1: 0
T2: 0
IA Prefix
Option: IA Prefix (26)
Length: 25
Preferred lifetime: 0
Valid lifetime: 0
Prefix length: 56
Prefix address: 2001:db8:cafe::
Client Link-Layer Address
Option: Client Link-Layer Address (79)
Length: 8
Interface-Id
Option: Interface-Id (18)
Length: 5
Interface-ID: 0103476931
Remote Identifier
Option: Remote Identifier (37)
Length: 22
Enterprise ID: ciscoSystems (9)
Remote-ID: 020000000000000a00030001001ee5c71700
01-Relay Forward と 02-Relay Reply で交渉した結果、クライアントが要求した内容を示します。
003 : Dist の Gi1 2001:db8:fd7::1 を送信元 IPv6 , DHCPv6-SV の Gi4 2001:db8:ae86:100::128 を宛先 IPv6 に指定しています
006 : Relay Forward メッセージを示しています
009 : PD-CL Gi4 Link-local アドレス
020-026 : DUID は DHCPv6 のクライアント固有識別子を示す DUID Type が 3 になっており、リンクレイヤーアドレスを元にしてアドレスやプレフィックスを払い出す DUID-LL を意味する (RFC8415)
026 : DHCPv6-PD クライアントの MAC アドレス
035-41 : 取得したい アドレス or プレフィックス、DNS サーバ IP など
049-61 : RFC3633 IA-PD オプション 取得したい アドレス or プレフィックス
04-DHCPv6 Relay Reply
Frame 4: 223 bytes on wire (1784 bits), 223 bytes captured (1784 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:01:00:03 (50:00:00:01:00:03), Dst: 50:00:00:02:00:02 (50:00:00:02:00:02)
Internet Protocol Version 6, Src: 2001:db8:ae86:100::128, Dst: 2001:db8:fd7::1
User Datagram Protocol, Src Port: 547, Dst Port: 547
DHCPv6
Message type: Relay-reply (13)
Hopcount: 0
Link address: 2001:db8:fd7::1
Peer address: fe80::5200:ff:fe04:3
Relay Message
Option: Relay Message (9)
Length: 114
DHCPv6
Message type: Reply (7)
Transaction ID: 0x1948ce
Server Identifier
Option: Server Identifier (2)
Length: 10
DUID: 00030001001e14471b00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:47:1b:00
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001e14d9fb00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:d9:fb:00
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 41
IAID: 000a0001
T1: 302400
T2: 483840
IA Prefix
Option: IA Prefix (26)
Length: 25
Preferred lifetime: 604800
Valid lifetime: 2592000
Prefix length: 56
Prefix address: 2001:db8:cafe::
DNS recursive name server
Option: DNS recursive name server (23)
Length: 16
1 DNS server address: 2001:4860:4860::8888
Domain Search List
Option: Domain Search List (24)
Length: 13
Domain name suffix search list
Interface-Id
Option: Interface-Id (18)
Length: 5
Interface-ID: 0103476931
03-Relay Forward に対し、実際に割り当てるアドレス・プレフィックスを 04 で返信します。
003 : DHCPv6-SV の Gi4 2001:db8:ae86:100::128 を送信元 IPv6 , Dist の Gi1 2001:db8:fd7::1 を宛先 IPv6 に指定しています
006 : Relay-Reply メッセージを示しています
009 : PD-CL Gi4 Link-local アドレス
029 : DHCPv6-PD クライアントの MAC アドレス
030-42 : RFC3633 IA-PD オプション 取得したい アドレス or プレフィックス
043-46 : DNS サーバ
047-50 : ドメイン検索リスト
PD-CL ファイル:PD-CL Gi4 capture.pcapng
DHCPv6 M / O フラグを両方 On にして、プレフィックスと DNS サーバを DHCPv6 サーバから取得するキャプチャです。
01-DHCPv6 Solicit
Frame 14: 146 bytes on wire (1168 bits), 146 bytes captured (1168 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:04:00:03 (50:00:00:04:00:03), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02)
Internet Protocol Version 6, Src: fe80::5200:ff:fe04:3, Dst: ff02::1:2
User Datagram Protocol, Src Port: 546, Dst Port: 547
DHCPv6
Message type: Solicit (1)
Transaction ID: 0x17cbbf
Elapsed time
Option: Elapsed time (8)
Length: 2
Elapsed time: 0ms
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001e14d9fb00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:d9:fb:00
User Class
Option: User Class (15)
Length: 10
Vendor Class
Option: Vendor Class (16)
Length: 14
Enterprise ID: ciscoSystems (9)
vendor-class-data: CSR1000V
Option Request
Option: Option Request (6)
Length: 8
Requested Option code: Identity Association for Prefix Delegation (25)
Requested Option code: DNS recursive name server (23)
Requested Option code: Domain Search List (24)
Requested Option code: Boot File URL (59)
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 12
IAID: 000a0001
T1: 0
T2: 0
003 : PD-CL ではリンクローカル アドレスしか持っていないため、送信元がリンクローカル、宛先が ff02::1:2 のルータ宛マルチキャストアドレスになります
006 : Solicit メッセージを示しています
012-018 : DUID は DHCPv6 のクライアント固有識別子を示す DUID Type が 3 になっており、リンクレイヤーアドレスを元にしてアドレスやプレフィックスを払い出す DUID-LL を意味する (RFC8415)
018 : DHCPv6-PD クライアントの MAC アドレス
027-33 : 取得したい アドレス or プレフィックス、DNS サーバ IP など
034-39 : RFC3633 IA-PD (Identity Association for Prefix Delegation) オプション
02-DHCPv6 Advertise
Frame 15: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:03:00:00 (50:00:00:03:00:00), Dst: 50:00:00:04:00:03 (50:00:00:04:00:03)
Internet Protocol Version 6, Src: fe80:db8:fd7::1, Dst: fe80::5200:ff:fe04:3
User Datagram Protocol, Src Port: 547, Dst Port: 546
DHCPv6
Message type: Advertise (2)
Transaction ID: 0x17cbbf
Server Identifier
Option: Server Identifier (2)
Length: 10
DUID: 00030001001e14471b00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:47:1b:00
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001e14d9fb00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:d9:fb:00
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 41
IAID: 000a0001
T1: 302400
T2: 483840
IA Prefix
Option: IA Prefix (26)
Length: 25
Preferred lifetime: 604800
Valid lifetime: 2592000
Prefix length: 56
Prefix address: 2001:db8:cafe::
DNS recursive name server
Option: DNS recursive name server (23)
Length: 16
1 DNS server address: 2001:4860:4860::8888
Domain Search List
Option: Domain Search List (24)
Length: 13
Domain name suffix search list
003 : PD-CL ではリンクローカル アドレスしか持っていないため、宛先が PD-CL リンクローカル、送信元がルータのリンクローカルになります
006 : Advertise メッセージを示している
021 : DHCPv6-PD クライアントの MAC アドレス
022-34 : RFC3633 IA-PD オプション 取得したい アドレス or プレフィックス
035-38 : DNS サーバ
039-42 : ドメイン検索リスト
03-DHCPv6 Request
Frame 16: 189 bytes on wire (1512 bits), 189 bytes captured (1512 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:04:00:03 (50:00:00:04:00:03), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02)
Internet Protocol Version 6, Src: fe80::5200:ff:fe04:3, Dst: ff02::1:2
User Datagram Protocol, Src Port: 546, Dst Port: 547
DHCPv6
Message type: Request (3)
Transaction ID: 0x1948ce
Elapsed time
Option: Elapsed time (8)
Length: 2
Elapsed time: 0ms
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001e14d9fb00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:d9:fb:00
User Class
Option: User Class (15)
Length: 10
Vendor Class
Option: Vendor Class (16)
Length: 14
Enterprise ID: ciscoSystems (9)
vendor-class-data: CSR1000V
Option Request
Option: Option Request (6)
Length: 8
Requested Option code: Identity Association for Prefix Delegation (25)
Requested Option code: DNS recursive name server (23)
Requested Option code: Domain Search List (24)
Requested Option code: Boot File URL (59)
Server Identifier
Option: Server Identifier (2)
Length: 10
DUID: 00030001001e14471b00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:47:1b:00
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 41
IAID: 000a0001
T1: 0
T2: 0
IA Prefix
Option: IA Prefix (26)
Length: 25
Preferred lifetime: 0
Valid lifetime: 0
Prefix length: 56
Prefix address: 2001:db8:cafe::
01-Solicit と 02-Advertise で交渉した結果、クライアントが要求する内容を示します。
003 : PD-CL ではリンクローカル アドレスしか持っていないため、送信元がリンクローカル、宛先が ff02::1:2 のルータ宛マルチキャストアドレスになります
006 : Request メッセージを示しています
013-018 : DUID は DHCPv6 のクライアント固有識別子を示す DUID Type が 3 になっており、リンクレイヤーアドレスを元にしてアドレスやプレフィックスを払い出す DUID-LL を意味する (RFC8415)
018 : DHCPv6-PD クライアントの MAC アドレス
027-33 : 取得したい アドレス or プレフィックス、DNS サーバ IP など
041-53 : RFC3633 IA-PD オプション 取得したい アドレス or プレフィックス
04-DHCPv6 Reply
Frame 17: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:03:00:00 (50:00:00:03:00:00), Dst: 50:00:00:04:00:03 (50:00:00:04:00:03)
Internet Protocol Version 6, Src: fe80:db8:fd7::1, Dst: fe80::5200:ff:fe04:3
User Datagram Protocol, Src Port: 547, Dst Port: 546
DHCPv6
Message type: Reply (7)
Transaction ID: 0x1948ce
Server Identifier
Option: Server Identifier (2)
Length: 10
DUID: 00030001001e14471b00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:47:1b:00
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001e14d9fb00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:d9:fb:00
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 41
IAID: 000a0001
T1: 302400
T2: 483840
IA Prefix
Option: IA Prefix (26)
Length: 25
Preferred lifetime: 604800
Valid lifetime: 2592000
Prefix length: 56
Prefix address: 2001:db8:cafe::
DNS recursive name server
Option: DNS recursive name server (23)
Length: 16
1 DNS server address: 2001:4860:4860::8888
Domain Search List
Option: Domain Search List (24)
Length: 13
Domain name suffix search list
03-Request に対し、実際に割り当てられたアドレス・プレフィックスを 04 で受信。
003 : PD-CL ではリンクローカル アドレスしか持っていないため、宛先が PD-CL リンクローカル、送信元がルータのリンクローカルになります
006 : Reply メッセージを示しています
021 : DHCPv6-PD クライアントの MAC アドレス
022-34 : RFC3633 IA-PD オプション 取得したい アドレス or プレフィックス
035-38 : DNS サーバ
039-42 : ドメイン検索リスト
SLAAC ICMPv6 NS / NA ファイル:SLAAC Gi4 capture.pcapng
IPv6 ND RA で DHCPv6 サーバではなく、PD-CL ルータからアドレスを払い出す SLAAC クライアントのキャプチャです。
ここのみ SLAAC を再起動して取得しています。
- DHCPv6-PD の払い出しと、別の処理で行われるため
01-ICMPv6 Neighbor Solicitation (NS)
Frame 4: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_ff:05:00:03 (33:33:ff:05:00:03)
Internet Protocol Version 6, Src: ::, Dst: ff02::1:ff05:3
Internet Control Message Protocol v6
Type: Neighbor Solicitation (135)
Code: 0
Checksum: 0x821b [correct]
[Checksum Status: Good]
Reserved: 00000000
Target Address: fe80::5200:ff:fe05:3
ICMPv6 Option (Nonce)
Type: Nonce (14)
Length: 1 (8 bytes)
Nonce: 7dfaf2df2a18
003 : SLAAC ではリンクローカル アドレスが使用できるかまだわからないため、送信元がなし、宛先が ff02::1:2 のルータ宛マルチキャストアドレスになります
Duplicate Address Detection (DAD) が終わったあとに、送信元アドレスが使用可能になります
005 : Neighbor Solicitation メッセージを示しています
02-ICMPv6 Neighbor Advertisement (NA)
Frame 9: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_01 (33:33:00:00:00:01)
Internet Protocol Version 6, Src: fe80::5200:ff:fe05:3, Dst: ff02::1
Internet Control Message Protocol v6
Type: Neighbor Advertisement (136)
Code: 0
Checksum: 0xe784 [correct]
[Checksum Status: Good]
Flags: 0xa0000000, Router, Override
1... .... .... .... .... .... .... .... = Router: Set
.0.. .... .... .... .... .... .... .... = Solicited: Not set
..1. .... .... .... .... .... .... .... = Override: Set
...0 0000 0000 0000 0000 0000 0000 0000 = Reserved: 0
Target Address: fe80::5200:ff:fe05:3
ICMPv6 Option (Target link-layer address : 50:00:00:05:00:03)
Type: Target link-layer address (2)
Length: 1 (8 bytes)
Link-layer address: 50:00:00:05:00:03 (50:00:00:05:00:03)
003 : SLAAC ではリンクローカル アドレスが使用できるかまだわからないため、送信元がルータのリンクローカルアドレス、宛先が ff02::1 の全ノード宛マルチキャストアドレスになります
005 : Neighbor Advertisement を示しています
009-013 : ルータ + 上書きフラグをセット
SLAAC ICMPv6 RS / RA
01-ICMPv6 Router Solicitation (RS)
Frame 13: 70 bytes on wire (560 bits), 70 bytes captured (560 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_02 (33:33:00:00:00:02)
Internet Protocol Version 6, Src: fe80::5200:ff:fe05:3, Dst: ff02::2
Internet Control Message Protocol v6
Type: Router Solicitation (133)
Code: 0
Checksum: 0xdb1d [correct]
[Checksum Status: Good]
Reserved: 00000000
ICMPv6 Option (Source link-layer address : 50:00:00:05:00:03)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: 50:00:00:05:00:03 (50:00:00:05:00:03)
003 : SLAAC では NS / NA でリンクローカル アドレスを取得したため、送信元が SLAAC のリンクローカルアドレス、宛先が ff02::2 のルータ宛マルチキャストアドレスになります
005 : Router Solicitation タイプを示しています
01-ICMPv6 Router Advertisement (RA)
Frame 14: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:04:00:00 (50:00:00:04:00:00), Dst: IPv6mcast_01 (33:33:00:00:00:01)
Internet Protocol Version 6, Src: fe80::5200:ff:fe04:0, Dst: ff02::1
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0x83a4 [correct]
[Checksum Status: Good]
Cur hop limit: 64
Flags: 0x40, Other configuration, Prf (Default Router Preference): Medium
0... .... = Managed address configuration: Not set
.1.. .... = Other configuration: Set
..0. .... = Home Agent: Not set
...0 0... = Prf (Default Router Preference): Medium (0)
.... .0.. = Proxy: Not set
.... ..0. = Reserved: 0
Router lifetime (s): 1800
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (Source link-layer address : 50:00:00:04:00:00)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: 50:00:00:04:00:00 (50:00:00:04:00:00)
ICMPv6 Option (MTU : 1500)
Type: MTU (5)
Length: 1 (8 bytes)
Reserved
MTU: 1500
ICMPv6 Option (Prefix information : 2001:db8:cafe::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
1... .... = On-link flag(L): Set
.1.. .... = Autonomous address-configuration flag(A): Set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 2592000
Preferred Lifetime: 604800
Reserved
Prefix: 2001:db8:cafe::
003 : 送信元が PD-CL のリンクローカルアドレス、宛先が ff02::1 の全ノード宛マルチキャストアドレスになります
005 : Router Advertisement タイプを示しています
010-016 : Other フラグが On
029-041 : 使用可能なプレフィックスを指定
03-DHCPv6 Information Request
Frame 15: 132 bytes on wire (1056 bits), 132 bytes captured (1056 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02)
Internet Protocol Version 6, Src: fe80::5200:ff:fe05:3, Dst: ff02::1:2
User Datagram Protocol, Src Port: 546, Dst Port: 547
DHCPv6
Message type: Information-request (11)
Transaction ID: 0xc3b690
Elapsed time
Option: Elapsed time (8)
Length: 2
Elapsed time: 0ms
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001ebd296800
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:bd:29:68:00
User Class
Option: User Class (15)
Length: 10
Vendor Class
Option: Vendor Class (16)
Length: 14
Enterprise ID: ciscoSystems (9)
vendor-class-data: CSR1000V
Option Request
Option: Option Request (6)
Length: 10
Requested Option code: DNS recursive name server (23)
Requested Option code: Domain Search List (24)
Requested Option code: Subscriber Identifier (38)
Requested Option code: Boot File URL (59)
Requested Option code: Vendor-specific Information (17)
003 : SLAAC では NS / NA でリンクローカル アドレスを取得したため、送信元が SLAAC のリンクローカルアドレス、宛先が ff02::2 のルータ宛マルチキャストアドレスになります
005 : Information Request メッセージタイプを示しています
027-034 : DHCPv6 サーバから取得したい情報を示しています M フラグがないため、アドレスは要求していません
04-DHCPv6 Reply
Frame 16: 131 bytes on wire (1048 bits), 131 bytes captured (1048 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:04:00:00 (50:00:00:04:00:00), Dst: 50:00:00:05:00:03 (50:00:00:05:00:03)
Internet Protocol Version 6, Src: fe80::5200:ff:fe04:0, Dst: fe80::5200:ff:fe05:3
User Datagram Protocol, Src Port: 547, Dst Port: 546
DHCPv6
Message type: Reply (7)
Transaction ID: 0xc3b690
Server Identifier
Option: Server Identifier (2)
Length: 10
DUID: 00030001001e14d9fb00
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:14:d9:fb:00
Client Identifier
Option: Client Identifier (1)
Length: 10
DUID: 00030001001ebd296800
DUID Type: link-layer address (3)
Hardware type: Ethernet (1)
Link-layer address: 00:1e:bd:29:68:00
DNS recursive name server
Option: DNS recursive name server (23)
Length: 16
1 DNS server address: 2001:4860:4860::8888
Domain Search List
Option: Domain Search List (24)
Length: 13
Domain name suffix search list
List entry: example.com.
003 : SLAAC では NS / NA でリンクローカル アドレスを取得したため、送信元が PD-CL のリンクローカルアドレス、宛先が SLAAC のリンクローカルアドレスになります
005 : Reply メッセージタイプを示しています
027-034 : DHCPv6 サーバから取得したい情報を示しています 03 の Information Request に M フラグがないため、アドレスは要求していません O フラグは On のため、DNS サーバの情報を返しています
05-ICMPv6 Neighbor Solicitation (NS)
Frame 17: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_ff:05:00:03 (33:33:ff:05:00:03)
Internet Protocol Version 6, Src: ::, Dst: ff02::1:ff05:3
Internet Control Message Protocol v6
Type: Neighbor Solicitation (135)
Code: 0
Checksum: 0xe74d [correct]
[Checksum Status: Good]
Reserved: 00000000
Target Address: 2001:db8:cafe:0:5200:ff:fe05:3
ICMPv6 Option (Nonce)
Type: Nonce (14)
Length: 1 (8 bytes)
Nonce: 2b53d5943aa1
2001:db8:cafe:0:5200:ff:fe05:3 宛に NS を送信し、使用中のノードがいないか確認します。
06-ICMPv6 Neighbor Advertisement (NA)
Frame 18: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface -, id 0
Ethernet II, Src: 50:00:00:05:00:03 (50:00:00:05:00:03), Dst: IPv6mcast_01 (33:33:00:00:00:01)
Internet Protocol Version 6, Src: 2001:db8:cafe:0:5200:ff:fe05:3, Dst: ff02::1
Internet Control Message Protocol v6
Type: Neighbor Advertisement (136)
Code: 0
Checksum: 0xf316 [correct]
[Checksum Status: Good]
Flags: 0xa0000000, Router, Override
1... .... .... .... .... .... .... .... = Router: Set
.0.. .... .... .... .... .... .... .... = Solicited: Not set
..1. .... .... .... .... .... .... .... = Override: Set
...0 0000 0000 0000 0000 0000 0000 0000 = Reserved: 0
Target Address: 2001:db8:cafe:0:5200:ff:fe05:3
ICMPv6 Option (Target link-layer address : 50:00:00:05:00:03)
Type: Target link-layer address (2)
Length: 1 (8 bytes)
Link-layer address: 50:00:00:05:00:03 (50:00:00:05:00:03)
05 の 1 秒後に、使用中のノードがいないため、2001:db8:cafe:0:5200:ff:fe05:3 を SLAAC で使用します。
リファレンス
Cisco機器を用いた DHCP によるIPアドレス自動取得動作の確認と解説 (DHCPv6-PD)
CSR1000V IPv6 Access Services: DHCPv6 Prefix Delegation
DHCPv6 using the Prefix Delegation Feature Configuration Example
Cisco Catalyst 9300 Series Switches Data Sheet
RFC8415 - Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
RFC6355 Standards Track - Definition of the UUID-Based DHCPv6 Unique Identifier (DUID-UUID)
IPv6対応ケーブルインターネットアクセス技術仕様ガイドライン
DHCPv6 Relay Agent Notification for Prefix Delegation[1]
- PD スタティックルート インジェクションのトリガーについて記載あり
RFC 6939 - Client Link-Layer Address Option in DHCPv6 日本語訳
脚注
- ↑ IPv6 routes are added when the relay agent relays a RELAY-REPLY packet, and IPv6 routes are deleted when the prefix delegation lease time expires or the relay agent receives a release message.