[an error occurred while processing this directive]
【DNS】64bitでtinydnsが動かないとお嘆きの方に

第225日目:【DNS】64bitでtinydnsが動かないとお嘆きの方に

【追記 2011/01/14 14:00】
どうも、▲('A`)/です。
今いつものごとく上田新聞北森瓦版エルミタージュ秋葉原アキバPC Hotline!
見ていたのですが、アキバPC Hotline!で、こんな記事を見つけました。
鉄柵が映もうかなり時間が経っているので、知っている人もいるかもしれませんが、
P67系とH67系のマザーの相違点について、判り易く書かれていました。
なるほど、と思いました。
で、インテルさんは罪な事をしています。
Ivy Bridgeが今年の年末(2011第四四半期)に発表予定、との事で、Sandyを手に
入れるかどうかで、迷われている人もいるんじゃないかと思います。
何かコロコロ新しいものが出るのはどうなんでしょう?
まあ、好きな人はお構いなしに手に入れようとするでしょうが、先立つものが
無い▲('A`)の様な「下々の者達」は大いに迷うわけです、ハイ。

さて、今日は源泉徴収票を会社からもらったので、今週末はE-TAXで医療費控除の
入力の準備をしようと思います。
(えーと、今回は平成22年度分です。)
医療費控除は所得税に対しておこなうものです。ここで控除を申請し、支払う
所得税が決まると、翌年度(平成23年度)の健康保険とかの保険料の算定とかにも
関わってきますので、申請できる人はやっておいた方が良いでしょう。
(えーと、国税庁のココに医療費控除についての説明(PDF)がありますので、
興味のある方はご覧下さい。)
ちなみに確定申告についての国税庁のページはこちらになります。
それでは、本編をお楽しみください。

↓ 本編はこちらです。

(2011/01/14 13:20)
どうも、▲('A`)/です。
えーと、ちょっとね、今週は体調が悪くって一昨日の午後から寝込んでしまい、
お休みしてました。心臓の薬を1日の限度いっぱいまで飲んで様子を見たのですが、
まだ、本調子になりません。今月末に心電図の検査と診察があるので、その時に
薬の相談もするつもりです、ハイ。

さて、今週末は受験生にとっては本番を迎えますね。
今は「共通一次」じゃなくて「センター試験」って言うんでしたっけ?
(年代が判ってしまうかな・・・アハアハ▲('A`))
で、北国の受験生は今週末は交通機関の遅れが予想されるので、何事も
早め早めの移動と、防寒に気をつけて下さい。
特に替えの靴下とかTシャツとか、ね。「そんなもんいるのかよ!」って
文句が出そうですが、意外と試験会場の温度って場所によって違いますし
移動中等に汗をかくと、冷えて体温を奪われたりとか色々起きます。
そういう「いつもと違う事」が気になって、本調子を発揮できないとか
あるんですよ。
まあ、ここまで来たら、足掻いたりせず「普段通り」にするのがいいのです。

さて、先日root兄(・∀・)から、「amd64のサーバでtinydnsをインストールして
動かそうとしても、うまく動かないんだ」と聞かれ、ちょっと調べてみました。

うん、確かにソースからdjbdnsをインストールして、tinydnsの設定をしても
コンテンツサーバが応答しないですねえ。
えーと、で、色々試してみました。
で、今回日本語でこの件について解説しているページが見当たらなかったので、
個人的なメモとして、ちょっと日記に書いてみました。

tinydns(実際にはdjbdns)のインストールには2つ方法があります。
1つは皆さんおなじみのportsからのインストールです。
もう一つはソース(tarボール)からのインストールです。
以降では、まずportsからのインストール、続いてソースからのインストールを
解説します。

portsからdjbdnsをインストールする方法です。
これだと、問題なくコンテンツサーバとして稼働する事を確認しました。

cd /usr/ports/dns/djbdns
make config
make
make install clean


えーと、上の画面はdjbdnsのデフォルトのパラメータです。
表示されている項目は以下の通りです。
1) DUMPCACHE persistent cache for dnscache
2) IPV6 IPv6 support by Felix von Leitner
3) IGNOREIP ignoreip2 patch by Russell Nelson
4) JUMBO jumbo patch by Claudiu Costin
5) MAN manual pages by Gerritt Pape
6) PERSISTENT_MMAP persistent mmap patch by Lennert Buytenhek
7) SRV SRV record patch by Michael Handler
で、5)がデフォルトで指定されています。
(マニュアルはインストールしますよ、という事ですね。)
で、1)〜4)、6)〜7)のパッチとかパラメータを設定する際には気をつけて
下さい。(パターンによっては途中でエラーになります。)
えーと、まずは以下の様に1)以外を全部指定してみました。
( 1)はdnscache向けの設定です。)

そうしたら、見事にエラーになりました。グハッ。。。
エラーの理由は「お前が選択したIPv6のパッチはIGNOREIPでも含まれているので、
重複しているよ!」というものです、ハイ。

