ドコモ光(プロバイダGMO)で v6プラス接続 すると、通信ログに「!!!BIG-hammer!!!」や「headroom 192 failed」というエラーが大量に出て、無線が止まってしまう現象が発生した。
<解決方法>
まずは解決方法の結論を書く。
ルータのIPv6設定を「NDプロキシ設定」にすれば解消する。
WXR-1750DHP設定画面
syslogで取得したログをみても、上記の設定をした日からピタッと「!!!BIG-hammer!!!」「headroom 192 failed」のエラーが消えている。
代わりに Neighbor Report element is empty という(エラーログとしてはマトモな部類の)ログが残るようになった。
なぜこれでエラーが消えるのかはわからない。しかしルータでNDプロキシ設定にすると通信が安定するのは間違いないようだ。実際、他にも成功例がある。
IPv6におけるNDプロキシとは何なのか?ググってみてもまともな記事がない(「セキュリティが向上する」とか、どうでもいいことしか載っていない)。そこで今回の対応をとおして自分が分かった限りをメモしておく。
<NDプロキシとは>
・ Neighber Discovery Proxy のことらしい
・ご近所 探索 代行
・近くにある IPv6の機器を探すのを ルータが(基地局に?)代わって(代行して)やる
くらいに理解した。
<考察>
たぶんだけど、NDプロキシ設定にしていなかったとき(IPv6パススルー設定にしていた時)は、家の中に大量にある無線LAN機器それぞれがIPv6アドレスを取得するためにわざわざドコモの基地局までIP要求に行っていたのではないか?(ルーターを無視=パススルー してドコモへ)。
家庭内だけでも、iPhone・iPad・Mac・Windows…と大量の無線機器があるのに、それらがIPv6アドレスを基地局に取りに行くとすれば、それが失敗したときの負荷は相当なものだ。
無線機器が吐く大量のログやパケットがネットワークに溢れて、それを検知したルータが「!!!BIG-hammer!!!」(デカい金槌で殴られている!)や「headroom 192 failed」(ひずみは限界にきている!)のようなエラーを吐いていたのではなかろうか。
これが NDプロキシ 設定としたことにより、ルータが(基地局に代わって)家庭内の各無線LANにIPv6アドレスを払い出してやる動きとなり、結果、わざわざドコモ基地局までいってやりとりする必要がなくなり、エラーが解消され、ネットワークにエラーが溢れることもなくなって、通信が安定したのではないかと思っている。
いずれ詳しいことは調べるとして、現状「NDプロキシにすればIPv6は安定する」というのは間違いないようだ。
参考)
AT-AR2050V/AT-AR3050S/AT-AR4050S コマンドリファレンス 5.4.6: ipv6 nd proxy interface
後記)
それにしてもBUFFALO製品の「!!!BIG-hammer!!!」や「headroom 192 failed」エラーは酷い。全く意味がわからないし、顧客のことを考えたエラーメッセージとはとても思えない。さらにBUFFALOサポートの対応も酷い。企業として、実はこの問題を知っているが手の打ちようがないのであえて放置しているのでは?と思えるくらい酷い。
本当に多くの人がこの現象に困っているようだ。例えばこの人なんかは今回遭遇したのと全く同じ症状で困っている。
BUFFALOのサポートと長期に渡ってやりとりしたが全く解決しなかったとのこと。BUFFALOは「BIGLOBE回線が悪いのでは?」なんて言っているがプロバイダのせいにしてBUFFALOが逃げているとしか思えない(事実、自分の環境はBIGLOBEではなくGMOなのに全く同じ現象が起きているわけで、プロバイダが原因とは考えにくい)。
<!!!BIG-hammer!!!に悩まされる人々>
https://twitter.com/kusano_k/status/860730004803428354
<headroom 192 failedに困っている人々>
https://twitter.com/nasika/status/826218886039166976
解決したからよかったようなものの、こんなエラーが出る製品なら、次回以降は違うのの購入を考えてしまいそうだ。