今回は,FreeBSD 7.0-RELEASE にデフォルトで入っている named.conf を読んでみようと思う.調べても直接的な情報がすくない気がするし,結局 ARM で確認をとることになったから,ここに書く意味はあるのかなぁと思った♪
では,上からサクサクといこ〜.手元に,named.conf を表示しながら読み進めるといいと思う.コメントの邦訳の語調が変なのは仕様wこの語調で書いてたら楽しくなってきたので,そのままにしてるwww
まず,最初のコメントブロック.最初の行が,バージョンなどなど(バージョン管理ツールで入力された内容だね.)が表記されている.今回の named.conf は,1.26.4.1 というバージョンだった.その次の行からのコメントの内容は,次のような感じ.
\named.conf(5) と named(8) の man ページを参照してね.あと詳細なドキュメントが /usr/share/doc/bind9 にあるよ.
もし,権威あるサーバをセットアップしようとしてるなら,DNS がどう動いてるのか細かいとこまできちんと理解してからやってね.ちょっとした失敗でも,グループに影響して接続を壊したり,無駄な大量のトラフィックを発生させちゃうかも.
さて,次は options ステートメント部分だ.directory オプションは作業ディレクトリを示す.pid-file オプションはプロセス ID を記述したファイルへのパス.dump-file オプションは,サーバの内部データベースのダンプをとるときの保存先.(/var/dump/named_dump.db と設定されていて,rndc dumpdb というコマンドでダンプをとると,/var/named/var/dump/named_dump.db に保存される.謎仕様な気がするのは僕だけ?w)statistics-file オプションは,サーバの統計情報をとるときの保存先.
listen-on サブステートメントは,問い合わせを待ち受けるネットワークインタフェースを指定するためのステートメントだ.デフォルトでは,ループバックアドレスの 127.0.0.1 だけが設定されているので,自分自身からの問い合わせしか受け付けないようになっている.このサブステートメントにくっついてるコメントの意味はこんなかんじ.
ローカルリゾルバとしてしか named を使わないんだったら,これは安全なデフォルト設定だよ.named をネットワークからアクセス可能にするなら,コメントするか,適当なアドレスを設定するか,このオプションを削除してね.
listen-on-v6 サブステートメントは,IPv6 用のやつ.コメントになってる.
システム上で IPv6 を有効にしてるんだったら,ローカルリゾルバとして使うためにコメントを外してね.ネットワークからアクセス可能にするなら,適当な IPv6 アドレスか,any ってキーワードを設定してね.
disable-empty-zone オプションってのが,最近(9.4.x からだったと思う.)追加されたオプションだ.ARM 読むまで知らなかったんだけど,BIND は,Built-in Empty Zones ってのを持っていて,それらのゾーンが自動的に設定される.その自動的に設定されるのを無効にするのがこのオプション.Empty Zone てのは,NXDOMAIN(ドメインが存在しないという確認応答.)を返すような問い合わせがルートネームサーバに行かないようにするために,SOA レコードと NS レコードだけを設定した空のゾーンのことだ.つまり,Built-in Empty Zones は,NXDOMAIN を返すような問い合わせのゾーン一覧で,自動的に BIND によって設定されるようになっている.
設定ファイルでは,disable-empty-zone オプションが3つ設定されている.なぜこの3つが設定されているかは,コメントに書いてある.
これらのゾーンは,下の方で指定している empty zone でカバー済みだよ.関連する empty zone を削除したりしたら,これらの行をコメントしてね.
forward オプションは,回想の設定のためのオプション.つまり,自分で解決せずに指定した DNS サーバに解決を依頼する設定をするためのオプション.forwarders サブステートメントは,回送先の DNS サーバの IP アドレスを設定するためのステートメント.
fowarders サブステートメントに追加した際に,次の行を有効にすることで,fowarders に指定した回送先だけに問い合わせて,自分自身からの問い合わせをしないように強制できるよ.
上位プロバイダに DNS サーバを持っているなら,ここにその IP アドレスを入力して,下の行を有効にしてね.キャッシュによって得するし,インターネットの DNS トラフィックを減らすことができるよ.
query-source サブステートメントは,問い合わせで使うインタフェースとポートを指定することができる.コメントされているデフォルト設定がなぜそうなっているかについては,コメントに書いてある.
ファイアウォールがホストとその問い合わせ先のネームサーバの間にある場合,下の query-source サブステートメントのコメントを外す必要があるかもね.以前のバージョンの BIND だといつも53番ポートから問い合わせてたんだけど,バージョン8以降はランダムな非特権 UDP ポートをデフォルトで使っちゃうからね.
ここまでで,option ステートメントは終わり♪終わった直後に書いてあるコメントの意味は次のような感じ.
ローカルネームサーバとして有効にしたいなら,このサーバに問い合わせられるように /etc/resolv.conf の最初にに 127.0.0.1 を入力することを忘れないようにね./etc/rc.conf でネームサーバを有効にすることも必ずやってよね.
さて,やっと zone ステートメントの記述が出てきた.一番最初は,ルートネームサーバへのヒントファイルの設定だね.
伝統的なルートヒント機能だよ.これを使うか,下の方のスレーブゾーンを使ってね.
で,スレーブゾーンの方法がなんでいいのかがコメントで書いてあって,その後にコメントされた設定が書いてある.
ルートネームサーバのゾーンをスレーブすることはとってもいいことなんだよ.ひとつ目は,高速にローカルで名前解決できるようになるんだよ.ふたつ目は,見せかけのトラフィックをルートに送ることがなくなるんだよ.みっつ目は,ルートサーバが DDoS によって停止したりすることにたいして回復力があるんだよ.
他方では,この方法は予期しない不全状態がサーバを無能にしないように,ヒントファイルによる方法よりも監視することが必要なんだよね.多くのクライアントに供給するネームサーバは,このアプローチによって個々のホストより有益だろうね.用心して使えばね.
この方法を使うには,下のエントリのコメントを外して,上のヒントゾーンをコメントしてね.
さらに,zone の設定が続く.それぞれの意味を適当に書いといた.コメントの意味は次のとおり.
ローカルに供給される下記のゾーンは,これらのゾーンへのあらゆる問い合わせが,ネットワークから出ることやルートネームサーバにとんでいくことを防いでくれるんだよ.これにはふたつ利点がある.ひとつ目は,高速にローカルで名前解決できるようになるんだよ.ふたつ目は,見せかけのトラフィックをルートに送ることがなくなるんだよ.
localhost は,localhost.
127.in-addr.arpa は,localhost の逆引き.
255.in-addr.arpa はブロードキャストアドレスの逆引き.
0.ip6.arpa は,IPv6 の localhost の逆引き.
0.in-addr.arpa はローカルアドレスの逆引き.
10.in-addr.arpa〜168.192.in-addr.arpa は,プライベートネットワークの逆引き.
254.169.in-addr.arpa は,リンクローカルアドレスの逆引き.
2.0.192.in-addr.arpa は,TEST-NET っていう例として使う IP アドレス空間の逆引き.
18.198.in-addr.arpa と 19.198.in-addr.arpa は,ルータのベンチマークテストにつかう IP アドレス空間(知らなかった〜w)の逆引き.
240.in-addr.arpa〜254.in-addr.arpa は,IANA が予約している古い Class E の IP アドレス空間の逆引き.
1.ip6.arpa〜7.e.f.ip6.arpa は,IPv6 の未割り当てアドレス空間の逆引き.
c.f.ip6.arpa と d.f.ip6.arpa は,IPv6 のユニークローカルアドレス空間の逆引き.
8.e.f.ip6.arpa〜b.e.f.ip6.arpa は,IPv6 のリンクローカルアドレス空間の逆引き.
c.e.f.ip6.arpa〜f.e.f.ip6.arpa は,IPv6 の廃止されたサイトローカルアドレス空間の逆引き.
ip6.int は,廃止された IPv6 の逆引き.
これに続くのは,自分でゾーンを記述するときの例となるゾーン.動的更新されるゾーンと逆引き用のスレーブゾーンの設定例が書いてある.コメントはこんなかんじ.
注意:下に書いてある IP アドレスは,デモやドキュメントのための偽ものだから使っちゃダメだよ.
スレーブゾーン設定情報の例.これはスレーブになるときに便利だと思うよ.少なくとも,君のドメインのスレーブになるゾーンをつくるときにはね.君のネットワーク管理者に,返事してくれるマスターネームサーバの IP アドレスを聞いてみたら.
逆引きゾーンを含めることを忘れないようにねっ!これは,IP アドレスのバイトごとに逆順にしたものに,.INADDR.ARPA をつないだものだよ.IPv6 の場合は .IP6.ARPA だけどね.
マスターゾーンの設定を始める前に,必ず DNS と BIND がどう働くか完全に理解してよね.そこにはわかり辛い落とし穴があるかもしれないんだから.スレーブゾーンの方がたいていは簡単に設定できるよ.
注意:やみくもに下の例を有効にしちゃだめなんだからね.代わりになる現実の名前とアドレスを使ってよね.
以上.長かったなぁ.デフォルトの設定ファイルはこうなってるってことがわかっていただけたと思う.なので,FreeBSD で DNS サーバを立てるときには,このデフォルト設定ファイルを有効に使ったらいいんじゃないかな.関連ファイルとして,普通の語調で邦訳した named.conf をあげておく.
関連ファイル:
http://idisk.mac.com/takuya0301/Public/FreeBSD/named_ja.conf
参考文献:
BIND 9 Administrator Reference Manual
Paul Albitz, Cricket Liu. 第4版 DNS & BIND, オライリー・ジャパン, 2002.
2009年1月18日日曜日
2009年1月16日金曜日
kinput2.macim が Leopard で動かないわけ
kinput2.macim が Mac OS X Leopard で動かないのなんでだろうって調べてたら,至極当然の理由がわかったw
Leopard から Input Method を Carbon の Text Service Manager API から叩けなくなり,その代わりに Cocoa の Input Method Kit から叩くように変更になったからだ.kinput2.macim では Text Service Manager API を利用しているため,Leopard では動作しないというわけだ.
ソースをなんとなく眺めてみたが,僕には手を出せそうにないので諦めることにした.
参考文献:
http://homepage1.nifty.com/daemon/MachTen/sonoda/
http://www.sol.dti.ne.jp/~kikuyan/macosx/x11kotoeri.html
http://ult.riise.hiroshima-u.ac.jp/~nagato/hiki/hiki.cgi?MacOSX%CD%D1%A4%CEkterm%A4%C8kinput2
Leopard から Input Method を Carbon の Text Service Manager API から叩けなくなり,その代わりに Cocoa の Input Method Kit から叩くように変更になったからだ.kinput2.macim では Text Service Manager API を利用しているため,Leopard では動作しないというわけだ.
ソースをなんとなく眺めてみたが,僕には手を出せそうにないので諦めることにした.
参考文献:
http://homepage1.nifty.com/daemon/MachTen/sonoda/
http://www.sol.dti.ne.jp/~kikuyan/macosx/x11kotoeri.html
http://ult.riise.hiroshima-u.ac.jp/~nagato/hiki/hiki.cgi?MacOSX%CD%D1%A4%CEkterm%A4%C8kinput2
2009年1月14日水曜日
iAntiVirus をインストールしてみた
今回は,Mac OS X 用のウイルススキャンソフトウェアの iAntiVirus をインストールしてみたことについて.なんといっても,個人利用なら無償で利用できるということが嬉しい♪以前,林檎生活100: ClamXav をインストールした.で,ClamXav というウイルススキャンソフトウェアを紹介したけど,今回のが断然使い勝手がいいと思う.インタフェースがシンプルだしね.
インストール手順は次のとおり.
1. 次のサイトにアクセス.
http://www.iantivirus.com/
2. Start Free Download Now! と書かれた緑色のボタンをクリックしてダウンロード.

