4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ipv6 nd ra suppress撲滅活動

Last updated at Posted at 2019-12-16

はじめに

この記事は IPv6 Advent Calendar 2019 の 16日目の記事として投稿しています。

TL;DR

Cisco(や、何故かそれに酷似した設定体系)のIPv6ルータで、意図せず

 ipv6 nd ra suppress

と設定するケースが多いよう(Googleで検索に引っかかりやすい?)

 ipv6 nd ra suppress all

の誤りであることが多いので、設定の見直しをしてみてね、というお話。とにかく all をつけるのだ!!

この記事自体は、JANOG44 での IPv6トラブルシューティングMini の焼き直しです。

なぜ ipv6 nd ra suppress はだめなのか

all をつけないと何が起きる?

“all” をつけなくても、定期的なRA送出は抑制されるので、⼀⾒、RA抑制ができたように思えます。しかし、この状態でも、RS(Router Solicitation)パケットを受け取ると、RAを返してしまいます。

よくある?のは、Auto-configuration が On なノードがリンクを上げたタイミングで送出する RSパケットを受け取ってしまうケース です。

自動設定でつけられる IPv6アドレスには寿命があります。defaultの設定1では30日後です。

で、運悪く、30日間、RA が流れないと、寿命が過ぎてアドレスが無効化します。

expire した、そのあと 〜 direct connect経路の喪失 〜

意図せず自動設定が On になったノードであろうとも、おそらくは手動で

  • IPv6アドレス設定
  • gatewayの設定

は行われているかと思います。たとえば、2001:db8::cafe/64 を手動でつけると

  • 手動でつけたアドレス
    • 2001:db8::cafe
  • それに伴う on-link prefix
    • 2001:db8::/64

 が生成されます。この時、RA を受け取るとなにが起きるのか?

 前者は"an address configured by sateless autoconfiguration" (RFC4862 5.5.3 e)ではないので、RAのライフタイムの影響を受ません。後者はRFC4861のPrefix Listの要素として管理されているので、RFC4861 6.3.4 にしたがってライフタイムも更新されます。

つまり、ワーストケースで、1ヶ月後に 2001:db8::/64 の経路が喪失してしまうということになります(実際に疎通性が失われるかどうかは、実装に依存)。この結果、gatewayの設定を global unicast adderss で指定しているケースでは、gatewayへの到達性がなくなるという結果になります。

影響を受けないケース

  • そもそも自動設定を無効化したホスト
    • まぁ固定でアドレスつけるなら、無効化しとけという話ではあります。
  • next-hop に IPv6 global unicast address ではなく、link-local address を利用したケース
    • ただしこの場合も、同じ /64 な prefix を使った同一セグメントのサーバとの通信がNGになる。
  • static でつけたときの /64 の経路を消えないように対処した?実装もある模様

allなしコマンドってバグ?

いいえ、だそうです。懐かしのISATPでは、tunnel を通じて RA を流します。ルータでは tunnel を通じて multicast パケットを流すのが難しいので、RS にだけ答えるモードが求められて、実装されたそうです。今となっては、という感じでしょうか。

まとめ

細かいことはいいので

 ipv6 nd ra suppress all

って書こうぜ!!いまだに all な設定が抜けているルータを各所でみるので、いますぐ見直そう!

  1. RFC4861: Router Configuration Variables内のAdvValidLifetimeの default値に従っている実装が多い(2592000 seconds (30 days))

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?