ipv6_リンクローカル重複

Advent Calendar 2018 大國魂(ITブログ) の5日目です。

表題にあるとおり、ipv6_リンクローカル重複させてみるとどうなるか試してみました。

ipv6のアドレスを配っているルータ(R1)のリンクローカルアドレスipv6のprefixを受け取るルータ(R2)でリンクローカルアドレスを重複させるとどうなるか?といった内容です。(この記事で試しているipv6のグローバルユニキャストアドレスの取得方法としては、ステートレス(DHCPサーバがアドレス管理をしない)自動というもの)

 

■構成図はすごく単純で

R1---R2

といった感じです。

configも至ってシンプル。

R1側:

interface Ethernet0/1.12
encapsulation dot1Q 12
ipv6 address FC00:1:1:12::1/64
ipv6 nd prefix FC00:1:1:12::/64
ipv6 nd ra suppress all
end

R2側:

R2(config-subif)#do sho run int e 0/1.12
Building configuration...

Current configuration : 89 bytes
!
interface Ethernet0/1.12
encapsulation dot1Q 12
ipv6 address autoconfig default

R1が「FC00:1:1:12::/64」のprefixを配っています。

(ここで使っているFC00~のアドレスは、グローバルユニキャストではありません。ユニークローカルアドレスというipv4で言うのプライベートアドレスと同じものです。)

■R2のipv6のルーティングテーブル見るとR1からprefixを受け取って、自分で

ipv6のアドレスも自動で作成(DHCPのステートレス)いることが

確認できます。

R2(config-subif)#do sho ipv6 route
IPv6 Routing Table - default - 13 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, ls - LISP site
ld - LISP dyn-EID, a - Application
ND ::/0 [2/0]
via FE80::A8BB:CCFF:FE00:110, Ethernet0/1.12
~中略~
NDp FC00:1:1:12::/64 [2/0]
via Ethernet0/1.12, directly connected
L FC00:1:1:12:A8BB:CCFF:FE00:210/128 [0/0]
via Ethernet0/1.12, receive
L FF00::/8 [0/0]
via Null0, receive

 

-------------

R1とR2でリンクローカルを重複させてみます。

R2(config-subif)#ipv6 address FE80::1 lin
R2(config-subif)#ipv6 address FE80::1 link-local
R2(config-subif)#
%IPV6_ND-4-DUPLICATE: Duplicate address FC00:1:1:12::1 on Ethernet0/1.12
R2(config-subif)#
%IPV6_ND-6-DUPLICATE_INFO: DAD attempt detected for FE80::1 on Ethernet0/1.12
R2(config-subif)#
R2(config-subif)#
R2(config-subif)#do sho ipv6 route
IPv6 Routing Table - default - 11 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, ls - LISP site
ld - LISP dyn-EID, a - Application
~中略~
NDp FC00:1:1:12::/64 [2/0]
via Ethernet0/1.12, directly connected
L FF00::/8 [0/0]
via Null0, receive
R2(config-subif)#

重複前にあったFC00:1:1:12:A8BB:CCFF:FE00:210/128 [0/0]

のアドレスがなくなりました!!

 

同じタイミングでのR1で行った設定

ipv6 nd ra suppress allを消しています。デフォルトでは、シスコの機器はRAを送信してしまう(https://www.infraexpert.com/study/ipv6z14.html

)ので、設定投入までは、RAを停止(ipv6 nd ra suppress all)していました。

R2からくるRSに返信しない状態

R1(config-subif)#no ipv6 nd ra suppress all
R1(config-subif)#
R1(config-subif)#
R1(config-subif)#
%IPV6_ND-6-DUPLICATE_INFO: DAD attempt detected for FC00:1:1:12::1 on Ethernet0/1.12
R1(config-subif)#ipv6 add
R1(config-subif)#ipv6 address lin
R1(config-subif)#ipv6 address FE80::1 li
R1(config-subif)#ipv6 address FE80::1 link-local
R1(config-subif)#
R1(config-subif)#
%IPV6_ND-4-DUPLICATE: Duplicate address FE80::1 on Ethernet0/1.12
R1(config-subif)#

 

<所感>
■偽のRAを送っているわけではないので、セキュリティ機能(ra guard)で
はじかれてしまうことはない。
でもIPアドレスをもらえないのは自分だけかも…

クラウド上のサーバとかでlink-local使わないなら影響ないかも

ipv6OSI参照モデルにまたがってる動作しているところがある。
link-local ---ネットワーク層 データリンク層にまたがる。
IP層の機能であるRAを利用して、上位層で利用するためのDNS情報を
配送することがレイヤーバイオレーションであり ---RAがDNS(アプリケーション層?L7?)の動作を制御する。

http://www.geekpage.jp/blog/?id=2017-1-10-1
http://hy0.hatenablog.com/entry/2018/01/19/232911