3. パッケージ形式のインストーラなので普通にインストール.
使い方は,画面を見て察してくださいwwwこれでもかっていうくらいシンプルなのでwわからないなぁっていう人は,参考文献にあげた Blog を参考にしてみてください.

あまりにシンプルすぎて,疑問に残ったのがスケジュールで自動スキャンを Daily 指定した場合,何時に実行されるのかということ.調べてもわからなかったので,誰かわかる人教えてください(*- -)(*_ _)一応,Daily に設定して使ってみてわかったら,ここに追記する予定.
参考文献:
Macはじめました。: Macのセキュリティ対策アプリケーション - iAntiVirus (Free Edition)
インストール手順は次のとおり.
1. 次のサイトにアクセス.
http://www.iantivirus.com/
2. Start Free Download Now! と書かれた緑色のボタンをクリックしてダウンロード.

3. パッケージ形式のインストーラなので普通にインストール.
使い方は,画面を見て察してくださいwwwこれでもかっていうくらいシンプルなのでwわからないなぁっていう人は,参考文献にあげた Blog を参考にしてみてください.

あまりにシンプルすぎて,疑問に残ったのがスケジュールで自動スキャンを Daily 指定した場合,何時に実行されるのかということ.調べてもわからなかったので,誰かわかる人教えてください(*- -)(*_ _)一応,Daily に設定して使ってみてわかったら,ここに追記する予定.
参考文献:
Macはじめました。: Macのセキュリティ対策アプリケーション - iAntiVirus (Free Edition)
2009年1月13日火曜日
Windows 7 on VMware Fusion
え〜,Windows 7 をインストールしてた途中で熱が出て,後日インフルエンザだったことが発覚し,寝込んでた.そんで,その日に書く予定だった日記を書けなかったので,完全に乗り遅れてしまったのだwww
とりあえず,VMware Fusion の仮想マシンへのインストールについて.
実行環境は次のとおり.
MacBook (Late 2006)
OS: Mac OS X 10.5.4
CPU: 2 GHz Intel Core 2 Duo
RAM: 2 GB 667 MHz DDR2 SDRAM
VMware Fusion
Version: 2.0.1
仮想マシンは次のような設定にした.
・ディスクイメージファイルを使用してインストール
・簡易インストールを使用しない
・RAM を512MBに設定
RAM が512MBという点については,僕の環境によるものなのでご了承いただきたい.Windows Vista の推奨が1GBなので,1GBはメモリを割いた方がいいと思う.
実際に仮想マシンを起動し,インストール開始する.インストール手順などは割愛させてもらう.ウィザードに従ってインストールするだけであるし,Vista とほとんどそのウィザードは変わっていないので.
インストール時間は,30分ほど.内蔵 HDD にディスクイメージを置き,外付け HDD(FireWire 接続)に仮想マシンを作成したので,高速にインストールできたのかもしれない.
使ってみた感じは,Vista よりは軽いんじゃね?ってかんじ.XP よりは重いんじゃね?ってかんじwもうちょっとハイスペックな Mac だったら,仮想マシン上でも Windows 7 で行ける気がする.Vista に移行しないなら Windows 7 に移行することになりそうだから,それを考えると Windows 7 はいいんじゃないかなぁと思う.それに,Windows 7 が良くないと困るしwUMPC がバカ売れしてる背景からも,Windows 7 は軽くなるか,軽いバージョンを出すでしょ♪
とりあえず,VMware Fusion の仮想マシンへのインストールについて.
実行環境は次のとおり.
MacBook (Late 2006)
OS: Mac OS X 10.5.4
CPU: 2 GHz Intel Core 2 Duo
RAM: 2 GB 667 MHz DDR2 SDRAM
VMware Fusion
Version: 2.0.1
仮想マシンは次のような設定にした.
・ディスクイメージファイルを使用してインストール
・簡易インストールを使用しない
・RAM を512MBに設定
RAM が512MBという点については,僕の環境によるものなのでご了承いただきたい.Windows Vista の推奨が1GBなので,1GBはメモリを割いた方がいいと思う.
実際に仮想マシンを起動し,インストール開始する.インストール手順などは割愛させてもらう.ウィザードに従ってインストールするだけであるし,Vista とほとんどそのウィザードは変わっていないので.
インストール時間は,30分ほど.内蔵 HDD にディスクイメージを置き,外付け HDD(FireWire 接続)に仮想マシンを作成したので,高速にインストールできたのかもしれない.
使ってみた感じは,Vista よりは軽いんじゃね?ってかんじ.XP よりは重いんじゃね?ってかんじwもうちょっとハイスペックな Mac だったら,仮想マシン上でも Windows 7 で行ける気がする.Vista に移行しないなら Windows 7 に移行することになりそうだから,それを考えると Windows 7 はいいんじゃないかなぁと思う.それに,Windows 7 が良くないと困るしwUMPC がバカ売れしてる背景からも,Windows 7 は軽くなるか,軽いバージョンを出すでしょ♪
2009年1月9日金曜日
ドライブの書き込み能力を調べる方法
2009年1月8日木曜日
FreeBSD でサーバ構築 #6
林檎生活100: FreeBSD でサーバ構築 #5の続き.前回から半年くらい時間が空いてしまって申し訳ない.今回は DNS サーバについてやっていこう♪
とは言ったものの,DNS についてはいろいろと説明することが多すぎる.仕組みをすべて説明しないにしても,独自ドメインをきちんと引けるようにするには,DNS サーバの設定にはじまり,レジストラでのドメインネームのネームサーバの設定,セカンダリ DNS の設定などがある.それらの設定だけでも大変だし,それらの設定が正しいかを確認する方法なども説明しなきゃならない.また,設定の反映に時間がかかるので,正しいか間違っているかの判断をするのに時間がかかるのだ.(レジストラでの設定の反映には,数時間から数日かかるといわれている.また,セカンダリ DNS として無料のサービスを使うとなると,そのセカンダリ DNS へレコードが転送されるまでの時間もかかる.)
ということなので,今回は DNS サーバを起動することだけに焦点をしぼってやって行く.つまり,ゾーン(ドメイン名空間の一部についての完全な情報)を持たない DNS サーバを構築することになる.この DNS サーバによって名前解決を行うことができるようになる.さらに,これに独自ドメインのゾーンを追加することで,独自ドメインを引けるようになるので,そのための準備にもなる.
林檎生活100: DNS の仕組みの図の真ん中のネームサーバが,今回構築する DNS サーバに相当する.実際に,図のような名前解決を行うサーバとして稼働するはずである.
さて,前置きが長くなったが,さっそくその方法を書いていこう.
1. rc.conf に次の行を追加.これで,再起動すると自動的に named (BIND) が起動する.
2. 再起動しない場合は,次のコマンドを打つことで,named (BIND) が起動する.
これだけwFreeBSD の場合は,設定ファイルがある程度記述されているので,名前解決を行うサーバとして稼働させるだけなら,これだけでいい.あまりに簡単すぎて,きちんと動作しているか不安なので動作チェックをしてみよう.nslookup というコマンドを用いた動作チェックの方法は次のとおり.
1. 0.0.0.0(ゼロアドレスといい「自分のホスト」の意味になる.)の DNS サーバに google.com の名前解決をさせ,名前が解決できていることを確認する.
2. named (BIND) を停止する.
3. 0.0.0.0の DNS サーバに google.com の名前解決をさせ,名前が解決できていないことを確認する.
というかんじだ.次回は,独自ドメインがどのような仕組みで引かれるようになるかについて説明する.また,機会があれば,FreeBSD のデフォルトの設定ファイルの解説をしようかと思う.設定ファイルの説明をするためには,Empty Zone についての説明もしないとなぁ.
とは言ったものの,DNS についてはいろいろと説明することが多すぎる.仕組みをすべて説明しないにしても,独自ドメインをきちんと引けるようにするには,DNS サーバの設定にはじまり,レジストラでのドメインネームのネームサーバの設定,セカンダリ DNS の設定などがある.それらの設定だけでも大変だし,それらの設定が正しいかを確認する方法なども説明しなきゃならない.また,設定の反映に時間がかかるので,正しいか間違っているかの判断をするのに時間がかかるのだ.(レジストラでの設定の反映には,数時間から数日かかるといわれている.また,セカンダリ DNS として無料のサービスを使うとなると,そのセカンダリ DNS へレコードが転送されるまでの時間もかかる.)
ということなので,今回は DNS サーバを起動することだけに焦点をしぼってやって行く.つまり,ゾーン(ドメイン名空間の一部についての完全な情報)を持たない DNS サーバを構築することになる.この DNS サーバによって名前解決を行うことができるようになる.さらに,これに独自ドメインのゾーンを追加することで,独自ドメインを引けるようになるので,そのための準備にもなる.
林檎生活100: DNS の仕組みの図の真ん中のネームサーバが,今回構築する DNS サーバに相当する.実際に,図のような名前解決を行うサーバとして稼働するはずである.
さて,前置きが長くなったが,さっそくその方法を書いていこう.
1. rc.conf に次の行を追加.これで,再起動すると自動的に named (BIND) が起動する.
named_enable="YES"
2. 再起動しない場合は,次のコマンドを打つことで,named (BIND) が起動する.
# /etc/rc.d/named start
これだけwFreeBSD の場合は,設定ファイルがある程度記述されているので,名前解決を行うサーバとして稼働させるだけなら,これだけでいい.あまりに簡単すぎて,きちんと動作しているか不安なので動作チェックをしてみよう.nslookup というコマンドを用いた動作チェックの方法は次のとおり.
1. 0.0.0.0(ゼロアドレスといい「自分のホスト」の意味になる.)の DNS サーバに google.com の名前解決をさせ,名前が解決できていることを確認する.
# nslookup google.com 0.0.0.0
2. named (BIND) を停止する.
# /etc/rc.d/named stop
3. 0.0.0.0の DNS サーバに google.com の名前解決をさせ,名前が解決できていないことを確認する.
# nslookup google.com 0.0.0.0
というかんじだ.次回は,独自ドメインがどのような仕組みで引かれるようになるかについて説明する.また,機会があれば,FreeBSD のデフォルトの設定ファイルの解説をしようかと思う.設定ファイルの説明をするためには,Empty Zone についての説明もしないとなぁ.
2008年12月26日金曜日
Mac OS X でシリアルコンソール #1
Mac OS X でシリアルコンソールを使おう♪林檎生活100: FreeBSD インストール用 USB メモリの作成 #2は,この布石だwOS をシリアルコンソールからインストールというのはなかなかないかもしれないけど,Cisco のルータの設定とかはシリアルコンソールからだよね.まっ,そういうときに役に立つんじゃないかな.
さて,Mac OS X でシリアル接続をするわけなんだけど,最近の Mac にはシリアルポート (RS-232C) がないっ!どの機種のどこにもないっ!ということで,物理的にポートを増やさなきゃならないので,今回は秋月電子通商のFT232RL USB-RS232C変換モジュールをつかうことにする.代引き手数料込みで¥2,200ということでとってもお買い得♪

