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使わないなら影響ないかも
■ipv6はOSI参照モデルにまたがってる動作しているところがある。
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