2021-09-19 DHCPv6-PD 機能検証

提供:hkatou_Lab
2021年9月19日 (日) 09:59時点におけるHkatou (トーク | 投稿記録)による版

目的

初心者向けに DHCPv6-PD を学習するための、基本情報を提供する

DHCPv6-PD のメリット

IPv6 で増大するグローバル ユニキャストアドレスを、DHCPv6-PD ルートに集約できる

 
L3SW_Direct_Connect


検証環境

EVE-NG Community Edition

Cisco CSR1000V 16.12.04a

構成図

 

IPv6 アドレッシング表

表1. 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 スタティックルート

 
IPv6_Static_Routing
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

隣接関係

 
OSPFv3 Neighbor
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

プロフェッショナルIPv6