さて,こいつが手に入ったら,こいつを USB ポートに接続して終わり♪ってわけじゃないんだよなぁ.Mac OS X にはこいつのドライバが入ってないので,手動でインストールしなきゃなんない.
ということで,こっからドライバインストールの手順.
1. FTDI Chip の Web サイトにアクセス.
FTDI Chip
2. Driver をクリック.

3. VCPをクリック.

4. 下の方にスクロールし,Mac OS X 用のドライバをダウンロード.


5. ドライバをインストール.普通のアプリケーションと変わらないので,詳細は省略.
6. 再起動.
7. FT232RL USB-RS232C変換モジュールを接続.
8. ターミナルを起動して,次のコマンドを打って,/dev/tty.usbserial-???????? が増えていることを確認する.(?の部分はシリアルナンバーが入るので,ハードウェアごとに異なる.)
以上でハードウェアの準備は完了♪次回は,Mac OS X でシリアルコンソールを使う方法について.
さて,Mac OS X でシリアル接続をするわけなんだけど,最近の Mac にはシリアルポート (RS-232C) がないっ!どの機種のどこにもないっ!ということで,物理的にポートを増やさなきゃならないので,今回は秋月電子通商のFT232RL USB-RS232C変換モジュールをつかうことにする.代引き手数料込みで¥2,200ということでとってもお買い得♪

さて,こいつが手に入ったら,こいつを USB ポートに接続して終わり♪ってわけじゃないんだよなぁ.Mac OS X にはこいつのドライバが入ってないので,手動でインストールしなきゃなんない.
ということで,こっからドライバインストールの手順.
1. FTDI Chip の Web サイトにアクセス.
FTDI Chip
2. Driver をクリック.

3. VCPをクリック.

4. 下の方にスクロールし,Mac OS X 用のドライバをダウンロード.


5. ドライバをインストール.普通のアプリケーションと変わらないので,詳細は省略.
6. 再起動.
7. FT232RL USB-RS232C変換モジュールを接続.
8. ターミナルを起動して,次のコマンドを打って,/dev/tty.usbserial-???????? が増えていることを確認する.(?の部分はシリアルナンバーが入るので,ハードウェアごとに異なる.)
$ ls /dev/tty.*
以上でハードウェアの準備は完了♪次回は,Mac OS X でシリアルコンソールを使う方法について.
登録:
投稿 (Atom)
