ICMPv6
IPv6のさまざまな機能はICMPv6を利用することで実現されている。
https://www.infraexpert.com/studygif/ipv6z36.gif
機能としては
ICMP Information Message Router Advertisement(type 134)を利用
MulticastListerDiscovery(MLD)
Path MTU Discovery
ICMP Error Message( packet too big type2)で検知
このError packetの受信に失敗すると送信側がパケットを創出しなくなる
ICMPv6のフィルターがよくある原因
よくわらかずICMPv6はフィルターするな
Error notification
NeighborDiscovery
Neighbor Solicitation
IPアドレスからMACアドレスを解決するのに使う
Neighbor Advertisement
NSの応答
GARP的に自発で発信するケースもある。
重複アドレス検知(DAD)
NSを行う、使いたいアドレスを埋め込んだ要請ノードマルチキャストを行う
応答が返ってこなければ誰も使っていない
I/F立ち上げ時に行われる。
応答がある場合は衝突しているので
Path MTU Discavoryが定常的に走ってrate limitに引っかかる?
対向ASとのボーダーのMTUは変えないほうがよい?
ICMPv6のフィルタは難しい
マルチキャスト、link local, 対象セグメントと対象がおおい
実際の通信にはこれらの通信はすべて使われる。
JC1006 (janog commnet)
基本的にはICMPv6をフィルタしないほうがいい
ありえないsec IP addressはフィルタしてもいい BOGON的な
ipv6レベルでいうなら、ここはipv4と考え方は変わらない
必要プロトコルのパケットのみ受け取る
送信元アドレスもわかっているなら制限
BGPも送信元アドレス絞れるよね
フィルタするにしてもICMPv6 type 1,2,3は絶対に通過させる
RFC4890にFWでのフィルタについて色々書いてくれている