SLAACは「機器がDHCPサーバーなしで自分でIPv6アドレスを組み立てる」仕組みだと学びました。実際にルータとPCだけでこれを再現できるとしたら、何を設定すればよいでしょうか?
ポイントは2つだけです。ルータにIPv6アドレスを設定してRA(Router Advertisement)を送出できる状態にすることと、PC側をSLAAC(自動取得)に切り替えることです。今回はその両方をIOSコマンドとGUI操作で確認します。
この演習でできるようになること
- ルータのインターフェースに
ipv6 addressコマンドでIPv6アドレスを設定できる - PC側でIPv6の自動設定(SLAAC)を有効にし、ルータからのRAを受けてアドレスが自動生成される様子を確認できる
show ipv6 interface briefでリンクローカルアドレス(LLA)とグローバルユニキャストアドレス(GUA)を区別できる
使用トポロジ
Router 2911を1台、Switch 2960を1台、PC-PTを1台用意します。ルータの GigabitEthernet0/0 をスイッチに接続し、スイッチにPCを接続します。ルータにGUA(2001:db8:acad:1::1/64)を設定してRAを送出させ、PC側をSLAACに設定して、PCが自分でGUAを組み立てる様子を確認します。
準備
- Router 2911を1台、Switch 2960を1台、PC-PTを1台配置します。
- ルータの
GigabitEthernet0/0とスイッチをストレートケーブルで接続し、スイッチとPC0もストレートケーブルで接続します。 - ルータの電源を入れ、CLIタブを開きます。
手順
- ルータでIPv6ルーティングを有効にし、インターフェースにGUAを設定します。
Router> enable
Router# configure terminal
Router(config)# ipv6 unicast-routing
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 address 2001:db8:acad:1::1/64
Router(config-if)# no shutdown
Router(config-if)# exit
ipv6 unicast-routing は、ルータがIPv6のRA(Router Advertisement)を送出し、IPv6パケットを転送できるようにするために必要なグローバル設定です。
- RAの送出設定を確認します(デフォルトで送出は有効になっていますが、明示的に確認します)。
Router(config)# interface GigabitEthernet0/0
Router(config-if)# no ipv6 nd ra suppress all
Router(config-if)# exit
- PC0をクリックし、「Desktop」タブから「IP Configuration」を開きます。
- IPv6の設定欄で「Automatic」(または「IPv6 Auto Config」に相当するオプション)を選びます。
- 少し待ってから、PC0のIPv6アドレス欄を確認します。ルータから送られたプレフィックス(
2001:db8:acad:1::/64)に基づいて、GUAが自動生成されているはずです。同時に、fe80::から始まるリンクローカルアドレスも表示されます。
確認
ルータで show ipv6 interface brief を実行すると、GUAとLLAの両方が表示されます。
Router# show ipv6 interface brief
GigabitEthernet0/0 [up/up]
FE80::1
2001:DB8:ACAD:1::1
PC0のIP Configuration画面では、次のような値が自動的に入ります(インターフェースIDの部分はMACアドレスに応じて変わります)。
IPv6 Address: 2001:DB8:ACAD:1:XXXX:XXFF:FEXX:XXXX
Link-local Address: FE80::XXXX:XXFF:FEXX:XXXX
Default Gateway: FE80::1
PC0のCommand Promptから ping 2001:db8:acad:1::1 を実行し、ルータのGUAへ疎通できることを確認します。
Pinging 2001:DB8:ACAD:1::1 with 32 bytes of data:
Reply from 2001:DB8:ACAD:1::1: bytes=32 time=1ms
Reply from 2001:DB8:ACAD:1::1: bytes=32 time<1ms
Reply from 2001:DB8:ACAD:1::1: bytes=32 time<1ms
Reply from 2001:DB8:ACAD:1::1: bytes=32 time<1ms
合格チェックリスト
- ルータで
ipv6 unicast-routingを有効にした - インターフェースに
ipv6 address 2001:db8:acad:1::1/64を設定しno shutdownした - PC側のIPv6設定を「Automatic」にし、GUAがSLAACで自動生成された
- PCの画面にプレフィックス
2001:DB8:ACAD:1::/64に一致するGUAと、FE80::のLLAの両方が表示されている - PC0からルータのGUAへのpingが成功する
つまずきポイント
ひとつめは、ipv6 unicast-routing の設定忘れです。このコマンドがないと、ルータはRAを送出せず、PC側がいつまで待ってもSLAACでGUAを取得できません。IPv6が絡む演習では、IPv4のno shutdownと同じくらい見落としやすい必須設定です。
ふたつめは、PC側の設定をDHCPと混同してしまうことです。IPv6のSLAACはDHCPサーバーを介さずルータのRAだけで完結する仕組みなので、PC側は「Automatic(SLAAC)」を選べば十分です。DHCPv6サーバーを別途探して設定しようとする必要はありません。
みっつめは、LLAとGUAを見間違えることです。PC0にはFE80::から始まるLLAと、2001:DB8:...から始まるGUAの両方が表示されます。インターネット通信や他ネットワークとの疎通確認には必ずGUAを使う必要があり、LLAを使ってpingしても同一リンク外には届きません。
ルータのインターフェースに ipv6 address を設定し no shutdown したのに、配下のPCがSLAACでGUAを取得できません。最も疑うべき設定は何でしょう?
答えを見る
ipv6 unicast-routing がグローバルコンフィギュレーションで有効になっているかです。この設定がないとルータはRA(Router Advertisement)を送出しないため、PC側はプレフィックス情報を受け取れず、SLAACによるGUAの自動生成が行われません。
ルータ側はipv6 unicast-routingとipv6 address、PC側は「Automatic」を選ぶだけ——たったこれだけで、DHCPサーバーなしにPCが自分でGUAを組み立てる様子が見られたね。これでStage02は完了、IPv4とIPv6のアドレス設計を実機でも動かせるようになったよ。次のSTAGE 03では、スイッチングの復習からVLANの世界に入っていくよ。