NetBSD/hpcmips のインストール さて、ハードディスクへの NetBSD / hpcmips のインストールだが、基本的な 手順はフラッシュメモリへのインストー ルと変わらない。インストール用のカー ネル注 5 と pbsdboot. exe を RAM 領域注 6 に 置いて pbsdb 。。 t. exe を実行注 7 すると、 インストーラが立ち上がるので、 CF- LAN カード注 8 を利用して (NFS や FTP 経由で ) ネットワークインストールを 行う。 インストーラでまず行うことはパー 「 Windows 98 母艦を使って NetBSD/ hpcmips をインストールする」注 9 に詳し く解説されているので参照されたい。 インストール終了後、一旦 Windows CE を起動させると、 HDD をフォーマ ットするかどうか尋ねてくるので ok し て、 こに pbsdboot. exe をコピーする。 ティション設定である。 こでは、 DOS 領域として最低でも 20KB ほど割 り当てておく。プートの実行に必要な pbsdboot. exe とその設定情報ファイル pbsdboot. ini を置くためである。 NetBSD の領域については、お好みにより / ファ イルシステムとん sr などのパーティショ ンを分けるなどしていただきたい。 ここでファイルシステムの作成が行 われ、続いて、ディストリビューショ ンの選択画面になる。ここで注意すべ き点は、選択したディストリビューシ ョンの tar ba Ⅱがすべて存在しなければ ならないことである。ーっでも欠けて いるとインストールが中断されてしま うので注意を要する。 最後にネットワークインストールに 関する各種設定を行う。これは質問さ れるまに答えていけば良い。 IPv6 オ トンフィギュレーションに関して 、したほうが無難であろ してはさととさんの 訃ラを利用したイン NetBSD/hpcmips のブート さて、 NetBSD/hpcmps のプート方法 だが、 Windows CE 上で pbsdboot. exe を 実行すると、ダイアログが表示される ので、 kernel name でカーネル ( たいて いは /netbsd) と、 Frame Buffer ( たと えば "MobiIeGearII for DoCoMo") を指 定して Boot ボタンをタップするだけで ある。 L 。 ading のゲージが上がって画面 が切り替わると、おなじみのプートメ ッセージが始まる。 インストールが済んだらいよいよサ ーバー構築である。 まず最初は、 DHCP サーバーの構築 を行おう。 今回のダイアルアップルータの構築 において、 DHCP サーバーの設定はか なり重要である。設定内容を念入りに チェックしていただきたい。 NetBSD では、 ISC 版 DHCP がデフォ ルトで組み込まれているので、これを 利用することにする。 DHCP サーバーがクライアントの IP アドレスを割り当てる方法として、動 的割り当てと固定割り当ての 2 通りが ・ ~ イツ亠イツ HCP サ 使われる。今回のディスクレスクライ アントは、自宅ネットワークからのゲ ートウェイとなるマシンである。この ようなマシンの IP アドレスが動的に変 化してしまうのは何かと不都合なので、 こではネットワークカードの MAC ア ドレスを利用して、いつも決まった IP アドレスが割り当てられるように設定 する。 まずは、 DHCP サーバーに必要な、 バケットフィルタ用のデバイスファイ ルを作成する。 # cd /dev # . /MAKEDEV bpf0 bpf 1 bpf2 bpf3 次はネットワークカードの MAC アド レスの調査である。ディスクレスクラ イアントが使用する Ethernet カード注川 を用意し、 NetBSD/hpcmips 機などの BSD 系マシンか Windows マシンの PC カ ードスロットに差して調べる。 NetBSD/hpcmips や *BSD の場合は、 ifc 。 n ⅱ g コマンドを a オプションで実行 することによりネットワークインター フェイスの情報が表示される ( リスト 1 ) 。このうち、 mbe0 注 11 の "address" か、 この Ethernet カードの MAC アドレスで ある。 ディスクレスクライアントの MAC ア ドレスがわかったところで、早速、 DHCP サーバーの設定を行おう。こ では、一応セキュリティのことも考慮 して、プライベートアドレスを利用し ている。 例の dhcpd. conf ( リスト 2 ) は大きく 分けて、サーバー全体の設定、サプネ fp.netbsd.Org/pub/NetBSD/NetBSD- 1.5 ALPHA2/hpcmps/installauon/netbsd 注 7 H 注 8 M 注 9 ht 注 10 注 1 石 2 sCE の、奓 e む ea 「Ⅳ応「 ・ / cl. ne K の 000 互換カ B magazin 、ツ斥第れていないので、 i ⅲファイルが書き込めないエラーが出るが気にしなくてよい。 oM は、。一部勇気のある人を除くとコンパクトフラッシュは TypeI のものしか利用できない : p umi/hpcmips/install. html F-LANIO ドのム ne()o 20 0 N 5
寺集 皀 SU で My Se 内 0 了を作るツ ら外部 ( インターネット ) へのアクセ たり、 ppp 接続以外でも NAT を使用で 図 1 のような構成を仮定すると、 pc きるように汎用的な natd を用意したり スが可能となる。しかしながら NAT の から外部ネットワークへのアクセスは 仕組み上、一般に外部から内部の特定 192.16.1.254 をゲートウェイとして利用 している。 NetBSD では pppd に組み込 のマシンへの接続については困難であ まれてはいないが、 IP filter の中の ipnat する。通常のネットワークであれば、 コマンドを使用することで NAT を実現 る。これに関しては外部からアクセス 192.16.1.1 というアドレスが外部へ流れ させたいケースよりも、むしろ逆に外 できる。これは OpenBSD でも同様で、 てしまうが、 NAT を経由したアクセス 部からアクセスさせたくないというケ BSD / OS での状況は確認していないが、 の場合は、グローバルアドレスである IP filter は利用できるはずなので恐らく ースのほうが多いだろうから、この点 A. B ℃ . D という値に変換されてバケッ ipnat の利用もできるはすである。それ が必ずしも弱点とは言えないのかもし トカ毓れる。外部の接続先から見ると、 ぞれの具体的な設定はオンラインマニ あたかも A. B ℃ . D ( つまり NAT BOX) れない。 ュアル等を参照するか、本誌の特集に 今後 128bit という広大なアドレス空 からの接続に見える。またこの仕組み 参 間を持っ IPv6 への移行が完了すれば、 もいくつかの例が載っているので、 をさらに利用すると、グローバルアド 考にするといいだろう。 NAT の必要性はなくなっていくのでは レスを一つ取得するだけで、プライベ ートアドレスを持っ複数の環境から外 ないかと思われるが、現状の IPv4 べー スの TCP / IP 環境で外部ネットワークと 部へのアクセスが可能となる。たとえ の接続を行う場合には当面必須とも言 ば PCI ( 192.16.1.1) と PC2 ( 192.16. える機能であろう。 1.2 ) の 2 台から外部向けのバケットに 最後に NAT の実装に関して簡単に触 関してアドレス変換を行うこともでき れておくことにする。 NAT の実装例に るのである ( 図 2 ) 。 はいろいろなものがある。 Linux におけ この機能を利用すれば、ダイアルア る IP Masquerade 等は NAT の代名詞とい ップ環境で IP アドレスを一つしか取得 できないようなケースでも技術的には注 3 える程有名である。 FreeBSD では IIJ- ppp を機能拡張して NAT 機能を持たせ 複数の異なる IP アドレスを持つ端末か 192.16.1. x ネットワーク A. B. C. D NAT BOX PC2(192.16.1.2 ) ※ 192.16.1. x ネットワーク上から外部ネットワーク向けのバケットは NAT BOX にて A. B. C. D に変換されて外部へ出て行く。 図 2 NAT によるアドレス変換 注 3 プロバイダ等によってはこのような接続を禁止している場合もあるため、「技術的には」と書いている。 BSD magazine 2000 No. 5
フロジェク短信 KDE 短信 KDE 1 .91 、 1 .92 リリース マウスの入力を受け付けてくれないために何もできないと kwin が正常に起動せず、 KDE を起動してもキーポードや わっていません。環境によってはウインドウマネージャの わったせいか、安定度という点では KDE 1.91 とそれほど変 Feature Freeze ということでかけこみでいろいろな機能が加 他細かいところの使い勝手が向上しています。ただし、 起動中であることを表すインジケータが加わったり、その よう切り替えるボタンが加わったり、アプリケーションが ウを一時的に隠してデスクトップ上のアイコンを表示する グが開いて進行状況を表示するようになったり、ウインド ことですね。 KDEI. 92 では起動時にスプラッシュダイアロ ーナーを曲がって、あとはゴールに向かって一直線という やドキュメントの翻訳に力を注ぐことになります。最終コ この後は KDE2.0 のリリースに向けて安定化とメッセージ のリリースをもって KDE 全体の Feature Freeze となります。 KDEI. 92 はコードネーム K 。 rner と名付けられました。 らの機能や API がほば固まってきました。 が新たに提供されます。 KDEI. 91 のリリースによってそれ である KHTML 、 XML で GUI を作成するためのクラスなど 2 , JavaScript 等をサポートした HTML レンダリングエンジン にファイル等にアクセスするための KIO 、 HTML4.0, CSS- ン、トオプジェクトモデルである KParts 、ネットワーク透過 イアント間通信の仕組みである DCOP や、 KDE コンポーネ イプラリがフリーズとなります。 KDE 2.0 では新しいクラ このリリースをもって、 KDE のコア部分を構成しているラ KDE 1.91 はコードネーム KIe 。 patra と名付けられました。 スです。 2 、″ 3 という位置付けで、いずれも開発者向けのリリー に KDE 1.92 がリリースされました。それぞれ KDE 2.0 の が、その後、立て続けに 6 月 14 日に KDE 1.91 が、 7 月 25 日 前号の短信では KDE 1.90 のリリースをお伝えしました GTK のテーマをサホート いういこともありました。 2 イ石 BSD magazine 2000 NO. 5 すべてのウイジェットの見た目を好きなように変更するこ 描画のためのメソッドをオーバーライドすることで、ほば るための A 円が強化されており、 QstyIe クラスを継承して Qt2. x ではウイジェットの Look & Feel をカスタマイズす 日本 KDE ユーザ会幹事 咼木淳司 / 面〃ア g / j-takagi@kde.gr.jp とよいでしよう。 います。 KDE について調べるときはこのサイトも見てみる ストの検索、アプリケーションライプラリなどを提供して じめ、各種ニュースの紹介、ドキュメントやメーリングリ http://www.kde.com/では、それらのサイトへのリンクをは 本家の web サイト以外にも関連サイトが増えてきました。 KDE も周辺アプリケーションが充実してくるにつれて、 KDE ポータル ん。我こそはと思う人はぜひ挑戦してみてください。 語を正しく扱えるように修正していかなければなりませ グエンジンや KOf ⅱ ce のワープロである KW 。 rd などで日本 がら KDE もその例に洩れていないため、 HTML レンダリン 果として異様に横長なページになってしまいます。残念な れるというようなことをやっていないレイアウタでは、結 まうのです。単語が行末にかかったときに途中で改行を入 一文、あるいは一段落全体が一つの「単語」になってし ーっの「単語」と認識されてしまいます。場合によっては 中にスペースを入れる習慣がありませんので、改行までが に日本語を入力するとどうなるかというと、日本語では文 並べていくという方法です。ところが、そのようなところ ースで単語を区切って、単語をひとまとまりとして順番に をきれいに配置するための簡単な方法は、ます最初にスペ 人が書くと必ず発生する問題があります。欧米のテキスト やワープロのテキストのレイアウトを行うコードを欧米の 少し話がそれますが、プラウザの HTML のレンダリング 日本語の折り返し問題 ネーム K 叩 ernicus がリリースとなります。 candidate が、そして 9 月 4 日に KDE 2.0 の正式版、コード このまま順調に行けば、 8 月 14 日に KDE2.0 の Release KDE 2.0 のリリースは ? されるようです。 コンのエフェクト、システムサウンドなどなどがサポート ると、他にも Macintosh スタイルのメニューバーや、アイ のテーマを使えるようになりました。プレスリリースによ とができます。 KDE 1.92 ではこの機能を利用して、 GTK
導師への 10Ca1 postscript fonts 図 3 では、 /home/ftp/local/psfnts ディレクトリを psfonts と いう名前で提供している。 rsync サーバーにアップロードす つぎに、 /etc/services ファイルに接続のためのポート番号 限定することも忘れないようにしよう。 るように設定するときは、接続可能なホストやユーザーを psfonts : を指定する。 rsync 873/tcp # rsync そして、 /etc/inetd. conf ファイルに起動プログラムの記述 をする。紙面の都合上、 2 行に分けているが 1 行で記述 をする。 # kill -HUP 《 inetd のプロセス番号》 を有効にする。 最後に、 inetd のプロセスに HUP シグナルを送り、設定 /usr/bin/rsync rsyncd ——daemon rsync root stream tcp nowait % rsync milano : 説明が表示される。 か何も指定をしないと、サーバーカ醍供する領域の名前と を二つ付けるか、 URL 形式で指定をする。サーバー名のほ rsync サーバーを指定するには、ホスト名の後ろにコロン いち初期化しなくて良い。 を読み込むので、設定ファイルを変更しても、 inetd をいち この後、 rsync は呼び出されるたびに rsyncd. conf ファイル この領域のファイルをローカルにコピーをするには、 ぎのようにする。 % rsync —a milano : :psfonts /usr/local/psfonts しまう。 rsync サーバーを利用するときは、つねに領域名 ションを付けて同期を取ろうとすると悲惨な結果になって に錯覚してしまうかもしれない。誤解したまま -- delete オプ 自分で設定をすると、そのディレクトリも含まれるよう を指定したのと同じ動作をする。 milano : /home/ftp/local/psfnts/ を付けよう。つまり、コピー元ディレクトリとして、 こで、 psfnts ディレクトリ自身は含まれないことに気 コピーされる。 リ以下がローカルホストの /usr/local/psfonts ディレクトリに すると、ホスト milano の /home/ftp/local/psfnts ディレクト rsync : //milano/psfonts/ /usr/local/psfonts milano : :psfonts/ /usr/local/psfonts の後ろにスラッシュを付けるほうがいいだろう。 psfonts : 10Ca1 postscript fonts % rsync rsync : / / mil 0 / /var/log/rsyncd. 10g 10g file /var/lock/rsyncd. pid pid file syslog facility uid = nobody gid = nobody max connections [psfonts] daemon 3 10Ca1 postscript fonts comment path = /home/ftp/local/psfnts/ hosts a110 = 192.168.10.0 / 24 read only = yes 図 3 rsyncd. conf の例 2000 No. 5 BSD magazine 2
なお、これはデータベースファイル のすべてのエントリに共通だが、最初 のフィールドはカラム 1 から開始しなけ ればならない。字下げすると named が 正しく解釈できなくなるので注意が必 0 マリスト 4 SOA レコードの例 hostmaster. sample ・ CO ・ jp ・ ( stan. sample . CO ・ jp ・ IN SOA 20000808 ・ Seria1 3600 300 3600000 3600 ) sample . CO ・ JP ・ Refresh after 1 hour Retry after 5 min Expire after 1000 hours Minimum TTL Of 1 day マリスト 5 NS レコード ・ NS レコード NS レコードは当該ゾーンのネームサ ーバーを指定するレコードである ( リ スト 5 ) 。 ネームサーバーが複数ある場合には 複数の NS レコードを持つ。これはひと つの NS レコードに複数のネームサーバ ーを記述するという意味ではなく、上 のようなレコードを複数記述するとい う意味であるので注意されたい。 ・ A レコード A レコードはゾーン内の各ホストの IP アドレスを指定する ( リスト 6 ) 。 ・ CNAM E レコード ( リスト 7 ) 。 stan . sample . CO IN NS sample ・ co ・ JP ・ A レコード マリスト 6 212.34.56.65 212.34.56.66 212.34.56.67 212.34.56.72 212.34.56.78 IN stan kyle IN IN C artman IN kenny 工 N chef CNAME レコード マリスト 7 stan. sample . CO CNAME kyle . sample ・ CO CNAME . sample ・ CO ・ JP ・ CNAME cartman H 〒上 H IIS ftp MX レコード マ丿スト 8 10 kyle . sample ・ co ・ JP ・ IN MX sample ・ co ・ JP ・ マリスト 9 追加する MX レコード . sample ・ CO ・ JP ・ 20 stan IN MX sample ・ co ・ JP ・ では、各サーバーに別名を与えよう 応すると考えるとわかりやすいだろう。 "IN" は lnternet クラス、 "SOA" はレコー ドタイプ SOA を表す。次の "stan. sam ・ MX レコード 順引きのゾーンは sample. co.jp 、逆引き MX (MaiI eXchange) レコードはゾ ple. co. jp " はこのゾーンのプライマリマ のゾーンは 56.34.212. in - addr. arpa であ ーンのメールサーバーホストを指定す スターサーバー名 ( つまりこのファイ る。慣習として、データベースファイ る ( リスト 8 ) 。これはどういうことか ルが置かれているホスト stan) 、その次 ルはドメインネームをファイル名とし というと、たとえば"root@sample.co.jp て持 'hostmaster. sample. co.jp" はデータベー にメールを送る場合、送信する側は ス管理責任者のメールアドレスである ( 最初の ". " を " @ " で置き換えて読む ) 。 DNS ルックアップで sample. co. jp の MX ・ A コ ホストを調べ、そのホストへ接続して 工 uthority) 、レコード ( ) 内の数値のほとんどは、スレープ SO メールを送信する。 スファイルの最初の ( セカンダリ ) ネームサーバーを置く場 こでホストの前に指定されている 合に意味を持つ。詳しくは参考文献を でなければならず : 各データ 数値はプライオリティである。 MX ホ 。ルし必ずとっ存在する 参照してほしい。最後のパラメーター ストが複数ある場合、このプライオリ についてのみ解説すると、これは前述 数 てはならない。 スド 4 ト、 ティの値のもっとも小さなホストが優 の TTL を指定している。 SOA レコード ようヨ 先して使用される。 sample. co.jp の場合 で指定する以外にも、データベースフ ・な amp 厄 . CO. jp " か い奣につ メールサーバーが二台あるのでリスト 9 ァイルの @TTL ディレクテイプで指定 のような MX レコードを追加すると、 することも可能である。 とを示す。 コード magazi n 0 とデ 要最の 必 36 20 0 N 5
集 皀で Mj ソ 0 斷了を作るツ しくみ stfix 前に述べたように、 postfix では複数 ないメールの排除などを行う。この に、 UCE などの受けつけるべきで らの connection を受けつけると同時 listen しており、リモートホストか というデーモンが 25 番ポートで dr 叩に一旦置かれる。後者は smtpd れる。前者は /var/spool/postfix/mail トホストから送られるものに分けら られるもの、 SMTP を使ってリモー を経由して ) ローカルホストから送 ( 1 ) メールは、 (/usr/local/sbin/sendmail メールを送り出す部分からなる ( 図 1 ) 。 ーに溜ったメールを管理する部分、 ( 3 ) と、 ( 1) メールを受け取る部分、 ( 2 ) キュ こう。メールシステムは大きく分ける 定にも深く関わるのでここで調べてお けにもなるし、後で述べる P 。 s ⅲ x の設 メールシステム自体に関する理解の助 処理する。その流れを把握することは、 のプロセスが役割分担をしてメールを ようにして入ってきたメールは cleanup プログラムによるアドレス の書き換えなどを経て /var/spool/ postfix/incommg キューに入る。 ( 2 ) キューに入ったメールは、 qmgr の 管理下に入り、配送を待つ。 qmgr は配送方法の選択、配送、配送ェ ラー (bounce) や再送 (defer) 処 理のリクエストを各プロセスに対し て行う。 ( 3 ) 最終的な配送は、ローカルホスト のファイルへは local プロセス、プロ グラムへ渡すの場合は pipe プロセ ス、リモートホストへ SMTP を使用 して送る場合には smtp プロセスが 使用される。 sendmail では通常、 1 アドレスずつ処理されるが、 postfix では設定されたプロセス数の上限 まで、並列に配送が実行される。 上記以外にも、 P 。 s ⅲ x のすべてのプ ロセスの起動やプロセス数を管理する、 master プロセスや、アドレス書き換え、 配送方法の選択を担当する trivial ー rewrite 、エラーや遅配などを通知する、 マリスト 2 Makefile PREFIX=/usr/10ca1 CONFDIR=${PREFIX}/etc/postfix COMMD 工 R=${PREFIX}/sbin DB_SOURCES= ${CONFDIR}/virtua1 ${CONFDIR}/transport DB= . for i in ${DB—SOURCES} . endf 0 て a11 : reload reload: ${DB} ${COMMDIR}/postfix . for i in ${DB-SOURCES} ${COMMDIR}/postmap . endfor reload hash:${i} e or 、 bounce などのプロセスもある。 0 設定ファイルは、 /usr/local/etc/postfix ( あるいは /etc ゆ ostfix) に集められてい る。サンプルファイルがいくつもイン ストールされるので、どれを変更すべ きか良くわからないかもしれないが、 基本的には main. cf だけで十分である。 あとは使用する付加機能に応じて、 aliases などの database ファイルなどが必 要になってくる。 '. cf で終わっていると、 sendmail. cf の ような難解なものを想像するかもしれ ないが、 sendmail.cf のような書き換え 規則ではなく、変数に値を代入してい く形式であり、メールシステム自体の 仕組みについての知識があれば、直感 的に理解できるものである。デフォル トでインストールされる main. cf もコメ ントが豊富であり、それ読みながら設 定していけば基本的な設定は完了す る。設定を変更した場合は、 postmap を使ってマップファイルのアップデー トをして、・ postfix reload' で設定を反映 させることを忘れないように。リスト 2 のような Makefile を /usr/local/etc/postfix に置いておけば、マップファイルを書 き替えたときでも、 make コマンドを実 ostfix 設 したければ、リスト 3 のように main. cf domain.jp をメールドメインとして使用 のメールを受け取るようになる。 my なり、 user@hostname.mydommn.jp9U て From が user@hostname.mydomain.jp と ドメインとして使用され、送信時には ば、 hostname. mydomain. (p) がメール デフォルトでは、 hostname ( たとえ ( 1 ) 最小限の設定 行するだけで良いので便利だ。 に指定する。 2000 No. 5 BSD magazine 87
特集 2 日 UG の作り方教えます 起動時にはワーニングが出ないので注 意しないとはまる注 4 。 /etc/ssh-host-key を生成するには、 ssh-keygen(l) を使用する ( 画面 2 ) 。実 は、 v. 2 プロトコルのための鍵ファイル /etc/ssh_host—dsa—key も ssh-keygen( 1 ) で 作成するのだが、これについては / etc / rc で毎回起動時に再作成されるようにな っている。 また余談なのだが、 OpenSSH 2.2.1 が 6 月 8 日にリリースされている。 OpenBSD 2.7 であれば特にパッチなど 必要ないので、アップグレードしてお くと良いかもしれない (OpenBSD 2.6 へのインストールだと、 IPv6 絡みで patch が必要なようである注 5 ) 。 続いて、 UNIX 、 Windows そして Mac なクライアントについて、それぞれ代 表的なものを簡単に紹介しておこう。 UN Ⅸな ssh クライアント OpenBSD を使っていれば、すでに OpenSSH がインストールされているは ずなので、特に問題はない。 OpenBSD 以外の OS で OpenSSH を選択しないの であれば、 SSH Communications Security Ltd (http://www.ssh.com/) の 実装を選択しなければならない。非商 用であれば無料で利用できるが、非商 用の範囲は学術使用と慈善事業に厳し く限定されている。 国内では、 ftp://ftp.kyoto.wide.ad.jp/pub/secu rity/ssh で入手できる。 term secure Shell Extention (TTSSH) v2.3 への拡張モジュールである、 Tera free なものであれば、 TeraTerm PRO Windows な ssh クライアント がもっとも一般的だ 次配布サイトは http : //www ttssh . html である。 . ZIP . COm . ろう。 TTSSH の一 ただし、こでも RSA の特許問題が 絡んでくるので、米国内では使用でき ないので注意してほしい。 NiftyTelnet の web ページでは、米国内で使用する 場合は上述の F-Secure の Macintosh 版を 紹介している。 sendmail は必須では無い。しかし他 のサーバー上の MTA を利用できない場 合 ( おうちインターネットでは大抵そ うだろう ) は、自サーバー上に MTA を 立ち上げておかなければならない。最 近は sendmail 以外の MTA を選択する人 sendmail の設定 TTSSH には scp が実装されていない http: / / w . lysator. 1iu. se/-jonasw/ 下の URL から入手できる。 るのが何かと便利だ。 NiftyTelnet は以 r3 を使用している。 scp が実装されてい 手・機能の面から NiftyTelnet 1.1 SSH 無い。筆者は free であることと使い勝 は多くない。日本語が扱える Client も Macintosh な環境では、あまり選択肢 Mac な ssh クライアント る。 している F-Secure SSH Client などがあ (http://www.datafellows.com/) カ販売 商用版としては、データフェロー社 の設定も必要だ。 は行われない。もちろん、サーバー側 で、転送されるファイル自身の暗号化 データセッションは暗号化されないの ftp を用いなければならない。この場合、 は port forwarding の設定をした上で、 ので、ファイル転送を行いたい場合に freeware/niftyssh/ も増えているが、 こでは OpenBSD # ssh—keygen —f /etc/ssh—host_key —N 画面 2 ssh-keygen(l ) を用いて /etc/ssh_host_key を生成する 2.7 に標準でインストールされている sendmail 8.10.1 を使用する。注意点は 以下の 2 点程度だろう。 ・ rc. conf の sendmail_flags に -bd を追 加する。 ・ sendmail. cf の場所は /etc/mail であ Apache のインストール PostgreSQL 、 PHP3 、 特に rc. conf の一 bd には要注意だ る。 ますは PostgreSQL をインストールす PostgreSQL こともあわせて注意しておきたい。 OpenBSD 特有の問題もあるので、その また PHP3 のインストールについては でインストールしなければならない。 に関連しているので、必ず以下の順序 先にも書いたようにこの 3 つはお互い 注 4 ( 天の声・・・・・・ ) このあたりのことは、 ssh(l) 、 ssh-keygen(l) 、 ssl(8 ) などを読めばちゃんと書いてあるので、やる前に読めばはまらない 注 5 OpenBSD 2.7 からは GENER に kernel が IPv6 Ready だそうだが、マルチキャスト周りにバグが残っているそうで、 IPv6 を使用する場合は kernel だけでも 2.7- STABLE に上げたほうが良いそうだ (cvs update -d -P -rOPENBSD_2_7) 。 . 多謝 > itojun さん。 BSD magazine 735 2000 No. 5
DNS の設定 ノの 普段 lnternet 注 1 を使用する上で、 2. その名前空間を維持する分散型デ 仮定すると、 このホストの FQDN は DNS は目立たないがなくてはならない ータベースを提供する。 knuth. cs. u-ascii. ac. jp といったものにな 存在だ。 DNS がなければ何をするにも 3. データ取得、更新スピード、キャ るだろう。日本 (jp) の教育機関 (ac) IP アドレスを直接入力しなくてはなら ッシュの正確性などのトレードオフ のアスキー大学 (u-ascii) の計算機科 ず、不便極まりないことだろう。本稿 は、データソースが決定する。 学科 (cs) の knuth というホスト、を逆 では、 DNS の動作原理を簡単に解説し に並べてドットでつなぐと knuth. cs. u- さらに、独自ドメインでサーバーを公 ドメインネーム ascii. ac. jp 、という訳た ーここで「 jp 」 開するには不可欠注 2 なネームサーバー TCP / IP の解説記事でこれに触れてい を ( 国別の ) トップレベルドメイン をセットアップする方法を解説する。 ない記事は皆無と言ってよい話題なの (TLD) と言う。 TLD には jp 、 us 、 ca 、 誌面の都合もあり「とにかく始める」 で、耳にタコができたという方も多い au など所在国を示すもの、 com 、 edu 、 ための知識を提供することが目的だが、 だろう。というわけで、軽く触れるだ org 、 net など所在国によらないもの 参考文献を示すので突っ込んで勉強し けにする。 (generic TLD) がある注 3 。なお、ドメ たい方は参照してほしい。なお、本稿 ドメインネームとは DNS によって提 インネームの各レベルの文字列に使用 では現在使われている技術のみを対象 供される名前空間の要素である。とい できる文字は英数字およびハイフン とし、たとえば国際化文字コードセッ ってもこれではあまりに抽象的すぎて ( - ) のみで、英大文字小文字は区別さ トを許すドメインネームシステムなど イメージがわかないだろう。よく見な れない。 については触れないのでご了承いただ れたドメインネームは、たとえば UN Ⅸパス表記に相対パスと絶対パ きたい。 スがあるように cvs. 」 p.netbsd.org/ や "www.ascii.co.jp" の ドメインネームにも ような文字列である。これらは Fu Ⅱ y 相対表記と絶対表記がある。絶対表記 Qualified Domain Name 、略して FQDN は "cvs.jp.netbsd.org/" のように ". " で終了 と呼ばれている。 こでドット (. ) は する。相対表記は ". " で終わらない、た 本節では DNS の動作原理の概要を解 単なる文字列の中の一文字ではなく、 とえば "cvs. jp" や "cvs.jp.netbsd.org/ のよ 説する。 RFC1034 にある DNS の設計目 ドメインネームを構成する各要素の区 うな表記である。相対ドメインネーム 、から、いくつか重要なものを挙げて 切文字である。ご存じの通り、ドメイ を解決する場合、ルートからの相対表 ンネームの各要素は小さな単位から大 記として解決を試み、失敗した場合は きな単位、という順に表記する。これ デフォルトサーチドメインを付加した は欧米式の住所表記と同様だ。たとえ ものの解決を試みる。絶対表記のドメ ば、日本にあるアスキー大学の計算機 インネームを解決する場合にはサーチ 科学科に knuth というホストがあったと ドメインの付加は行われない。 DN の概要 er のネットワーク資源を特 す。るための、。 = 貫し。た名前空間 1. は「 InternetJ と finternet(s) 」はまったく意味が異なる。 lnternet とは ARPANet に端を発し、プロトコルとして TCP / IP を用いた、いわゆる「インター ネ、」を示固有名詞であり、 internet とは単に複数のネットワークが相互に接続されたネットワーク集合体 ( プロトコルとして TCP ハ p を使用している 必ずらな 0 ・・。す一般名詞である臨本稿では前者を示す場合には常に「 lnternet 」という表記を使用する。 注 2 実ネ可欠いう 去いがネームサーバーを提供してくれる場合も多いからだ。 エネリック TLD の申でも g 。 v 、 m ⅱはすべてアメリカのドメインであるし、 edu ドメインの教育機関のほとんどもアメリカにある。また国別 TLD 注 3 国外サイトに . 録 ドメインが現れたりと、明確に一線を引けない状況になっている。 32 B magazin 20 0 N 5
寺集 皀 SD で 物 Se 0 了を作るツ 5. 7. には / etc の内容も更新する必要があ る。 2. で説明した手順でバージョン アップ後のデフォルトの内容を cvs import した上で、画面 3 のようにす れば、バージョンアップに伴う変更 点が自動的にマージできて非常に 便利である。 commit mail cvs では、リポジトリの変更を特 定ユーザーに対して自動的にメー ルで通知することもできる。この機 能を使うと他の管理者の作業内容 が把握できて非常に便利である。 サンプルスクリプトは FreeBSD な ら /usr/share/examples/cvs/contrib/ log-accum 、 NetBSD の pkgsrc なら ん sr/pkg/share/c vs/contrib/log—accum リ自体のセキュリティを考えなけれ ばならない。管理者のみが所属す るグループを作って、それ以外のユ ーザーはリポジトリを読み書きでき ないように設定しておくべきだろ cvs では変更作業などを行うディ レクトリを意味する「作業ディレ クトリ」という概念がある。 /etc 自 体を作業ディレクトリとしたり、 cvs リポジトリに c 。 mmit した内容 を自動的 ( t 可能なのオ ると注 6 管 クトリに業 変更した ほうが良し por 区 . 0 こ反映させることも キュリティを考え 人のホームディレ レクリを置き、 せる ( 0 にあるので、参考にしてほしい。 cvs-aII@FreeBSD.org のメーリング リストで使っているスクリプトは http://www.jp.freebsd.org/cgi/cvsweb. cgi/CVSROOT/ で公開されている。 6. その他の管理 /usr/local/etc などにある各種設定フ ァイルについても同様の手順で cvs で管理することができる。サ ーバーにインストールした各種ソフ トウェアの内容、インストール手順 といったドキュメントも cvs に入れ ると管理に必要な情報が一元管理 できて非常に便利である。 筆者の場合、管理しているサーバ ーを以上のように cvs 管理した上 で、リポジトリを rsync ( 前述 ) で 手元のマシンに持ってきてバックア ップとしている。 セキュリティ マシンの設定情報を cvs リポジト リで管理する場合、 cvs リポジト ス , す「朝よ、。。 たのかを記、ておく・、 こでお勧 tion (NetBS オいのが gsr s Collec リ用であ ン トールし る。 る。初心者向ナ簡イントール方法 と思われがち oepo s collection だが、 インストール法依存関係を記録す るためのツールとしても便利に使える。 特に、複数の管理者がいる場合にはお 勧めできる。 既存の P 。 rts にちょっと手を加えるだ けで「自分用にカスタマイズした ports 」 を簡単に作成できる。新しく作成する のもそれほど難しくはない。 バックアップ サーバー内容のバックアップは頭が 痛い問題の一つである。最近のハード ディスクの大容量化は著しいが、これ に対応可能なバックアップデバイスは 非常に高価なままである。業務目的な らともかく、趣味で立ち上げるサーバ ーをテーブドライプを使ってバックア ップするのは費用対効果の面から無理 だろう。 そこで、従来とは違った方法を模索 する必要がある。いくっかのヒントを 挙げるので、自分のサーバーにあった 方法を選んでほしい。 ・ハードティスクへのバックアップ 現時点では比較的安価に実現できる 方法の一つ。 ・ ccd ( 4 ) のミラーリング機能やⅵ num などの RAID の利用 ハード的なエラーに対処可能だが、 誤消去などには対処できないので別 の手段を併用する必要がある。 ・「壊れても短時間で修復可能」なサ ーバー作り すでに説明した「 cvs による設定フ ァイル管理」「 ports collection による ソフトウェアのインストール」をし あるサーバーでは有効であろう。 ーのように早急に復旧させる必要が 復旧は当然無理だが、メールサーバ この方法では蓄積していたデータの を作成しておくのも一手である。 いって「サーバー再構築スクリプト」 た内容を she Ⅱ script の形で記録して 作業で復旧できる注 7 からだ。設定し トリから復元する、という機械的な て最後に設定ファイルを cvs リポジ っていた ports を順番に make していっ 時間でサーバーを再構築できる。使 ックアップをとっておけば比較的短 ていた場合、 cvs リポジトリさえバ 注 6 ファイルの pernussion 、 owner 、 group を適切に自動設定できるかが問題となる。 2000 No. 5 BSD magazine 723 いう手法が現実のものになってきた。 注 7 最近は CPU が非常に高性能になってきているので「 make に必要な時間」の重要性がかなり低くなってきている。そのため以前では考えられなかったこう
なる。 AC アダブタは AC コンセント周 りでの取り回しがやっかいであること と、放熱に無理があるのかアダブタ自 体の故障が経験的に多いので、電源内 蔵タイプを勧めたい。また、どちらに してもかなり熱くなる機器が多いので、 放熱などを考え設置場所には注意を払 し、たい。 ・ MELCO LSWIO / 100 シリー ・ PLANEX FX シリーズ注 20 外向けサーバー部分 ズ注円 外部ルーター部分で ipfil などを用い たフィルタリングをしていてたとして も、外向けサーバー部分でももう一度 フィルタリングをしておくべきである。 ここも *BSD を搭載した lntel pc で構成 するとしたとき、 ipfil (NetBSD) や ipfw (FreeBSD) が利用できる。この 部分で、目的の ( 2 ) であるサービスの外 部への提供を実施することになる。 ftp(21) 、 ssh(22) 、 smtp(25) 、 dns(53) 、 http(80) 、 https(431 ) などが提供するサ ービスポートの例であるが、フィルタ リングのポリシーを決めるためにも、 「どのようなサービスを行いたいか ? 」 を明確にしておくことが重要となる。 外部ルーター部分と外部向けサーバ 一部分およびその間を繋ぐ HUB には、 U ? まを付けるのが望ましい。 Th e nternet へのサービスをしていることも ありをサビ停止時間はできるだけ さらに、雷などに w;mel incsco.jp/product/hub/ 注 2 当を・ w.plan x. co.jp/product/hub/ 注 21 Qht : ″ ww 宿 p & 品」をöducts / 叩 iÅwwnag0ya•me1co.co.jp/FREQUPS/ よる瞬電が発生すると、特に ATX タイ プの電源では電源の再投入に失敗する 場合があり、遠隔地から手のうちょう もなく長期に渡り停止してしまう場合 も少なくない。 ・ APC UPS BK/BKoffice/Smart-UPS 注 21 二菱電機 FREQUPS シリーズ注 22 また、これらの UPS から計算機のコ ントロールをしてもらうためのソフトウ ェアとしては以下のようなものがある。 ・ APC シリーズ用 UPS daemon ・ APC BK/BK pro 、三菱電機製 FREQ UPS F シリーズ用 UPS daemon 内向けサーバー部分 外部ルーター部分と内部ルーター部 分でフィルタリングしていてたとして も、やはりもう一度フィルタリングを しておくほうがよい。また外部向けサ ーバー部分上の情報 ( ログなど ) を定 期的に取得して保存したり、 web コン テンツのマスターデータを持ち、外部 向けサーバ部分上に転送したりするよ うにしておくと、外部向けサーバー部 分への故障や侵入に対して防御が比較 的容易となる注 25 。 近年のハードディスク装置の低価格 化、特に EIDE タイプの低価格化が激 しい。 lntel pc に複数台の大容量 EIDE ハードディスク装置を接続し、 RAID 構成を取っておくと、比較的安心であ 注 23 注 24 ろう注 26 。 OS を問わないハードウェア RAID コ ントローラにも比較的安価なものがあ るので、一考に値する。 ・ MiniRAID / Dupli-Di sk 注 27 ・ Arena M2 注 28 また、 NetBSD では raidframe という ソフトウェア RAID 機能があり、 RAIDI や RAID5 が特別のハードウェアの力を 借りすに比較的容易に構成できる。た だし、 GENERIC kernel では raidframe は 有効化されていないので、利用するに は kernel の再構成が必要である。 内部利用者計算機部分 いうまでもなく、ほばすべてのサー ビスの提供は停止できるはずである。 The lnternet への到達性確保のための中 継に s 。 cks を利用する場合は、内部利 用者計算機部分にも socks 関連ツール の導入が必要である。 典型的な例を挙げ、各部分に要求さ れる機材や注意点を挙げた。かなり大 げさな部分もあるように見えると思う が、小規模だからといって攻撃されな いわけではないのが現状である。特集 の以降の記事も参考に、各サイトでき ちんと防御したネットワークを構成す る助けになれば幸いである。 と 注 24 注 25 注 26 注 27 注 2 イ site/apcupsd/ w. bris : ″ : .jepro ・ cg.j pub/JeprÖ/misc/bkpupsd-1.4.2. tar. bz2 は取得み主、関係内部サー穴主導で行うべきであることに注意する。 別の媒体 えば CD-R など ) にパックアップを作っておくべきである。 systen"orks co.j mmiraid. htm t ・ p://www.syste 、 0 ⅸ s arena m2. htm B magazin 20 0 N 5