フロジェクト短信 K*BUG 短信 ではりあましたが、いくっか動きがありましたのでご報告 年度末をはさみ、メンバーのみなさんも何かと多忙な中 新運営委員 いたします。 活動もますます活発になっていくものと思われます。 指名注 1 されました。お二方の運営委員参加で、 K*BUG の 運営委員に、前川将秀さんとのだまさひでさんカ噺たに www.kbug.gr.jp を従来の場所から移転しました。 年度末にあたって、 K * BUG が運営するサーバーである サーバー関連 K*BUG げます。 てご迷惑をおかけしました。この場を借りてお詫び申し上 するのに手間取り、 jus 幹事の方には参加のお返事が遅れ た。参加者の決定にあたって運営委員内外の参加調整を すが、運営委員の山口さんがパネラーとして馳せ参じまし ただきました。参加要請からの日数があまり無かったので ついて」と題するパネルディスカッションに参加させてい オープンソース・オープンシステムコミュニティと活動に 第 97 回 jus 関西 UN Ⅸ研究会注 4 において、「関西地区の jus 関西 も幸せなことでしよう ( 笑 ) 。 膝元で、今まで以上に手厚くメンテされて daem 。 n くん注 3 バーを置かせてくださることになりました。神戸さんのお んが所属されている ( 株 ) ジェブロ注 2 さんがご厚意でサー ーも移動するのです。 ; - ) 今年度からは、副代表の神戸さ は「人の集まり」ですから、人の異動にともなってサーバ 関西 * BSD ユーザ会 うえだうえお / U 面 U ど 0 tueda@collegium.or.jp しています。 か短信にも報告できる程度の会になって実は非常にほっと 結局 13 時前あたりからばちばちと人が集まりだし、何と でした。 (TAT) 前にぬいぐるみを抱えて泣き濡れるていたらく ( 写真 1 ) 開催しなければならないのかと、 Alpha station と Ultra1 を ぐるみ ) たちに語りかけながらひとりでインストール会を 時間ばかりどなたもこられず、ひょっとすると家族 ( ぬい アナウンスをしたため、筆者がセッティングを始めてから 1 でした。「お昼くらいから開始します」といういい加減な 会場は夏の研究会でも使用しました筆者自宅の 6 畳間注 8 した注 7 。 版の ISO-IMAGE をダウンロードして CD - R に焼いておきま ので、とりあえずⅢのサイトにおいていただいていた i386 をインストールしないのではお天道様に申し訳がたたない RELEASE 記念」と銘打ちながら、ちっとも 4.3 RELEASE だろうと思って SunUltra1 も用意しました注 6 。また「 4.3 たてました。他に、置いとけば誰かが NetBSD でも入れる CPU 版のインストールをメインにしようなどという企画を き渡らない中、今回のインストール会では無謀にも alpha サーバートラブルの影響でなかなか各地に RELEASE が行 4.3 RELEASE のアナウンスは出たものの、ご本家の ftp ので、謙虚に「インストール会」と銘打ちました。 ( ^. ^ ; ) め、「大会」と言い切るだけの人数を集められなかった注 5 直前であったことと会場 ( うえだ自宅 ) が手狭であったた の K * BUG 単独主催勉強会だったのですが、アナウンスが 急遽インストール会を開くことにいたしました。久しぶり FreeBSD 4.3 RELEASE を記念して、 GW 中の 4 月 30 日に FreeBSD 4.3 RELEASE 記念インストール会 注 1 注 2 注 3 注 4 注 5 注 6 注 7 注 8 注 9 注 10 注 1 1 注 12 注 13 212 会則上、運営委員は代表もしくは副代表の指名によって任命されます。 http://www.jepro. CO. jp/ www.kbug.gr.jp の本名は当然 daemon. kbug. gr.jp です。 : ー ) 4 月 25 日 ( 水 ) 、千里ライフサイエンスセンターにて。 BSD magazine 2001 No. 8 N + 1281 の BSDBOF の後あたりが狙い目かも・・・・・・実現されたかどうかはこの号がでる頃には結果がでているでしよう。 もちろん私の意見です。 ;-p Mac へのインストールは時間がかかるのでインストール大会には向かないのではという意見と、最近はそうでもないぞという意見が出ました。 というのはもちろん冗談です。みなさんのメールのおかげで随分勉強になりました。 実は alphaCPU 版 4.3RC2 の xset. tgz が壊れていたりもしたのですが、結局 x の設定はできなかったので実害 ( ? ) はありませんでした。 さすがに夏場に 10 人以上集まったときは暑かったですが。 N 。 .6 の K * BUG 短信を参照してください。 これは参加者の新開さんが黙々とご自分の N 。 tepc にインストールしてくださり、なんとかイベントの名目がたちました。 と書くとたいへんな機材を準備したように思えますが、実は全部うえだがため込んでいた junk 同然の品物です。 ( ^ ^ ; ; 総参加者数は 6 名でした。主催イベントとしては最小参加人数だったかもしれませんが、それなりに楽しめました。
rpv 環境を構築し ! ヵ上なノし上第アツル 0 ツノノし鬱た・ 特 ー te ′ e ~ ~ 0C0 ー Ve ′ s ー 0 れ 6 1 128 であるが TODO リストに入っているの きるようになる。 でそのうち IMAP4 も利用できるように ports/packages の Emacs 20. X はローカ のように指定すると良いだろう ( リス なるだろう。 ルバッチで IPv6 対応になっている。 ト 6 ) 。 正確にはニュースリーダであるが、 XEmacs は 21.2. X で正式に IPv6 対応 次にメーラのほうを見てみよう。 mnews も IPv6 対応メーラとして利用で している。 FreeBSD の ports/packages は GTK + べースのメーラとして最近ち きる。 まだ 21.1. X なので、 ports/packages を利 よくちよく耳にするようになった sylp Emacs 系のメーラである Wanderlust 用する際は、宇羅さんが作成されてい heed は IPv6 対応である ( 図 2 ) 。現状で や Mew の開発版である 1.95 は Emacs を るパッチ注 7 を当てると良いだろう。 は POP3 のみで IMAP4 は使えないよう IPv6 対応にすることで、 IPv6 で使用で なお、 IM を使用する Mew 1.94 を IPv6 で使いたい場合は、 Per15 を IPv6 対 応にするモジュールである socket6. pm 注 8 をインストールし、 socket6. pm に同包 されているパッチを IM に当てると良 い。 ports/packages を使用する場合、 net/p5-Socket6 である。 listen=" [ : : ] :imap マリスト 6 旧 v6 のみでⅱ sten する場合の cy 「 us. conf の例 # standard standalone server implementation START { # do not delete these entries ! mboxlist cmd=" ctl_mboxlist deliver cmd=" ctl_deliver * BSD ではデフォルトで IPv6 、 IPv4 い ずれでも接続できるよう /etc/inetd. conf で設定されているので、特に IPv6 だか らといって意識することはない ( リス ト 7 ) 。 非常にメジャーである wu pd には KA ME が IPv6 化パッチを提供している注 9 。 クライアントのほうを見てみよう。 標準添付されているものはもちろんの こと、多くのクライアントが IPv6 対応 している。 NcFTP には KAME が IPv6 化パッチを 提供している注 1() 。 FreeBSD の ports ゆ ac kages ではこのパッチを適用し IPv6 対 応となっている。 匿名 FTP サイトのミラーに良く利用 されている ftpmirror であるが、 ports/pac kages でインストールすると、 Socket6. pm を利用して IPv6 対応になる。ちなみ に port で当てているヾッチは、 Socket6. FTP # this is 0 Ⅱ 1y necessary if using idled for IMAP IDLE # idled cmd=" idled" /var/imap/socket # UNIX sockets start with a slash and are intO put SERVICES { # add or remove based 0 Ⅱ preferences cmd="imapd" listen=" [ : : ] : imap pre f ork=0 lmap cmd="imapd —s" listen=" [ : : ] : imaps" prefork=O 1maps cmd="pop3d" listen=" [ : : ] : pop3" prefork=O pop3 cmd='lpop3d —s" listen=" [ : : ] :pop3s" prefork=0 pop3s cmd="timsieved" listen=" [ : : ] : sieve" prefork=O SIeve # at least one LMTP is required for delivery # lmtp cmd="lmtpd" listen="lmtp" prefork=O cmd="lmtpd" listen="/var/imap/socket/lmtp' lmtpunix prefork= 0 EVENTS { # this is required checkpoint cmd="ctl—mboxlist period=30 # this is only necessary if using duplicate delivery suppresslon delprune cmd="ctl—deliver —E 3 " pe て iOd = 1440 マリスト 7 /etc/inetd. conf での ftpd の設定 /usr/libexec/ftpd /usr/libexec/ftpd ftpd ー 1 ftpd ー 1 ftp ftp nowait root nowait stream tcp stream tcp6 注 7 http://www.hiru.aoba.yokohama.jp/-ura/ipv6/xemacs-21.1.9- ipv6.20 ( )(N ) 303. diff.gz 注 8 ftp://ftp.cpan.org/CPAN/modules/by-moduIe/Socket6/Socket6-0.09.tar.gz 注 9 ftp://ftp.kame.net/pub/kame/msc/wu-ftpd-261-v6-2()()01010.diff.gz 注 10 ftp://ftp.kame.net/pub/kame/msc/ncftp-303-v6-2()010421.diff.gz 033 2001 No. 8 BSD magazine
IPv6 環境を構築し ! ! / 元三ッとよタァ 0 よ 00 ツノ 0 「旧 v6 に対応する」とは ? インターネット総合研究所 Japan NetBSD Users ・ Group 許先明 / Heo SeonMeyong seirios@jp.netbsd.0「g 特集 ~ 0C0 ー Ve ′ 5 n6 1 才 を 事一 BSD magazine はもう 8 号。季刊とい く、現在は、仕様の手直しだったり、 うことは、次号は遂に 3 年目ということ 実装上の細かな議論であったり、 dep で、 BSD 系の OS を好んで利用している loyment や operation に関する議論がなさ 筆者にとっては至極嬉しいことである。 簡単に IPv6 の歴史をまとめてみよう れているという状況である。 この 2 年の間、筆者の拙い文章でさ ( 表 1 ) 。 図 1 から図 3 に、日本における 6Bone まざまなことを書かせていただいてい 表 1 を見てもらえばわかるように である 6B 。 ne - jp の 1997 年 7 月時点と現 るわけだが、本誌では第 1 号で長橋氏 1Pv6 は議論開始から実装まで 5 ~ 7 年か 在の 6B 。 ne - jp の図を挙げておく ( 出 が IPv6 について書かれており、 3 号では かっている。この期間を長いと見るか 典 : http://6bone-jp.v6.wide.ad.jp/) 。 筆者も IPv6 に関する記事を書かせてい 短いと見るかは人によって異なると思 1997 年当時、 6Bone-jp とは要するに ただいている。その他数回 1Pv6 に関し うが、筆者の考えでは、 IPv4 というお WIDE 6Bone であった。現在では、 て書かせていただいたわけだが、その 手本があったにしてもすばらしい早さ WIDE 6Bone は 6Bone-jp の大きな一部 間、基本的には ではないかと思う。 に過ぎない。この 3 年の間に、 IPv6 ネ ちなみに筆者が IPv6 を初めて利用で ットワークも大きく成長したといえる 旧 v6 を使ってみよう きたのは、 1996 年頃の hydrangea for だろう。 FreeBSD ( 現在の KAME の元になった 旧 v6 を使うための設定 実装 ) だったと記憶しているが、この が中心であった。 時点でもう最低限の機能は存在したわ 本記事では、機器の設定などのよう けで、すでに 1Pv6 はプロトコルスタッ 現在、インターネットと言えば IPv4 クとして 5 年の動作実績があると言え ないわゆる「動かすための作業」とい である。 1993 年当時、経路情報の増大 った面からではなく、 Network を IPv6 るわけである。 やアドレススペースの不足を元に開始 に対応するというその全般的な面から そして、現時点では、 IPv6 に関する された議論によって IPv6 が誕生したわ IPv6 を考えてみたいと思う。 基本仕様は概ね出尽くしたと言って良 けだが、それでは、本当に 1Pv6 は必要 なのだろうか ? 近年しばしば聞かれる議論に「 NAT があるから、アドレスの枯渇の心配は 無い」というものがある。 この議論はある一面で真実を表現し ているが、必ずしも正しいとは言えな まず、 NAT があ第から IPv6 はいらな いという議論だがこれは以下に挙げ る事実が NAT だけでは駄目であること を示している。 旧 v6 の歴史 / なを旧 v6 なのだろうか ? 表 1 旧 v6 の歴史 アドレス枯渇問題などにより旧 TF において議論が開始される。 RFCI 550 : " 旧 : Next Generation (lPng) White Paper Solicitation" 次世代旧に関する要求事項公開 RFCI 726 "Technical Criteria fo 「 Choosing 旧 the Next Generation(lPng)" いくつかの候補 (CATNIP/SIPP/TUBA) についての評価、旧 v6 と命名 RFCI 752 : "The Recommendation fo 「 the 旧 Next Generation Protocol" 最初の旧 v6 仕様 ( RFC1883 ) 公開 RFCI 883 : "lnternet Protocol, Version 6 (lPv6) Specification" 実装が出始める。議論、実装、議論、実装、議論・ 旧 v6 実験ネットワーク「 6bone 」か構築される 6bone と同時に日本での旧 v6 実験ネットワーク「 6bone-jp 」が構築される KAME プロジェクト ( 現在の BSD 標準スタック開発プロジェクト ) 開始 旧 v6 をサービスするプロバイダーが日本において現れる 各 BSD に旧 v6 が含まれる 1993 年頃 : 1994 年末 : 1995 年初頭 . 1995 年末 : 1996 年初頭 . 1996 年中頃 . 1996 年中頃 : 1998 年 : 2000 年 : 011 2001 NO. 8 BSD magazine
高橋 : そうです。 と、その後で横浜で 1 回やったじゃないです F 「 eeBSD ( 98 ) の最初の本、、 森田 : それで、自分でデバイス増やして、カ か。あの頃はもう AT の人もいましたよ杠 95 、 ーネル入れて移そうとしたんだけどうまくい 6 年くらいでしたか。 鈴木 : 他の皆さんは、もっと最近になってか かなくて。要するにあの 1 番 2 番とかいう 加藤 : それくらいですね。 AT の人もぎよう ら参加されたんですか。 WDC ドライノヾ注 30 のナンバリングといわゆる さんいてて、すごい人数でしたよね。 中治 : ばくは、 2.0.5 がついた本注 27 が出てか 98BIOS で使われている順番が入れ違ってい 藤浦 : あのときに出てきた人の名簿ってい てうまくいかないのね注引。 らです。 うのがうちに残っているんですけど。それを 加藤 : 私は一番楽そうなハードだけを選ん 鈴木 : 本 ? 見ると、今友の会注 34 的に活躍している人が 森田 : どこのでしたつけ ? で、 SCSI が変わったときも bs 注 32 をそのまま 結構出てきているんですよ。たぶんあの頃、 中治 : どこやったかな ? 持ってくるんじゃなくて、新しいのを買いま FreeBSD ( 98 ) を使っている人がいたから、そ 加藤 : 秀和ですよ。 したよ。だんだん軟弱になっていく ( 笑 ) 。 れなりに日本では FreeBSD が普及したんで 鈴木・それ以降は ? 中治 : x も入っていて。 すよね。 藤浦 : 本家のほうの OS はどんどん変わって 森田 : 2.0.5 ( 98 ) がついてきた本があって、ば 小金丸 : FreeBSD を日本に広げたという意 くもそれで入れたくちなんですよ。ばくはそ いきますけど、 98 はデバイスドライバのサポ 味合いは大きいですよね。 98 で動いたという のとき大学生協で安売りしていた 98 を買っ ートとカ噺しいのが増えるとか、そういう方 のはね。 向なんです。機能が増えるとかいうことはな て、 9821 の xa7 なんですけど、これにはトライ 鈴木 : 今はどうなんでしよう。 98 っていうマ デントのチップが積んであるんですよ。その いですね。 シンはだいぶなくなりつつあるんじゃないか 当時、 XFree86 の本家のほうでトライデント 加藤 : もう、新しいデバイスは出ないでしょ と。 のサポートが始まっていて、ということは元 小金丸 : あと 10 年生き延びればいいんじゃ になるコードがあるんだから 98 固有の部分 全員 : ( 笑 ) ないかと思いますけどね。だから、今が一番 をどうにかすれは動くだろうなあと思って買 鈴木 : そうなると新しい FreeBSD が出るた 盛んなんですよ。低性能のいらなくなった 98 ったんですよ。だから最初にやった大きなプ びに移植するのと、デバイスドライバを作る が上 reeBSD で復活するという時代ですから。 ログラミングというのは、実際は XFree86 の のがメインの作業なんですか ? 今ですよ。 藤浦 : あるいはバージョンアップして動か トライデントドライバを 98 対応にするやっ 森田 : といいながら、家で使っているメイン です。で、そのときに X98 注 28 に片足つつこん なくなったやつをどうにかするとか ( 笑 ) 。 マシンが 98 である私はどうなるんでしよう ? じゃったのが間違いの始まりだったんじゃな 小金丸 : いや、私もメールとカ授け取りして FreeBSD は 98 かり始まった ? いかと ( 笑 ) 。 いるのは 98 でやってますけどね。 たしかあの本を出したときは、秀和カ触自 藤浦 : 小金丸さんって、いつもリリースを作 にメーリングリストを作ってましたねただ 小金丸 : そういえば、はじめての顔合わせで るときに使っているのは AT ですか ? あっというまに終わりましたけど。 すね。藤浦さんだけ 1 回会いましたけど。 小金丸 : AT ですね。もう 98 だと遅くて構築 藤浦 : それもばくカ岡に行ったときです 中治 : 2 回くらい訂正の情報がきて、終わっ できないんですよ ( 笑 ) 。 よね ( 笑 ) 。 たような。 高橋 : 私は 2.0.5 くらいですかね。 UNIX 加藤 : 98 で集まるって、最初の頃 1 回名古 USER 注 29 についていたやつを使って。 屋でやったんですよ。 藤浦 . 矢場とん注 33 でやって。 河之邊 : 私も pc - UX で結構満足していた 森田 . あと、今やっているのが PCM86 音 ので、本格的に FreeBSD にいったのはちょう 中治 : 矢場とんに電話したら、予約はでけ 源注 35 。あれ古い PCM のフレームワークに依 ど 2.0.5 くらいのときからです。 存しているんで書き直さないといけないんで へんていわれました。 藤浦 : 今日も行列してましたよ。 森田 : そういえば、あの頃の FreeBSD(98) っ すけど、今ちょっとバススペース回りでつま 加藤 : いつも並んでるものね。 て、プライマリの IDE のディスクにしか入ら づいています。なん力、 isa alloc_resourcev の 藤浦 : そういう意味で集まったのっていう なかったんですよね。 挙動力畯なんですよ。 「 FreeBSD 入門キットー PC -98 シリーズで今日から始める UN Ⅸ」宮嵜忠臣著、秀和システム 注 27 PC -9801 用 X Window System 開発プロジェクト。 注 28 ソフトバンクパプリッシングが出版している月刊誌。 注 29 現在の ATA ドライバが採用される前の IDE をサポートするドライバ。 注 30 98 では wdc0 の配下に wd0 ~ wd3 の 4 台が接続される形態になっていたのが、この実装を行った当時はスレープ接続を 98 が BIOS レベルでサポートしていな 注 31 いころだったので、 lst-master → 2nd-master → lst-slave → 2nd-slave の順に扱っていた こで、 AT での lst-master → lst-slave → 2nd-master → 2nd-slave とズレた 上に、その後の 98 での HDD 増設パターンが AT と同様になってしまったためにこの問題が生じた。 NetBSD/pc98 で Wd33C93 搭載の SCSI-IF ( 98 用としては一般的 ) 用に開発された SCSI ドライバ。 注 32 名古屋名物みそかつで有名な店 ( たとえば、 http://gourmet.yahoo ・ co.jp/gourmet/restaurant/Tokai/Aichi/guide/0103/P()06770. html) 。 注 33 FreeBSD 友の会 注 34 NEC PC -9801-86 音源ポードの PCM 音源部。 注 35 174 BSD magazine 2001 NO. 8 いを : 地要ー リソース管理の問題
ある。 Mac か PC かをとわず、 HFS + ならば正常に終了する が、 FFS で x をコンパイルするとうまくいかない。となる とやはり、どこかで FFS にバグがまぎれこんだのだろう。 ファイルシステムのバグは難しい。特に、このようなケ ースでは再現する手順がはっきりしないため、ごく基本的 なヒントすらなかなか手に入らない。というわけで NFS 上 のファイルシステムでコンパイルすることにより、ひとま ず回避することにした。 カーネルバニック NFS では正常にコンパイルできてインストールも無事終 了した。よろこんで起動してみると x の r 。。 t 画面は表示さ れるのだが、その直後に画面 2 のようなパニックメッセー ジが出てカーネルが異常終了してしまった。 2 行目以下はデバッガのメッセージなのでともかく、最 初の行のメッセージははなはだ奇妙である。 funnel という のは SMP におけるリソースの排他制御の仕組みである。そ の排他制御にかけちがいが生じている、というのがこのパ ニックメッセージの主張するところだが、 x にどういう関 連があるのかさつばりわからない。 Darwin をハックする ! というわけで、さらなる情報をもとめてリモートデバッ ガによりパニック時のカーネルの状態を調べてみることに した。カーネルといってもひとかたまりのプログラムにす ぎないので、通常のプログラムのデバッグと大差なく追跡 が可能である。 Darwin の場合、リモートデバッグは Ethernet 経由でおこなう。詳しい手順は Darwin 関連の情報 サイト Darwinfo (http://www.darwinfo.org/) にある howto こではさっそく結果の解析にう をみていただくとして、 つろう。 画面 3 の 13 番目のフレームがしめすように、このパニッ クは w ⅲ ev システムコールの処理中におこっている。処理 のながれが中断したのは 10 番目のフレーム、プロセス間通 信の処理をおこなう sosend() である。 s 。 send ( ) のソースコードと照らし合わせてみると、どう やら参照しているポインタの値がおかしいようだ 。っし、 う場合は CPU がソフトウェア割り込みの一種である tr 叩を 発生させて例外処理をおこなう。その処理が 8 番目のフレ ーム kernel—tr 叩である。 こまではいいのだが、奇妙なことに報告されているパ ニックはこの sosend ( ) でおこった tr 叩についてではなく、仮 deedee# /usr/Iibexec/gdb/gdb—i386—appIe-mac 0S10 mach—kernel GNU gdb 5.0 ー 20001113 (App1e version gdb ー 186.1 ) (Sun Feb 18 01 : 35 : 11 GMT 2001 ) (UI-OUT) Copyright 2000 Free Software Foundation , lnc. GDB is free software , covered by the GNU GeneraI PubIic License , and you are welcome tO change it and/or distribute copies Of it under certain conditions . Type "show copying" tO see the conditions . There is absolutely no warranty for GDB. Type "show warranty" for details. —host=powerpc—apple—mac 0S10 ——target=i386—app1e—macos10" . This GDB was configured as (gdb) target remote—kdbp (gdb) attach dexter 0X001670b7 in Debugger at /usr/src/xnu/osfmk/i386/AT386/m0de1-dep. c : 631 (gdb ) bt 631 # 0 # 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 11 0X001670b7 0X00114178 0X001252f8 0X0022e0Ce 0X0015780d 0X001575C8 0X0013d79f 0X001654fC 0X00161772 # 10 0X0022475d 0X0021aa84 # 12 0X002196b8 # 13 0X002195C0 # 14 0X0015f998 # 15 0X0016241d 1 Ⅱ Debugger at /usr/src/xnu/osfmk/i386/AT386/mode1-dep. c : 631 1 Ⅱ panic at /usr/src/xnu/osfmk/kern/debug. c : 178 1 Ⅱ thread-funnel-set at /usr/src/xnu/osfmk/kern/thread. c : 1944 1 Ⅱ vnode—pagein at /usr/src/xnu/bsd/vm/vnode—pager. c : 272 1 Ⅱ vnode—pager—cluster—read at /usr/src/xnu/osfmk/vm/bsd—vm. c : 664 III vnode—pager—data—request at /usr/src/xnu/osfmk/vm/bsd—vm. c : 504 ln vm—fault—page at /usr/src/xnu/osfmk/vm/vm—fault . c : 1276 0X0015f2e9 intel—read—fault at /usr/src/xnu/osfmk/i386/read—fau1t . c : 130 ln kernel—trap at /usr/src/xnu/osfmk/i386/trap. c: 380 ln trap-from-kernel ( ) 111 sosend at /usr/src/xnu/bsd/kern/uipc—socket. c : 935 ln soo—write at /usr/src/xnu/bsd/kern/sys—socket . c : 142 1 Ⅱ rwuiO at /usr/src/xnu/bsd/kern/sys—generic. c : 266 1 Ⅱ writev at /usr/src/xnu/bsd/kern/sys-generic. c : 222 in unix—syscall at /usr/src/xnu/osfmk/i386/bsd—i386. c : 361 1 Ⅱ trap—unix—syscall ( ) Cannot access memory at address 0xbffff9aO 画面 3 BSD magazine 2001 No. 8 157
また KAME プロトコルスタックは現 在も開発が進められており、随時機能 の追加やバグの修正が行われている。 次の各バージョンに対しては最新版の KAME プロトコルスタックが週に一度 のペースで SNAP kit として公開されて おり、 KAME プロジェクトの FTP サー ー ( もしくはミラーサーバー ) から取 得したソースを利用することにより注 6 、 最新の IPv6 プロトコルスタックを使用 することができる。 ・ FreeBSD 4.3-RELEASE ・ NetBSD 1.5 ・ OpenBSD 2.8 ・ BSD/OS 3.1 ・ BSD/OS 4.2 それでは以下、各 BSD 系 UNIX のリ リースパージョンに標準で搭載されて いる IPv6 プロトコルスタックを使う場 合と KAME の SNAP kit を使う場合のそ れぞれについて、 IPv6 ノードを構築す る手順を説明することにしよう。 FreeBSD の場合 項目のうち ipv6_enabIe="YES" だけを設 なお IPv6 ホストの場合には、表 2 の 注意してほしい。 場合とで、設定する項目が異なる点に 制御が静的の場合と RIPng 注 7 を用いる 詳細は後述するが、 ISP 側との経路 ターフェイス名はⅸ p0 だとしている。 こでは、 LAN 側のネットワークイン る必要がある項目を表 2 に示す。なお IPv6 ルータとして /etc/rc. conf に設定す rc. conf で上書きすることになっている。 り、システムごとに必要な設定を / etc / 設定は /etc/defaults/rc. conf で行われてお /etc/rc. conf で行う。標準のデフォルト FreeBSD 4. x ではシステム設定を NetBSD の場合 定すれば良い。 conf で行う。 IPv6 ルータとして /etc/rc. NetBSD ではシステム設定を /etc/rc. 表 2 FreeBSD 4. x の / etc / ℃ . conf て設定する旧 v6 ルータ用の設定項目 ipv6_enabIe="YES" ipv6_gateway—enabIe="YES" ipv6_defaultrouter=" デフォルトゲートウェイ " ipv6_router_enabIe="YES' ipv6_network interfaces="fxpO" ipv6—prefix_fxpO="2001 : 240 : 19 : 1 " rtadvd_interfaces="fxpO" 必ず " YES " に設定する。 必ず " YES " に設定する。 旧 P との経路制御が静的の場合、ポイントーポイント リンクの相手側のリンクローカルアドレス > % くボイン トーポイントインターフェイス名 > " を設定する。 ISP との経路制御が R 旧 ng の場合、 " YES " を設定する。 N 側のインターフェイス名を設定する。 LAN 側のプレフィックスを設定する。「 : : / 64 」は不要。 ルータ通知を行う LAN 側のインターフェイス名を設定す 表 3 NetBSD の /etc/rc. conf で設定する旧 v6 ルータ用の設定項目 ip6mode=router ro ute6d=Y ES route6d_fIags= rtadvd=YES rtadvd_fIags="fxpO" 必ず設定する。 ISP との経路制御が日旧 ng の場合に設定する。 ルータ通知を行う LAN 側のインターフェイス名を設定する。 「 oute6d 』 ags に設定する内容については後述する。 表 4 OpenBSD の /etc/sysctl.conf で設定する旧 v6 ルータ用の設定項目 c 。 nf に設定する必要がある項目を表 3 に示す。なおここでは、 LAN 側のネッ トワークインターフェイス名はⅸ pO だ としている。 FreeBSD の場合と同様、経路制御の 方式によって設定する項目が異なる箇 所がある。 なお IPv6 ホストの場合には、次の設 定をする。 ip6mode=autohost rt s 01 =YES rts01—f1ags="fxp01' または ip6mode=autohost rt s 01d=YES rts01d—f1ags="fxp0" OpenBSD の場合 OpenBSD では、プート時に設定する 必要がある sysctl パラメータを / etc / sysctl. conf に記述しておく。 IPv6 ルータ として起動するためには、表 4 に示し た設定を行っておく必要がある。 また /etc/hostname. くネットワークイン ターフェイス名 > というファイルに、プ ート時に指定したネットワークインタ ーフェイスに対して設定する ifcon ⅱ g コ マンドのパラメータを記述することが できる。通常このファイルには IPv4 ア ドレスの設定をする行が記述されてい るので、 IPv6 ルータの場合にはリスト 1 のような行を追加して IPv6 アドレスを 設定する。 なお IPv6 ホストの場合には、このフ ァイルに対して直接 IPv6 アドレスを設 定する代わりに、次の行を記述するこ とでアドレス自動構成が行われる。 net. inet6. ip6. forwarding=l net. inet6. ip6. accept_rtadv=O 旧 v6 バケットのフォワーティングを行う。 ルータ通知を受信しない。 e 肥 t V ・ 2i0..6 F D 、 NetBSD 、 0 nBSD は最新版の KAME プロトコルスタックを搭載したカーネルおよびユーザーランドのソース全体が gz 形式で公開されている。 - 関しては、ライセンス上ソース全体を公開できないため、パッチ形式で公開されている。いずれも http : ″ www.kame.n記からたどることができる。 BSD/ 2001 No. 8 0 ma azi lnformation protocol) - next generation を指す。 IPv4 で広く使われていた経路情報交換プロトコルである RIP の IPv6 版。