今日はちょっと仕事用の検証環境を手直ししていたら、あれこれハマって、それだけで一日が終わってしまった。一番の大ハマりだったのが、CentOS6でIPv6を動かすところ。Web系通信のログ取り用に squid を proxyとして動かしているのだけど、これにIPv6を喋らせようとしたのが最初の躓き。IPv6には対応しているはずなので、DNSさえ引ければ・・・と思ったのだけど、nslookupで引いてみるとv4アドレスしか出てこない。同じDNSサーバを引いている他のWindows機のnslookupは両方きちんと引いてくるのだけど・・・。で、resolv.confにv6優先のオプションを入れようとしたら、何度書き換えても再起動するたびに元に戻されてしまう。どうやら、Network Managerとかいうのが、毎回設定を書き換えてしまうようで、その配下のパラメータを見ても、DNSのオプションの指定方法はわからなかった。明示的にAAAAを指定すれば引いてくるので、squid側で検索順をいじる方法を検索して試してみることにした。いくつか試して、たどり着いたのが、宛先IPv6の優先指定と、その場合の発信元にそのPCのIPv6グローバルアドレスを指定するという方法。あまり美しくないけど、とりあえずIPv4には行かなくなった。それでも、通信はうまくいかず、unreachableになってしまう。IPv6アドレスは自動構成出来ているので、ルーティングを疑ってみたのだが、RAはちゃんと拾っていて、デフォルトルートにはルータから流れたリンクローカルアドレスが正しく入っている。さて、困った・・・・。あれこれさんざん試行錯誤したあげくに、自動構成をやめて、v6アドレスとDNS、デフォルトルートを、全部グローバルアドレスで設定したら通信できるようになった。ちょっと、これはIPv6の実装自体がおかしい感じがするんだが・・・・。
まぁ、とりあえず動いたからよしとしよう。そう考えてみると、いち早くIPv6を実装したFreeBSDあたりや、Windowsでは、こんな苦労をしたことはなかった。逆に、あまりにすんなりとv6を喋ってくれるのが、ちょっと恐ろしくも感じたのだけど。(最近、某NTTのフレッツルータが、自前のIPv6アドレスのプレフィックスを勝手に流したりしているので、知らない間に、自宅のネットワークでv6が構成されている・・・なんてこともあるから。うちは、このプレフィックスを流させないようにするのが一苦労だったのだけど・・・)
ちなみに、「知らない間に・・・・」はPCだけじゃない。iOSもAndroidも全部勝手に喋るから困りもの。うちの宅内ネットワークにiPhone,iPad,Xperiaを繋ぐと、どれでも亀が動くので。(こいつらもベースはLinuxなのだけど・・・・)さすがに、うちの家電系は今のところは大丈夫みたいだが、油断はできないから、ファームウエアのアップデートがあるたびに見張っている次第。
そんな感じでハマってた一日。疲れた・・・・。
コメントする