そうなのか・・・という事で、次は 2)を外して見ました。
make clean
make config

で、make configは通ったのですが、次に make をすると、エラーになりました。

エラーの理由は「お前が選択したjumboのパッチはIPv6、IGNOREIP、SRVのパッチと
競合しているよ!」というものです、ハイ。
いやはや、なんとも。

さて、どうやら IGNOREIP のパッチは色々含んでいる様なので、こいつとSRVを
指定する様にしました。
こんな感じ


で、以上がtinydns及びdnscacheの大元になるdjbdnsのインストールの
部分の解説です。
(あくまでもportsからのインストールです。ソースからインストールする
場合には、これ以外にも作業があります。内容については後述します。)

これからtinydnsを使える様にするには、以下の作業が必要になります。
・dnsサーバが使うIPアドレスを有効化する。
/etc/rc.conf に以下の様にIPを追加します。
ifconfig_[NICの装置記号名]_alias0="inet [IPアドレス] netmask 255.255.255.255
例えばこんな感じ。
ifconfig_em0_alias0="inet 114.160.23.42 netmask 255.255.255.255"
で、サーバをリブートしてIPを有効化します。
サーバが再起動したら、指定したIPにpingが通じるか確認して下さい。

・tinydnsの環境設定
まずはこれを実行します。
tinydns-conf tinydns users /home/tinydns [IPアドレス]
例えばこんな感じ。
tinydns-conf tinydns users /home/tinydns 114.160.23.42
すると、/home/tinydnsというディレクトリが作成されます。
で、次にDNS情報のデータを作ります(設定します。)
DNSレコードを /home/tinydns/root/の中にdataというファイルが
存在しますので、そこにvi等のエディタで直接記述するか、下記の
スクリプトを使ってdataに登録する、という方法があります。
add-alias
add-childns
add-host
add-mx
add-ns

詳しい登録方法はこちらのサイトで紹介されています。
で、dataに必要なDNSレコードを登録したら、tinydnsが実際に参照する
ファイル data.cdb を生成します。
作り方は スーパーユーザモードになって、
cd /home/tinydns/root
make
と入力・実行すると /home/tinydns/root 内に data.cdb が作られます。

で、いまさらですが、tinydnsを起動するにはdaemontoolsを使って動かします。
daemontoolsがインストールされている事を前提に書きますと、
cd /var/service
ln -s /home/tinydns tinydns
でOKです。

さて、次はソースからインストールする場合について書きますね。
まずは本体のソースを入手しましょう。(名称はdjbdns-1.05.tar.gzです。)
本体(djndbsのソース:tar.gz形式)はココのページでリンクが貼られています。
そのリンクから入手可能です。
で、必要ならパッチファイルを入手してパッチを当てて下さい。
tinydns関連のパッチファイルを調べたい場合には
http://tinydns.org/にアクセスして下さい。
で、ページ中断に以下のメッセージ
Convenience tools for various resource record types
が書かれている下にパッチが紹介されていて、パッチファイルへのリンクが
貼られていますので、そこから取得できます。
えーと、以下はソースを取得して、パッチを当てるところまでの作業を示しています。
(当てるパッチは IGNOREIP(実際の名前はignoreip2です) と SRV です。)
cd /tmp fetch http://cr.yp.to/djbdns/djbdns-1.05.tar.gz tar zxvf djbdns-1.05.tar.gz cd /tmp/djbdns-1.05
fetch http://tinydns.org/djbdns-1.05-ignoreip2.patch
patch < djbdns-1.05-ignoreip2.patch
fetch http://tinydns.org/srv-patch
patch < srv-patch

で、必要なパッチを当てた後で64bitの場合にはこうやります。
ソースが格納されているディレクトリ djbdns-1.05/ の中に conf-ccという
ファイルがあります。そのファイルをvi等のエディタで開きます。
conf-ccの内容は以下の通りです。
gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings

This will be used to compile .c files.

で、このgccの文末に以下のパラメータを追記して下さい。
-include /usr/include/errno.h
追記した結果、内容がこうなります。
gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -include /usr/include/errno.h

This will be used to compile .c files.

で、以下の様にインストールして下さい。
make setup check

で、dnscacheやtinydnsを動かす為のユーザを以下のコマンドで登録します。
(これは必ず実行して下さい。)
pw groupadd -n dnslog -g 510
pw useradd -n dnslog -u 510 -g 510 -d /noexsistent -s /sbin/nologin
pw groupadd -n dnscache -g 511
pw useradd -n dnscache -u 511 -g 511 -d /noexsistent -s /sbin/nologin
pw groupadd -n tinydns -g 512
pw useradd -n tinydns -u 512 -g 512 -d /noexsistent -s /sbin/nologin
で、あとはIPを有効化して、tinydnsの環境設定を行うのも忘れずに実行して下さい。

