構成はこのように。
PC----L2----R1
|---R2
IPv6の設定の前に、IPv6でのSSDPのマルチキャストが気になるが、ここで関わってしまうといつまで経っても先に進まないので保留。
既存の設定としてはvlan1に
ipv6 address autoconfig
のみ、ここから順次。
IPv6-R1(config)#ipv6 ?
access-list Configure access lists
cef Cisco Express Forwarding for IPv6
cga Configure IPv6 certified generated address
dhcp Configure IPv6 DHCP
flowset Set flow label random for originated packets
general-prefix Configure a general IPv6 prefix
hop-limit Configure hop count limit
host Configure static hostnames
icmp Configure ICMP parameters
inspect Context-based Access Control Engine
local Specify local options
mfib Multicast Forwarding
mld Global mld commands
mobile Mobile IPv6
multicast Configure multicast related commands
multicast-routing Enable IPv6 multicast
nat NAT-PT Configuration commands
nd Configure IPv6 ND
neighbor Neighbor
ospf OSPF
pim Configure Protocol Independent Multicast
port-map Port to application mapping (PAM) configuration commands
prefix-list Build a prefix list
radius RADIUS configuration commands
route Configure static routes
router Enable an IPV6 routing process
source-route Process packets with source routing header options
spd Selective Packet Discard (SPD)
tacacs TACACS configuration commands
traffic Configure traffic parameters
unicast-routing Enable unicast routing
IPv6-R1(config)#
ここで
IPv6-R1(config)#ipv6 unicast-routing
を投入した後、
IPv6-R1#ping ipv6 ?
WORD Ping destination address or hostname
<cr>
IPv6-R1#
IPv6-R1#ping ipv6 fe80::226:99ff:fec8:287c
Output Interface: vlan1
% IPv6 isn't enabled on this interface
なるほど、vlan1がupしてなかった。そらenabled なわけないわ。vlan1を上げて自アドレスにpingが通ったところで続いてL2を介してつながっているPCのリンクローカルアドレスにping
IPv6-R1#ping ipv6 fe80::ec3d:80d5:e7ea:9fa0
Output Interface: vlan1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::EC3D:80D5:E7EA:9FA0, timeout is 2 seconds:
Packet sent with a source address of FE80::226:99FF:FEC8:287C%Vlan1
.....
Success rate is 0 percent (0/5)
通らない。PC側では受信していて応答を返していないのでPC側の問題。これも掘り下げると進まないので、ルータ間で確認する。
R1とR2間のリンクローカルアドレス同士はPing OK。ルータ間についてdebugで見るとこの通り。
IPv6-R1#debug ipv6 icmp
ICMP Packet debugging is on
IPv6-R1#
Pv6-R1#ping ipv6 fe80::2e54:2dff:fe99:b815
Output Interface: vlan 1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::2E54:2DFF:FE99:B815, timeout is 2 seconds:
Packet sent with a source address of FE80::226:99FF:FEC8:287C%Vlan1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/4 ms
IPv6-R1#
Dec 27 15:22:33.752: ICMPv6: Sent echo request, Src=FE80::226:99FF:FEC8:287C, Dst=FE80::2E54:2DFF:FE99:B815
Dec 27 15:22:33.752: ICMPv6: Received echo reply, Src=FE80::2E54:2DFF:FE99:B815, Dst=FE80::226:99FF:FEC8:287C
Dec 27 15:22:33.752: ICMPv6: Sent echo request, Src=FE80::226:99FF:FEC8:287C, Dst=FE80::2E54:2DFF:FE99:B815
Dec 27 15:22:33.752: ICMPv6: Received echo reply, Src=FE80::2E54:2DFF:FE99:B815, Dst=FE80::226:99FF:FEC8:287C
Dec 27 15:22:33.752: ICMPv6: Sent echo request, Src=FE80::226:99FF:FEC8:287C, Dst=FE80::2E54:2DFF:FE99:B815
Dec 27 15:22:33.756: ICMPv6: Received echo reply, Src=FE80::2E54:2DFF:FE99:B815, Dst=FE80::226:99FF:FEC8:287C
Dec 27 15:22:33.756: ICMPv6: Sent echo request, Src=FE80::226:99FF:FEC8:287C, Dst=FE80::2E54:2DFF:FE99:B815
Dec 27 15:22:33.756: ICMPv6: Received echo reply, Src=FE80::2E54:2DFF:FE99:B815, Dst=FE80::226:99FF:FEC8:287C
Dec 27 15:22:33.756: ICMPv6: Sent echo request, Src=FE80::226:99FF:FEC8:287C, Dst=FE80::2E54:2DFF:FE99:B815
Dec 27 15:22:33.760: ICMPv6: Received echo reply, Src=FE80::2E54:2DFF:FE99:B815, Dst=FE80::226:99FF:FEC8:287C
IPv6-R1#
Dec 27 15:22:38.824: ICMPv6: Received N-Solicit, Src=FE80::2E54:2DFF:FE99:B815, Dst=FE80::226:99FF:FEC8:287C
Dec 27 15:22:38.828: ICMPv6: Sent N-Advert, Src=FE80::226:99FF:FEC8:287C, Dst=FE80::2E54:2DFF:FE99:B815
IPv6-R1#
IPv6-R1#
IPv6-R1#
Dec 27 15:22:43.924: ICMPv6: Sent R-Advert, Src=FE80::226:99FF:FEC8:287C, Dst=FF02::1
IPv6-R1#
pingに前後してネイバーソォリィシット、ネイバーァエドヴァト、それから定期なルータぁえどヴぁっとも見られる。
リンクローカルアドレスとこのpingについてはCisco社のこちら。
http://www.cisco.com/cisco/web/support/JP/110/1109/1109812_ipv6-lla.html
続いて、具体的にIPv6アドレスの設定を。設定にあたってのアドレス設計だが、ULAを使う。
IETFから Unique Local IPv6 Unicast Addresses
https://tools.ietf.org/html/rfc4193
JPNIC ユニークローカルIPv6ユニキャストアドレス
https://www.nic.ad.jp/ja/newsletter/No32/090.html
具体的には、fc00::/8 でなく fd00::/8 から。下図ではfc00だが。また、ここでのグローバル識別子は仮に、10進で言うところの277。
サブネット識別子は、テスト構成でいろいろやるのでIPv4の下16ビットにでも合わせるか。ま、そこはテキトーに。
ともあれ設定。
IPv6-R1(config-if)#ipv6 address ?
WORD General prefix name
X:X:X:X::X IPv6 link-local address
X:X:X:X::X/<0-128> IPv6 prefix
autoconfig Obtain address using autoconfiguration
dhcp Obtain a ipv6 address using dhcp
IPv6-R1(config-if)#ipv6 address FC00:0:115:1302:0:0:0:1/64
設定後のdebug ipv6 icmpの出力は
Dec 27 17:05:46.206: %SYS-5-CONFIG_I: Configured from console by console
Dec 27 17:05:55.434: ICMPv6: Received R-Advert, Src=FE80::2E54:2DFF:FE99:B815, Dst=FF02::1
Dec 27 17:07:02.707: ICMPv6: Sent R-Advert, Src=FE80::226:99FF:FEC8:287C, Dst=FF02::1
Dec 27 17:07:03.707: ICMPv6: Received N-Advert, Src=FC00:0:115:1302:2E54:2DFF:FE99:B815, Dst=FF02::1
Dec 27 17:07:03.835: ICMPv6: Received N-Advert, Src=FC00:0:115:1302:F8E4:95D1:C4DA:1759, Dst=FF02::1
Dec 27 17:08:50.129: ICMPv6: Received R-Advert, Src=FE80::2E54:2DFF:FE99:B815, Dst=FF02::1
Dec 27 17:10:19.878: ICMPv6: Sent R-Advert, Src=FE80::226:99FF:FEC8:287C, Dst=FF02::1
・・・やらかした。fd00を使うつもりがfc00で設定してる。これぞまさに誤3っぷり、愚かにも程がある。 いったん設定削除。
IPv6-R1(config-if)#no ipv6 address FC00:0:115:1302:0:0:0:1/64
IPv6-R1(config-if)#
Dec 27 17:17:20.170: ICMPv6: Sent type 254, Src=FE80::226:99FF:FEC8:287C, Dst=FF02::16
Dec 27 17:17:20.690: ICMPv6: Sent type 254, Src=FE80::226:99FF:FEC8:287C, Dst=FF02::16
ff02::16向けに更新をかけるようだ。マッタク意図していなかったが目にすることができて幸い。ここであらためて、
ff02::16
とはなんぞや?であるのだが。IPv6なマルチキャストの末尾16ビットが 0x16、つまり
00000001 00000110。いやだから?
Google先生で検索をすると The Cisco Learning Network の CCIE Routing & Switching > Discussions から、
IPv6 address FF02::16 Significance
https://learningnetwork.cisco.com/thread/13865
このようなやりとりが。私程度ではそもそも、しぐにふぃけいす って何ですか?からなのだが。ほかにもほとんど解せない単語として、destined 、behavior 、mistique などが。そこを Weblioさんに頼りつつ何とか目を通してわかったことは。とりあえず FF02::16 とは All MLDv2-capable routers を指すということ。
IANA - IPv6 Multicast Address Space Registry
http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml
タイプ254が何を示すのかも追いたいところだが CiscoのWebコンテンツでも触れないこともある ぐらいなのでとりあえず保留。
さて、設定すべきアドレスをfd00にあらためてみたところ今度は、
Dec 27 17:24:49.278: ICMPv6: Sent type 254, Src=FE80::226:99FF:FEC8:287C, Dst=FF02::16
Dec 27 17:24:49.282: ICMPv6: Sent N-Solicit, Src=::, Dst=FF02::1:FF00:1
Dec 27 17:24:50.198: ICMPv6: Sent type 254, Src=FE80::226:99FF:FEC8:287C, Dst=FF02::16
Dec 27 17:24:50.282: ICMPv6: Sent N-Advert, Src=FD00:0:115:1302::1, Dst=FF02::1
先のログでは保留してしまったがICMPv6タイプ253と254は、ネイバーディスカバリであるようだ。ここでWindows PC側を見てみると
自動構成有効. . . . . . . . . . . . .: はい
IPv6 アドレス . . . . . . . . . . . .: fc00:0:115:1302:ec3d:80d5:e7ea:9fa0(優先)
IPv6 アドレス . . . . . . . . . . . .: fd00:0:115:1302:ec3d:80d5:e7ea:9fa0(優先)
一時 IPv6 アドレス. . . . . . . . . .: fc00:0:115:1302:f8e4:95d1:c4da:1759(優先)
一時 IPv6 アドレス. . . . . . . . . .: fd00:0:115:1302:f8e4:95d1:c4da:1759(優先)
リンクローカル IPv6 アドレス. . . . .: fe80::ec3d:80d5:e7ea:9fa0%3(優先)
IPv4 アドレス . . . . . . . . . . . .: 172.19.19.171(優先)
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: fe80::2e54:2dff:fe99:b815%3
fe80::226:99ff:fec8:287c%3
ユニークローカルユニキャストアドレスが生成されている。それも、誤って設定したfc00と修正したfd00と両方。また、ルータ側のアドレスをfc00からfd00へ修正した後も、PC側のfc00アドレスはping的には有効。そうでなければipconfig /allに表示もされないだろうがなるほど。そして、IPv6のデフォゲはユニークローカルユニキャストアドレスになっていない点もなるほど、確かにでふぉげなのでリンクローカルアドレスで事足りそうではあるが。
ここで、ユニークローカルユニキャストアドレスの生成ルールがわからなくなった。これ以前にリンクローカルアドレスの生成は?と、ここでさらに、いまさらながら IPv4のリンクローカルアドレスが169.254.0.0/16であることを知る。どうにもわかっていない。ともあれ、
Windows8 ゼロ・コンフィギュレーション しくみ
https://technet.microsoft.com/ja-jp/library/bb726952.aspx
いろいろ探してみるものの、Windowsにおけるリンクローカルアドレス生成については不明なので、これは掘り下げない。とりあえず、EUI-64ではないしRFC4941でもないということで。
話をユニークローカルユニキャストアドレスの生成に戻して。
ルータにユニークローカルゆにきゃすとアドレスを設定したのち、PCにおいてアドレスを確認するとPC側でもユニークローカルユニキャストアドレスが生成されている。このとき、ルータ側の設定ではffc0に始まるアドレスとffd0に始まるそれを続けざまに設定削除再設定したわけだが、PC側には両方のアドレスがだぶって設定されている。
そして、これらのアドレスは、インターフェースID相当の64ビット分についてそっくり、PCのリンクローカルアドレス値がそのまま転写されている。また、当たり前といえばそれまでだがグローバル識別子40ビットと、サイト識別子16ビットはルータに設定した値そのままに。
0 件のコメント:
コメントを投稿