「2021-09-19 DHCPv6-PD 機能検証」の版間の差分
編集の要約なし |
編集の要約なし |
||
2行目: | 2行目: | ||
== 目的 == | == 目的 == | ||
初心者向けに DHCPv6-PD を学習するための、基本情報を提供する | 初心者向けに DHCPv6-PD を学習するための、基本情報を提供する | ||
== 検証環境 == | |||
EVE-NG Community Edition | |||
Cisco CSR1000V 16.12.04a | |||
== 構成図 == | == 構成図 == | ||
[[ファイル:20210919 DHCPv6-PD Diagram.png|代替文=Diagram]] | [[ファイル:20210919 DHCPv6-PD Diagram.png|代替文=Diagram]] | ||
== IPv6 アドレッシング表 == | == IPv6 アドレッシング表 == | ||
123行目: | 51行目: | ||
/56 で払い出し | /56 で払い出し | ||
|::128 | |::128 | ||
| - | | - | ||
|::1/64 から払い出し依頼があれば、2001:DB8::CAFE::/48 プールから | |::1/64 から払い出し依頼があれば、2001:DB8::CAFE::/48 プールから | ||
/56 を払い出す | /56 を払い出す | ||
|- | |- | ||
|Core | |Core | ||
| - | | - | ||
|::1 | |::1 | ||
GW | GW | ||
|::1 | |::1 | ||
OSPFv3 | OSPFv3 | ||
| - | | - | ||
|- | |- | ||
|Dist | |Dist | ||
142行目: | 70行目: | ||
スタティックルートを持つ | スタティックルートを持つ | ||
| - | | - | ||
|::2 | |::2 | ||
OSPFv3 | OSPFv3 | ||
153行目: | 81行目: | ||
|/56 を PD ルートとして持つ | |/56 を PD ルートとして持つ | ||
SLAAC-CL へ /64 サブネットを提供 | SLAAC-CL へ /64 サブネットを提供 | ||
| - | | - | ||
| - | | - | ||
| - | | - | ||
|- | |- | ||
|SLAAC-CL | |SLAAC-CL | ||
|PC のステートレス DHCPv6 を模擬 | |PC のステートレス DHCPv6 を模擬 | ||
| - | | - | ||
| - | | - | ||
| - | | - | ||
|} | |} | ||
204行目: | 132行目: | ||
* /64 サブネット分割されたグローバル ユニキャストアドレスと、PD-CL 宛デフォルトルートを持つ | * /64 サブネット分割されたグローバル ユニキャストアドレスと、PD-CL 宛デフォルトルートを持つ | ||
== プロトコル別コンフィギュレーション == | |||
=== IPv6 スタティックルート === | |||
[[ファイル:20210919 DHCPv6-PD Diagram 01-Static Routing.png|代替文=IPv6_Static_Routing|なし|フレーム|IPv6_Static_Routing]] | |||
<syntaxhighlight lang="diff"> | |||
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 DHCPv6-PD01 | |||
no mop enabled | |||
no mop sysid | |||
ipv6 route ::/0 GigabitEthernet4 FE80::AE86:100:1 | |||
</syntaxhighlight>ipv6 route | |||
* DHCPv6-SV は Core 宛デフォルトルートを設定する | |||
<syntaxhighlight lang="diff"> | |||
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 | |||
</syntaxhighlight>ipv6 address <address> link-local | |||
* Core は DHCPv6-SV を収容する、ゲートウェイ用インターフェースを設定する | |||
* IPv6 では通常 link-local アドレスをルーティングのネクストホップとして指定する | |||
ipv6 ospf 1 area 0.0.0.0 | |||
* OSPFv3 にルートを広報するため、エリアを設定する | |||
=== OSPFv3 === | |||
==== 隣接関係 ==== | |||
[[ファイル:20210919_DHCPv6-PD_Diagram_02-01-OSPFv3_Neighbor.png|代替文=OSPFv3 Neighbor|なし|フレーム|OSPFv3 Neighbor]] | |||
<syntaxhighlight lang="diff"> | |||
Core#show run | s Gi.*1|ipv6 uni|ipv6 router|Lo.*0 | |||
ipv6 unicast-routing | |||
interface Loopback0 | |||
ip address 1.1.1.1 255.255.255.255 | |||
ipv6 enable | |||
ipv6 ospf 1 area 0.0.0.0 | |||
interface GigabitEthernet1 | |||
no ip address | |||
negotiation auto | |||
ipv6 address FE80::AE86:200:1 link-local | |||
ipv6 address 2001:DB8:AE86:200::1/64 | |||
ipv6 ospf 1 area 0.0.0.0 | |||
no mop enabled | |||
no mop sysid | |||
ipv6 router ospf 1 | |||
router-id 1.1.1.1 | |||
passive-interface default | |||
no passive-interface GigabitEthernet1 | |||
</syntaxhighlight>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 を設定する | |||
<syntaxhighlight lang="diff"> | |||
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 | |||
</syntaxhighlight>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 を設定する | |||
==== ルート集約 ==== | |||
<syntaxhighlight lang="diff"> | |||
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 | |||
</syntaxhighlight>summary-prefix | |||
* Dist は Core に OSPFv3 ルートを広報する際、/56 ルートを集約して、/48 で広報する | |||
=== DHCPv6-PD リレーエージェント === | |||
<syntaxhighlight lang="diff"> | |||
Dist#show run int gi1 | |||
Building configuration... | |||
Current configuration : 406 bytes | |||
! | |||
interface GigabitEthernet1 | |||
no ip address | |||
negotiation auto | |||
ipv6 address FE80:DB8:FD7::1 link-local | |||
ipv6 address 2001:DB8:FD7::1/64 | |||
ipv6 enable | |||
ipv6 nd prefix default no-advertise | |||
ipv6 nd managed-config-flag | |||
ipv6 nd other-config-flag | |||
ipv6 dhcp relay destination 2001:DB8:AE86:100::128 | |||
ipv6 dhcp relay source-interface GigabitEthernet1 | |||
ipv6 ospf 1 area 0.0.0.0 | |||
no mop enabled | |||
no mop sysid | |||
end | |||
</syntaxhighlight>ipv6 address 2001:DB8:FD7::1/64 | |||
* DHCPv6 で link-address に使用する | |||
* DHCPv6-SV で該当する link-address の Pool からプレフィックスが払い出される | |||
ipv6 nd managed-config-flag | |||
* ipv6 のアドレス割当を Dist の ND RA (Neighbor Discovery Router Advertisement) から、DHCPv6 サーバへ変更する | |||
ipv6 nd other-config-flag | |||
* DNS サーバの情報を DHCPv6 サーバに問い合わせる | |||
ipv6 dhcp relay destination | |||
* DHCPv6-SV のグローバル ユニキャスト アドレスを指定する | |||
ipv6 dhcp relay source-interface | |||
* DHCPv6-SV にリレーする際の送信元アドレスのインターフェースを指定する | |||
=== DHCPv6-PD クライアント === | |||
<syntaxhighlight lang="diff"> | |||
PD-CL#show run | s ipv6 uni|Gi.*4 | |||
ipv6 unicast-routing | |||
interface GigabitEthernet4 | |||
no ip address | |||
negotiation auto | |||
ipv6 address autoconfig default | |||
ipv6 nd ra suppress all | |||
ipv6 dhcp client pd PD-PREFIX | |||
no mop enabled | |||
no mop sysid | |||
</syntaxhighlight>ipv6 address autoconfig default | |||
* ipv6 アドレス自動設定する | |||
* default オプションを付けるとデフォルトルートとして使用する | |||
ipv6 dhcp client pd PD-PREFIX | |||
* DHCPv6 PD クライアントとして設定 | |||
* PD-PREFIX という名前で、サブネット分割する際の集約プレフィックスを登録する | |||
=== DHCPv6-PD SLAAC ゲートウェイ === | |||
<syntaxhighlight lang="diff"> | |||
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 | |||
</syntaxhighlight>ipv6 dhcp pool | |||
* DHCPv6-PD で受信した DNS サーバとドメイン名を SLAAC プールで使用する | |||
ipv6 address PD-PREFIX ::1/64 | |||
* Gi1 で /56 集約ルートである PD-PREFIX から /64 にサブネット分割し、::1/64 アドレスを割り当てる | |||
=== SLAAC クライアント === | |||
== show コマンド動作確認方法 == | == show コマンド動作確認方法 == |
2021年9月19日 (日) 09:47時点における版
目的
初心者向けに DHCPv6-PD を学習するための、基本情報を提供する
検証環境
EVE-NG Community Edition
Cisco CSR1000V 16.12.04a
構成図
IPv6 アドレッシング表
文書用例示アドレス 2001:DB8::/32 | ||||
---|---|---|---|---|
サブネット | 2001:DB8:CAFE::/48
DHCPv6-PD 払い出しプール |
2001:DB8:AE86::/48
機器間収容セグメント |
2001:DB8:FD7::/48
DHCPv6-PD 払い出し用 送信元セグメント | |
サブネット | ::/56
/48 プールから分割して /56 払い出し |
::100:/64
DHCPv6 サーバ 収容 セグメント |
::200:/64
OSPFv3 P2P リンク |
::/64
Dist 用 |
DHCPv6-SV | /48 DHCPv6-PD
Pool を持ち、 /56 で払い出し |
::128 | - | ::1/64 から払い出し依頼があれば、2001:DB8::CAFE::/48 プールから
/56 を払い出す |
Core | - | ::1
GW |
::1
OSPFv3 |
- |
Dist | /48 OSPF Null0 宛
集約ルート PD-CL 宛 /56 サブネットの スタティックルートを持つ |
- | ::2
OSPFv3 |
::1/64
DHCPv6-PD が払い出す基準となる、 リンクアドレス |
PD-CL | /56 を PD ルートとして持つ
SLAAC-CL へ /64 サブネットを提供 |
- | - | - |
SLAAC-CL | PC のステートレス DHCPv6 を模擬 | - | - | - |
ホストリスト・役割
DHCPv6-SV
- DHCPv6 サーバを動作させ、PD クライアントにプレフィックスを払い出す
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 宛デフォルトルートを持つ
プロトコル別コンフィギュレーション
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 DHCPv6-PD01
no mop enabled
no mop sysid
ipv6 route ::/0 GigabitEthernet4 FE80::AE86:100:1
ipv6 route
- DHCPv6-SV は Core 宛デフォルトルートを設定する
Core#show run | s ipv6 uni|Gi.*3
ipv6 unicast-routing
interface GigabitEthernet3
no ip address
negotiation auto
ipv6 address FE80::AE86:100:1 link-local
ipv6 address 2001:DB8:AE86:100::1/64
ipv6 nd ra suppress all
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
ipv6 address <address> link-local
- Core は DHCPv6-SV を収容する、ゲートウェイ用インターフェースを設定する
- IPv6 では通常 link-local アドレスをルーティングのネクストホップとして指定する
ipv6 ospf 1 area 0.0.0.0
- OSPFv3 にルートを広報するため、エリアを設定する
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 enable
ipv6 ospf 1 area 0.0.0.0
interface GigabitEthernet1
no ip address
negotiation auto
ipv6 address FE80::AE86:200:1 link-local
ipv6 address 2001:DB8:AE86:200::1/64
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
ipv6 router ospf 1
router-id 1.1.1.1
passive-interface default
no passive-interface GigabitEthernet1
ipv6 ospf 1 area 0.0.0.0 / no passive-interface GigabitEthernet1
- Core は Gi1 で Dist と接続、OSPFv3 隣接関係を確立する
passive-interface default
- Gi3 の DHCPv6-SV とは隣接関係を確立しないために、OSPFv3 で passive-interface default を設定する
Dist#show run | s Gi.*4|ipv6 uni|ipv6 router|Lo.*0
ipv6 unicast-routing
interface Loopback0
ip address 1.1.1.11 255.255.255.255
ipv6 enable
ipv6 ospf 1 area 0.0.0.0
interface GigabitEthernet4
no ip address
negotiation auto
ipv6 address FE80::AE86:200:2 link-local
ipv6 address 2001:DB8:AE86:200::2/64
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
ipv6 router ospf 1
summary-prefix 2001:DB8:CAFE::/48
router-id 1.1.1.11
passive-interface default
no passive-interface GigabitEthernet4
redistribute static
ipv6 ospf 1 area 0.0.0.0 / no passive-interface GigabitEthernet4
- Dist は Gi4 で Core と接続、OSPFv3 隣接関係を確立する
passive-interface default
- Gi1 の PD-CL と隣接関係を確立しないために、OSPFv3 で passive-interface default を設定する
ルート集約
Dist#show run | s Gi.*1|ipv6 uni|ipv6 router|Lo.*0
ipv6 unicast-routing
interface Loopback0
ip address 1.1.1.11 255.255.255.255
ipv6 enable
ipv6 ospf 1 area 0.0.0.0
interface GigabitEthernet1
no ip address
negotiation auto
ipv6 address FE80:DB8:FD7::1 link-local
ipv6 address 2001:DB8:FD7::1/64
ipv6 enable
ipv6 nd prefix default no-advertise
ipv6 nd managed-config-flag
ipv6 nd other-config-flag
ipv6 dhcp relay destination 2001:DB8:AE86:100::128
ipv6 dhcp relay source-interface GigabitEthernet1
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
ipv6 router ospf 1
summary-prefix 2001:DB8:CAFE::/48
router-id 1.1.1.11
passive-interface default
no passive-interface GigabitEthernet4
redistribute static
summary-prefix
- Dist は Core に OSPFv3 ルートを広報する際、/56 ルートを集約して、/48 で広報する
DHCPv6-PD リレーエージェント
Dist#show run int gi1
Building configuration...
Current configuration : 406 bytes
!
interface GigabitEthernet1
no ip address
negotiation auto
ipv6 address FE80:DB8:FD7::1 link-local
ipv6 address 2001:DB8:FD7::1/64
ipv6 enable
ipv6 nd prefix default no-advertise
ipv6 nd managed-config-flag
ipv6 nd other-config-flag
ipv6 dhcp relay destination 2001:DB8:AE86:100::128
ipv6 dhcp relay source-interface GigabitEthernet1
ipv6 ospf 1 area 0.0.0.0
no mop enabled
no mop sysid
end
ipv6 address 2001:DB8:FD7::1/64
- DHCPv6 で link-address に使用する
- DHCPv6-SV で該当する link-address の Pool からプレフィックスが払い出される
ipv6 nd managed-config-flag
- ipv6 のアドレス割当を Dist の ND RA (Neighbor Discovery Router Advertisement) から、DHCPv6 サーバへ変更する
ipv6 nd other-config-flag
- DNS サーバの情報を DHCPv6 サーバに問い合わせる
ipv6 dhcp relay destination
- DHCPv6-SV のグローバル ユニキャスト アドレスを指定する
ipv6 dhcp relay source-interface
- DHCPv6-SV にリレーする際の送信元アドレスのインターフェースを指定する
DHCPv6-PD クライアント
PD-CL#show run | s ipv6 uni|Gi.*4
ipv6 unicast-routing
interface GigabitEthernet4
no ip address
negotiation auto
ipv6 address autoconfig default
ipv6 nd ra suppress all
ipv6 dhcp client pd PD-PREFIX
no mop enabled
no mop sysid
ipv6 address autoconfig default
- ipv6 アドレス自動設定する
- default オプションを付けるとデフォルトルートとして使用する
ipv6 dhcp client pd PD-PREFIX
- DHCPv6 PD クライアントとして設定
- PD-PREFIX という名前で、サブネット分割する際の集約プレフィックスを登録する
DHCPv6-PD SLAAC ゲートウェイ
PD-CL#show run | s ipv6 uni|ipv6 dhcp pool|Gi.*1
ipv6 unicast-routing
ipv6 dhcp pool SLAAC
import dns-server
import domain-name
interface GigabitEthernet1
no ip address
negotiation auto
ipv6 address PD-PREFIX ::1/64
ipv6 nd other-config-flag
ipv6 dhcp server SLAAC
no mop enabled
no mop sysid
ipv6 dhcp pool
- DHCPv6-PD で受信した DNS サーバとドメイン名を SLAAC プールで使用する
ipv6 address PD-PREFIX ::1/64
- Gi1 で /56 集約ルートである PD-PREFIX から /64 にサブネット分割し、::1/64 アドレスを割り当てる
SLAAC クライアント
show コマンド動作確認方法
疎通確認
パケットキャプチャ
DHCPv6-SV
Relay
PD-CL
SLAAC
リファレンス
Cisco機器を用いた DHCP によるIPアドレス自動取得動作の確認と解説 (DHCPv6-PD)
CSR1000V IPv6 Access Services: DHCPv6 Prefix Delegation
DHCPv6 using the Prefix Delegation Feature Configuration Example