さて、では上記でconf-ccを修正したパッケージを32bit(i386)のサーバで
インストールしたら動くのか?興味ありますよね?・・・
結果はどうだったかといいますと、ダメ、でした。
▲('A`)「エエェェェェェェ!」ですよ、ハイ。でもこればっかりは何度やっても
同じ結果でした。
という事で、ソースからインストールしようとする人は、64ビット・32ビットと分けて
パッケージを作っておく事をお勧めします。
(まあ、64ビットにインストールする際に、conf-ccをその都度手動で修正する、と
いうのでも良いのですが・・・)

まだ本調子ではないので、今日の日記はここまでです。すみません。
今日はちょっとおとなしくしています。
あ、そうそう。今月末には脳外科の診察があるのですが、その際に▲('A`)の脳みその
画像データを入手しようと考えています。 もしかすると、ある日突然得体の知れない画像が日記にアップされていたりして。
(うーん、診察の日にCD-RかDVD-Rを用意して持っていこうっと。)
それでは、また!▲('A`)/

224日目に戻る。   226日目に続く。

目次に戻る
1日目 2日目 3日目 4日目 5日目 6日目 7日目
8日目 9日目 10日目 11日目 12日目 13日目 14日目
15日目 16日目 17日目 18日目 19日目 20日目 21日目
22日目 23日目 24日目 25日目 26日目 27日目 28日目
29日目 30日目 31日目 32日目 33日目 34日目 35日目
36日目 37日目 38日目 39日目 40日目 41日目 42日目
43日目 44日目 45日目 46日目 47日目 48日目 49日目
50日目 51日目 52日目 53日目 54日目 55日目 56日目
57日目 58日目 59日目 60日目 61日目 62日目 63日目
64日目 65日目 66日目 67日目 68日目 69日目 70日目
71日目 72日目 73日目 74日目 75日目 76日目 77日目
78日目 79日目 80日目 81日目 82日目 83日目 84日目
85日目 86日目 87日目 88日目 89日目 90日目 91日目
92日目 93日目 94日目 95日目 96日目 97日目 98日目
99日目 100日目 101日目 102日目 103日目 104日目 105日目
106日目 107日目 108日目 109日目 110日目 111日目 112日目
113日目 114日目 115日目 116日目 117日目 118日目 119日目
120日目 121日目 122日目 123日目 124日目 125日目 126日目
127日目 128日目 129日目 130日目 131日目 132日目 133日目
134日目 135日目 136日目 137日目 138日目 139日目 140日目
141日目 142日目 143日目 144日目 145日目 146日目 147日目
148日目 149日目 150日目 151日目 152日目 153日目 154日目
155日目 156日目 157日目 158日目 159日目 160日目 161日目
162日目 163日目 164日目 165日目 166日目 167日目 168日目
169日目 170日目 171日目 172日目 173日目 174日目 175日目
176日目 177日目 178日目 179日目 180日目 181日目 182日目
183日目 184日目 185日目 186日目 187日目 188日目 189日目
190日目 191日目 192日目 193日目 194日目 195日目 196日目
197日目 198日目 199日目 200日目 201日目 202日目 203日目
204日目 205日目 206日目 207日目 208日目 209日目 210日目
211日目 212日目 213日目 214日目 215日目 216日目 217日目
218日目 219日目 220日目 221日目 222日目 223日目 224日目
225日目 226日目 227日目 228日目 229日目 230日目 231日目
232日目 233日目 234日目 235日目 236日目 237日目 238日目
239日目 240日目 241日目 242日目 243日目 244日目 245日目
246日目 247日目 248日目 249日目 250日目 251日目 252日目
253日目 254日目 255日目 256日目 257日目 258日目 259日目
260日目 261日目 262日目 263日目 264日目 265日目 266日目
267日目 268日目 269日目 270日目 271日目 272日目 273日目
274日目 275日目 276日目 277日目 278日目 279日目 280日目
281日目 282日目 283日目 284日目 285日目 286日目 287日目
288日目 289日目 290日目 291日目 292日目 293日目 294日目
295日目 296日目 297日目 298日目 299日目 300日目 301日目
302日目 303日目 304日目 305日目 306日目 307日目 308日目
309日目 310日目 311日目 312日目 313日目 314日目 315日目
316日目 317日目 318日目 319日目 320日目 321日目 322日目
323日目 324日目 325日目 326日目 327日目 328日目 329日目
330日目 331日目 332日目 333日目 334日目 335日目 336日目
337日目 338日目 339日目 340日目 341日目 342日目 343日目
344日目 345日目 346日目 347日目 348日目 349日目 350日目
351日目 352日目 353日目 354日目 355日目 356日目 357日目
358日目 359日目 360日目 361日目 362日目 363日目 364日目

いま一番お得なページ! 解析
[an error occurred while processing this directive]