ラズパイがなぜか IPv6 で通信できない備忘録です.なお,使用 OS は標準の Raspbian です.
注意!
まずはご注意を.本件,
本質的には未解決!
です.時間切れで諦めました.以下は対症療法なことにご注意ください.
症状
最近,PPPoE の混雑を避けて,通信を高速化させることができるとあって,わたしの周りでも IPv6 を有効にしたネットワークが増えてきましたので,実家のネットワークの監視用に置いているラズパイも IPv6 を有効にしたところ,なぜか通信がとても不安定に…….
調べてみると,
IPv6 で通信しようとして,できなくて,IPv4 にフォールバック
が起きてるみたい.
おかしいなぁ,と思い,まずは,IP アドレスを見てみると,
$ ip a show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether bx:x7:xb:fx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.0.****/24 brd 192.168.0.255 scope global eth0 valid_lft forever preferred_lft forever inet6 2400:xxxx:xxxxx:xxxxx:xxxx:xxxxx:1/60 scope global valid_lft forever preferred_lft forever inet6 fe80::ab27:ffff:ffff:ffff/64 scope link valid_lft forever preferred_lft forever
みたいな感じで(アドレスはもちろん伏せています)RA で割り当てられていますし,ルーティングも,
$ ip -6 route show 2400:xxxx:xxxx:xxxx::/60 dev eth0 proto kernel metric 256 pref medium fe80::/64 dev eth0 proto kernel metric 256 pref medium default via fe80:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx dev eth0 metric 1024 pref medium
のように,きちんと RA 経由(だと思う)で割り当てられてる.同じアドレスが手元の Windows 端末に割り当てられててきちんと IPv6 経由で通信できるんで間違ってるとは思えない.
もちろん全く通信できないわけじゃなくて,ローカル宛だと大丈夫で,どうも,デフォルトルート経由の通信ができてない.ワケガワカラナイまま時間だけが過ぎていくので,仕方ないので……
対症療法
対症療法ですが,
アドレスを固定化
しました.ちなみに何で固定化するとウソのように正常に通信できるのかも全くわかりません.固定化の方法は簡単で,/etc/network/interfaces に,
#/etc/network/interfaces #Please use DietPi-Config to modify network settings. # Local auto lo iface lo inet loopback # Ethernet allow-hotplug eth0 iface eth0 inet static address 192.168.0.xxx netmask 255.255.255.0 gateway 192.168.0.xxx dns-nameservers 192.168.0.xxx iface eth0 inet6 static address xxxx:xxxx:xxxx:xxxx::xxxx:xxxx netmask 60 autoconf 0 gateway 2400:xxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
の様に書くだけです.gateway に指定してあるのは,実家の場合,NTT からレンタルの GE-PON の情報欄からみることができる IPv6 アドレスです.
なお,RA で自動割り当てされた gateway のアドレスとの違いは,fe80 から始まるリンクローカルアドレスではなく,クローバルなアドレスを割り当てたことだけです.
しかし,手元にある Windows 端末だとリンクローカルな Gateway アドレスできちんと通信できてるし,ほぼ同じ構成の別の場所(ネットワーク)に置いているラズパイもリンクローカルな Gateway で通信できてる.なぜ実家のネットワークだけが通信できないのかさっぱりわかりません.
以上!