LoginSignup
6

More than 5 years have passed since last update.

ブリッジを併用したIPv6のルータ広告がうまくいかない現象を回避する

Last updated at Posted at 2015-01-01

ルータ広告で楽しよう

IPv6には、ステートレスに自動設定を行える手段としてルータ広告を使った自動設定があります。
これは、IPv6のマルチキャストを用いて実装されていて、以下の手順で自動設定が行われます。

  1. すべてのルータ(ff02::2)にルータ要請メッセージを送信する
  2. 受け取ったルータは、すべてのノード(ff02::1)にルータ広告メッセージを送信する
  3. メッセージを受け取ったノードは、それを元に自動設定を行う(アドレスはプレフィックス+EUI-64を使うのが一般的)

(https://www.nic.ad.jp/ja/basics/terms/ra.html より)

ところが、ブリッジを経由すると動かない…

タイミングによっては、ブリッジ上の目的のルータがある側のインターフェース上のノードがルータ要請メッセージを送信している場合があるので、その際のすべてのノードに送られるルータ広告メッセージを使って設定されることもあります。
しかし、そういうことがなければ当然ルータ広告メッセージは送られてこないので、設定されなかったり妙に時間がかかってしまったりということがあります。

Linuxのブリッジは不要と思われるマルチキャストを捨ててしまう

Linuxでは、ブリッジ上の目的のルータがない側のインターフェースからルータ要請メッセージを送ったとしても、ブリッジする段階で捨てられてしまうようです。
これを回避するには、以下のコマンドでmulticast snoopingを無効にして無条件にマルチキャストをブリッジするようにするのが良いようです。

# echo 0 > /sys/devices/virtual/net/<インターフェース>/bridge/multicast_snooping

参考ページ

Linux, multicast, bridging and IPv6 troubles (i.e. why my IPv6 connectivity goes missing)

OpenWRTのマルチキャストフォワードに関するページ

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
What you can do with signing up
6