日々是戯言。
* 3月にGURPS妖魔夜行をやる、と決まったのでシステム付属のキャラシーをコピってみる。
* が。
* よくよく見ると出来が悪いぞ、これ(笑)
* そもそも、最初の印刷からして歪んでるとゆーのはどーゆー了見か。さらに、能力値も「人間時/妖怪時」でコロコロ変わってくるゲームなのに、その辺に対する考慮もなされてない。
* と、ゆー訳で自分でふにふに作ってみる事にする。最近はその辺PCで気楽に出来るかんねぇ。いい時代になったもんだ(笑)
* ・・・・・・・・・・・・・・・・・・・・・・・・・・
* と、まあそゆつもりでがっこに来たはずなのだが。
* いちおー、1/4くらいは作ったのだが。
いつの間にやらDNS鯖設定に没頭してたり(爆)
* う〜〜〜む(^^;;;;
* いや、まあ、何だ。前からね? どーもbind(DNS機能を実現する業界標準ソフトだ)の動作が遅くてね? まあ、理由は「forwarders only」のオプションが入ってるせいで直接ルートサーバに問い合わせに行かないからそこでタイムラグが発生してるせいだろう、と思うんだけど。でも、「.com」や「.net」、あるいは「.to」やら検索に行く度にタイムアウトしてちゃあ実際使いもんにならんのよ。かと言って「forwarders only」外すと自前で抱えてるプライベートネットワークの情報がどこでどんな迷惑かける事になるか分からん(多分大丈夫だと思うのだが。外からのport53アクセスは禁止してるし)から、ちと踏み切れぬ。
* さらに言うと、最近bindがコア吐いてよく死ぬのよ。なんか妙な事が起こってるか、あるいは何か設定ミスってるか。とにかく堪忍袋が限界チックなのだ(笑)
* と、まあそーゆー訳で。
bindに代わりdjbdnsをインストしてみる。
* djbdnsってのは、D.J.Bernsteinとゆー人の作ったDNSソフトで、「自前ネットワークの情報を抱えている部分」と「外部から取り込んだ情報をキャッシュしてる部分」が別プログラムになってるのが特徴。よーするに、「キャッシュ」の方は直接ルートサーバにアクセスしても何も問題ない訳だ。
* あ、ちなみにD.J.Bernsteinつー人はqmailの作者でもある。まあ、「安全で確実な設計思想」に基づいた「いいソフト」を作る人よね。でもこの人、発言の過激さで余計な敵を作ってると思うの(笑) 詳しくはqmailの日本語ページを。
* で、まあふにふに必要な物をインストール。詳しくは後の設定メモで。インストールが済んで、まずキャッシュサーバの方を立ち上げてみる。これは自分LANのすべてのマシンで参照出来る必要があるんで、192.168.0.1(内部向けIP)のport53に常駐させてみる。で、LANの他のマシンから名前解決・・・・あ、出来た出来た。ふむ、けっこー簡単。で、今度は鯖マシン自体から名前解決・・・・・・・・・・あら? 出来ない????
* ん〜〜〜・・・・あ、そうか。このマシン自体は127.0.0.1(内部ループバック用IP)にDNS鯖探しにいく様になってるから、192.168.0.1なんか見に行かないんだ。こりゃうかつ(笑)
* まあ、原因は分かったので後で修正するとして、今度は「自前DNSサーバ」の方も起動。こっちは127.0.0.1のport53に常駐。で、キャッシュサーバの方に「自分ネットワークは127.0.0.1を見に行きなさいね」と設定して・・・・ほい、でけた。
* そゆ訳で、resolve.confを書き直し、ついでにブートスクリプトもさらっと書きあげて/usr/local/etc/rc.d/にほりこんでおく。で、再起動・・・・・・
-
* あ。
-
* しまった、rc.confの「named_enable="YES"」を書き換えてない(笑) このままじゃ先にbindが立ち上がっちゃうからdjbdnsが起動出来ないじゃないか(笑)
* 今度はそこを「"NO"」にして再起動・・・・・・・・・
-
* あ゛。
-
* しまった、これだとsendmailやsambaの方が先に起動しちゃって、で、「DNS鯖が無い」とか言ってタイムアウトまで待ったりnmbdが落っこちたりするじゃないか(爆)
* ・・・・・・どーもこー、我ながら色々うかつだなぁ(苦笑)
* しょうがないので、今度はrc.network自体を書き換えて、bindが起動するのと同じタイミングでdjbdnsが起動する様に。ホントはあんまし書き換えたくないんだけどね、この辺。でも、sendmail使ってる限りどーしょーも無いしなあ。さっさとqmailに乗り換えかしらん。
* 以下、本日の作業のまとめ。家帰ったら同じ作業をまた家鯖に対して行うんじゃからしっかり覚えておけよ(笑)>俺
* djbdnsのインストール&設定。まず、
* を入手。zcat *tar -xvf -で展開、それぞれのディレクトリでmake setup check。続いて、
* としてsupervisorを起動。このsvscanはブートスクリプトを作って自動起動する様に設定。このsvscanがdns(及び他のサービス)の起動を受け持つ。こまでが前準備。続いて、
* をユーザー登録。グループは何でもいいしログインも出来なくてOK。ほいで、
* としてtinydnsが127.0.0.1のport53、dnscacheが192.168.0.1のport53をリスンする様設定。さらに、
* でtinydnsとdnscacheが起動される様になる。
* tinydnsにデータを登録するには、
* でns登録(127.0.0.1でなく192.168.0.1でもいい気もするが)
* でhost登録。最後にmakeしてデータベースを作成。変更は即座に反映されるらしいので再起動は不要。ふむ、便利。
* dnscacheの設定は、
* を作成して192.168.0.0/24のネットワークからの問い合わせにのみ答える様設定。
* として内部ネットワークに関する問い合わせは127.0.0.1に聞く様にする。で、最後はsvc -t /service/dnscachexで再起動。
* とどめに/etc/resolv.confに「nameserver 192.168.0.1」と設定。
* 以上。