djbdnsIPv6対応をしよう!?

By Reinin Oyama

初めに

何かと騒がれている IPv6 ですが、
どんなものなのか?
とにかく、使ってみないで判断しては、いけない。と思って、導入してみました。

そこで、まずは、OCNに トンネリングサービスを頼んでオプションを追加してもらった。
”トンネリングならただで出来るところがあるじゃないか!ぼけ!”と言ってはいけない。
やりもしないで、人をボケ扱いしては、いけない。
これが、ただのIPv6は、遅くて使えないのだ!実験ぐらいにしかならない。
で、OCNのトンネルは、どうか? アッカのADSL の様なデュアルではないが、そこそこ速い。
一応実用になるのだった。
実は、IPv6 対応のルータを自作しようと思ったのだが、YAMAHA のルータで結構なところまで
できることを発見したので、YAMAHAのルータで、トンネル接続をすることにした。
実は、Corega のルータも試したのだが、ぜんぜんだめで、誰かもらってくれないだろうか?
IPv6 以外は快調なんだが。
それは、さておき、IPv6 接続できただけでは、だめなので、
とりあえず、DNS ぐらいは、IPv6 対応にしたいところだ。
BIND9 なら出来ているのだけれども、危ないからやめて、djbdns をなんとか改造して、
IPv6 対応にすることにした。

IPv4は、枯渇するか?怪しげなIPv6!?

私は、預言者ではないので、分かりません。
IPv6 が、普及するかも、怪しいものです。
中間種の IPv5 のようなものが、登場して流行ってしまう可能性もあります。
IPv4 は、きっと石油の様なものでしょう。
無くなる、無くなる、と言われ続けて、あらたな資源が発見されて、無くならない。
IPv6 は、バイオ燃料の様なものかもしれません。
石油が無くなれば、主役になるはずなのですが、各国の政治的な利害関係が絡んで、
なぜか普及が進まない。怪しげな情報も錯綜する。
M$ が、Windows 2000 の IPv6 対応を政治的?な理由でやらないのが、良い例で、
IPv6のあたりには、各社の怪しい思惑が錯綜している様です。

インストール

前提ソフトは、daemontools と ucspi-tcp です。
daemontools は、"クラスレスにおけるdjbdns の正しい使い方"を参照してインストールしてください。
ところで、
Fedora 9 で、daemontools が、動かない!
と思っている人はいないだろうか?
え、いない。ならいいか?

実は、Fedora 9 は、/etc/inittab は、使わなくなりました。
起動方法は、/etc/rc.local に FreeBSD で使っているスクリプトを書くか、
/etc/event.d
に、頑張って起動スクリプトを作成するかです。

ところで、今回は、ドイツの fefe 氏の パッチを無断で使用させてもらいました。
そこで、ucspi-tcp と、djbdns のIPv6 対応パッチを入手してください。
一応、念のため私が動作確認済みのバージョンも置いておきますが。
ucspi-tcpのパッチ
djbdnsのパッチ

ucspi-tcpのインストールですが、djb のいつものパターンです。
ワークディレクトリーで、
tar -zxvf ucspi-tcp-0.88.tar.gz
などと解凍して
patch -p0 <ucspi-tcp-0.88-ipv6.diff17
でパッチを当てて、
cd ucspi-tcp-0.88
で中に入って、
make setup check
だけでよい。
もし、コンパイラーが無い!なんてエラーが出たら、
conf-cc conf-ld と言うファイルの内容を変えてみる。(gcc を ccにするとか)
インストール場所を変えたい人は、conf-homeを変更する。(デフォルト/usr/local)
注意:qmail djbdns など、既存のプログラムを停止させてからインストールしないとエラーでこけます。

djbdnsのインストールも、同様。
tar -zxvf djbdns-1.05.tar.gz
patch -p0 <djbdns-1.05-test23.diff
cd djbdns-1.05
make setup check
だけで良い。(conf-cc conf-ld conf-home も同様になっている)

ところで、これで、Linux 系の OS だと順調に動くのだけれども、
FreeBSD の様な、BSD 系の OS だと、全くうんとも、すんとも動いてくれないのだった。

BSD 系で動かしたという人のページを参考に、いろいろソースをいじってみて、
なんとか、動くようにごまかしたパッチがこれだ
(あくまでごまかしなので、保障は出来ませんので宜しく)
それにしても、BSD の 亀さんプロジェクトの IPv6 の対応は本当に正しいのだろうか?
特に、IPv6 ipv4mapping の実装は、あれでうまく行っているのか?はなはだ疑問であった。
そうそう、FreeBSD では、
/etc/rc.conf に、
ipv6_ipv4mapping="YES"
を追加するのをお忘れなく。

トップページへ  次へ