[an error occurred while processing this directive]
【djbdns】DルートサーバIP変更に絡み、ちょっと小ネタを・・・

第341日目:【djbdns】DルートサーバIP変更に絡み、ちょっと小ネタを・・・

【追記4 2013/01/29 15:00】
ども、ども、▲('A`)/です。
えーと、久々にWindows8(鉢)の生育状況をスプラウト日記の方でご紹介しました。
ちょっと全体の写真だけこちらにも載せときますね。


それでは、また!▲('A`)/

【追記3 2013/01/29 10:55】
ども、ども、▲('A`)/です。
えーと、先ほどご紹介したArchBSDですが、本家サイトをよーく見てみたら
「Site Is Still Under Construction」(サイトはまだ工事中です・・・)という残念な事が
書いていました。トホホ・・・
まあ、せっかくなのでArchLinuxでも触ってみますか。

それでは、また!▲('A`)/

【追記2 2013/01/29 10:05】
ども、ども、▲('A`)/です。
えーと、今日は朝から技術評論社の後藤さんのところの記事
読んでいました。
なんでもArchBSDというFreeBSDカーネル+Arch Linuxのパッケージ管理が
ドッキングしたOSについての紹介記事です。
けっこう面白そうなOSです。
FreeBSDとLinuxの合わせ技としてはDebian GNU/kFreeBSDとか
Gentoo/FreeBSDがあります。
それらと比べて操作性はどうなのかなあ?ちょっと試してみようっと。

まあ、いずれもカーネル(基幹部分)はFreeBSD、その他のソフトウェア
(ユーザランド)はLinuxという構成ですが、ライセンス的にはどうなんでしょう?
使う方としてはシンプルに容易に使えるならよいのですが・・・

それでは、また!▲('A`)/

【追記 2013/01/25 16:50】
ども、ども、▲('A`)/です。
えーと、今日は朝から業務目白押しでようやく一息つけたので追記します。
今週は「大寒(1/20)」の週だったのですが、札幌は比較的暖かくて、
今日なんかベタ雪が降りまして外が歩きづらい状況です。
(暖かくなったらかどうか判りませんが、札幌ではインフルエンザが
流行りだした感があります。雪祭りで来札される際には暖かい格好と
足元(靴)、それと外から帰ったらホテルでうがい・手洗いを心がけて
ください。なお札幌市ではここのページで「主な感染症の発生動向」を
週単位で報告してくれています。参考までにどうぞ。)
まあ、降ってく傍から雪がしまってきて、これで夜になったらツルツルに
なるんだろうなあ・・・

雪祭り会場では、まだまだ製作真っ盛りです。
来週あたりには囲いが取れるのかな?
こちらが「さっぽろ雪まつり」のサイトです。公式ブログを見ると
どんな様子か判るかも、です。

それでは、また!▲('A`)/

↓ 本編はこちらです。

(2013/01/24 16:50)
ども、ども、▲('A`)/です。
えーと、今日は前回の日記(第340日目)の追記でちょっと触れました
DNS(DルートサーバのIP変更)に絡んで、djbdns(dnscache)ではどういう風に
対応すれば良いかというのを改めて本編としてまとめてみます。
なので、ちょっと内容が重複すると思いますが、御容赦を・・・

今日お話するのはこんな内容です。
@djbdns(dnscache)でDルートサーバのIPを変更する場合、
 どこをどう直すのか?
AせっかくなのでDルートサーバのIPが変更済みのインストール
 パッケージ(ソース版)をご提供する。

DNS関連ではこの日記「ぷろじぇくとぞうさん」でも過去に
何度か取り上げていますが、いずれもIPv6がらみでした。

  第74日目:【IPv6】(´・ω・`)見慣れないIPが届きました・・・('A`)
  第116日目:IPv6対応DNSサーバを作ってみました(byエース)

なので、通常一般のDNS関連のお話は今回始めてとなります。
とは言うものの、内容は追記のまま、という次第です・・・

では、早速始めます。

@djbdns(dnscache)でDルートサーバのIPを変更する場合、
 どこをどう直すのか?


はい、まずは説明の前提をしないといけませんね。

[ケーズ1]
既にdjbdns(dnscache)をマシンにインストール済で、
dnscacheの起点となるディレクトリが /home/dnscache とします。

djbdnsをインストール後、dnsキャッシュサーバ(dnscache)を
設定する場合には、dnscache-conf コマンドを使って起点となる
ディレクトリや、稼動させるユーザ、使用するIP等を指定して
構築します。
ちょっと追加情報ですが、djbdns(dnscache)ではdaemontools(デーモン管理ツール)や
ucspi-tcp(TCP制御ツール)などのソフトウェアが必要になってきますので、これらも
忘れずにインストールしておきましょう。
(portsからインストールする時は関連ソフトとして一緒にインストールされます。)
ちなみにdnscacheやtynydns(DNSコンテンツサーバ)等を動かす場合
専用のユーザ&グループを予め作っておきます。

で、dnscacne-conf コマンドを実行すると以下の様なサブディレクトリが
構築されます。
# ls -l /home/dnscache/
total 24
drwxr-sr-x 2 root wheel 512 Jan 24 2012 env
drwxr-sr-x 4 root wheel 512 Jan 24 2012 log
drwxr-sr-x 4 root wheel 512 Jan 24 2012 root
-rwxr-xr-x 1 root wheel 141 Jan 24 2012 run
-rw------- 1 root wheel 128 Jan 24 2012 seed
drwx------ 2 root wheel 512 Oct 28 19:56 supervise
#

envディレクトリはdnscacheに渡される色々な環境変数の情報が格納されています。
logディレクトリは文字通りdnscacheが外部から受付したDNSの問い合わせ(クエリー)と
DNS情報を検索した結果が記録されます。
(これがとても見づらいんですよ・・・なんてったって、IPアドレスが16進数で
記録されているので、パッと見ではそれ自体が何なのか判らなかったりします。)
で、rootディレクトリはdnscacheのルートディレクトリとなります。 「起点となるディレクトリ」と紛らわしいかもしれませんが、このrootディレクトリが
dnscacheのプロセスがアクセス可能な上限の位置となるのです。
これはchrootで実現されています。
chrootが有効だと、この起点となるディレクトリよりも上位の位置へアクセスできなく
なりますので、「処理(プロセス)の独立性」や「セキュリティ」に有効なのです。

で、話が横にそれちゃいましたけど、このrootディレクトリの中にあるserversという
サブディレクトリの、そのまた中のファイル「@」に各ルートサーバの
IPアドレスが記録されているのです。
ルートサーバのIPが変更になったりしたら、このファイルを直す事になります。

# ls -l /home/dnscache/root
total 8
drwxr-sr-x 2 root wheel 512 Jan 24 2012 ip
drwxr-sr-x 2 root wheel 512 Jan 24 2012 servers
# ls -l /home/dnscache/root/servers/
total 4
-rw-r--r-- 1 root wheel 168 Jan 24 2012 @
#

# cat /home/dnscache/root/servers/@
198.41.0.4
192.228.79.201
192.33.4.12
128.8.10.90
192.203.230.10
192.5.5.241
192.112.36.4
128.63.2.53
192.36.148.17
192.58.128.30
193.0.14.129
199.7.83.42
202.12.27.33
#

今回のケーズの場合、ファイル「@」の4行目を「128.8.10.90」から「199.7.91.13」に
書き換えます。
書き換えが終わったらdnsキャッシュサーバを再起動します。
djbdns(dnschache)を再起動する場合にはdaemontoolsの svc コマンドを使って

svc -t /var/service/dnscache

なんていう風にシグナルを送ってプロセスを再起動しちゃいます。
プロセスを再起動すると、新しい設定が反映されます。

えーと、daemontoolsのプログラムにsvscanというのがありまして、
こいつが定期的に監視対象(/var/serviceの配下にあるディレクトリ)の
サービスの稼働状況を監視しています。
もし動いていなかったら、/var/service/[サービス名]の中にある
runスクリプト(起動スクリプトですね)を動かします。
で、実はdnscacheを設置したら、/var/service/の下に以下のスタティックリンクを
貼って、dnscacheを動かすのです。

# ls -l /var/service/
total 0
lrwxr-xr-x 1 root wheel 14 Jan 24 2013 dnscache -> /home/dnscache
#

「/home/dnscacheにrunってファイルがあったっけ?」という人は上の
ディレクトリ/ファイル一覧をよーく見てください。あるでしょう?

ちなみにこのrunファイルの中身はこんな感じになっています。

# cat /home/dnscache/run
#!/bin/sh
exec 2<&1
exec >seed
exec envdir ./env sh -c '
exec envuidgid dnscache softlimit -o250 -d "$DATALIMIT" /usr/local/bin/dnscache
'
#

[ケーズ2]
これからdjbdns(dnscache)をマシンにインストールする場合。

djbdnsは結構古いソフトです。が、まあDNSのソフトウェアとしては
BINDの方が有名ですかね・・・

いちおうwikipediaにも解説があったりしますが、本家サイトは
以下のリンク先となります。

djbdns本家(英語サイト)
djbdns日本語サイト

で、ここで初心者にとって困るのが「TOPページのどこからたどれば
インストールのページにたどり着くの?」という事です。
日本語サイトの場合には以下の順序で行きます。

TOPページを表示
 → (上段にある)「説明文書」のリンクをクリック
   そのリンクの横にソースファイル(tar.gz)のリンクが貼られています。
 → 移動先のページに「djbdnsをインストールする」というリンクがあるので、クリック
 → お目当てのページに到着

日本語の文献としては「djbdnsで作るネームサーバ徹底攻略」という本が
2003年にソフトバンクパブリッシングから出版されていたのですが、
残念ながら今は絶版となっているので、今となってはAmazonあたりで
中古品を探すしか入手方法はありません。
▲('A`)の会社にはこの本と数少ないqmailの日本語文献である
「qmailで作るメールサーバ徹底攻略」があります。
もうね、これらは宝物ですよ・・・
何度も読み返して、ちょっとコタコタになってはいますけど(w

で、djbdnsのインストール方法とかは今回省きまして、、、
ソースファイルを解凍すると、解凍されるソースの内訳はこうなっています。

# ls -l djbdns-1.05
total 2328
-rw-r--r-- 1 root wheel 15346 Feb 12 2001 CHANGES
-rw-r--r-- 1 root wheel 2682 Feb 12 2001 FILES
-rw-r--r-- 1 root wheel 30735 Feb 12 2001 Makefile
-rw-r--r-- 1 root wheel 162 Feb 12 2001 README
-rw-r--r-- 1 root wheel 98 Feb 12 2001 SYSDEPS
-rw-r--r-- 1 root wheel 2358 Feb 12 2001 TARGETS
-rw-r--r-- 1 root wheel 909 Feb 12 2001 TINYDNS
-rw-r--r-- 1 root wheel 344 Feb 12 2001 TODO
-rw-r--r-- 1 root wheel 12 Feb 12 2001 VERSION
-rw-r--r-- 1 root wheel 21968 Jan 24 04:30 alloc.a
-rw-r--r-- 1 root wheel 810 Feb 12 2001 alloc.c
-rw-r--r-- 1 root wheel 131 Feb 12 2001 alloc.h
-rw-r--r-- 1 root wheel 214 Feb 12 2001 alloc_re.c
-rwxr-xr-x 1 root wheel 7344 Jan 24 04:41 auto-str
-rw-r--r-- 1 root wheel 718 Feb 12 2001 auto-str.c
-rw-r--r-- 1 root wheel 73 Jan 24 04:41 auto_home.c
-rw-r--r-- 1 root wheel 80 Feb 12 2001 auto_home.h
-rwxr-xr-x 1 root wheel 26928 Jan 24 04:30 axfr-get
-rw-r--r-- 1 root wheel 10330 Feb 12 2001 axfr-get.c
-rwxr-xr-x 1 root wheel 38656 Jan 24 04:30 axfrdns
-rwxr-xr-x 1 root wheel 16128 Jan 24 04:30 axfrdns-conf
-rw-r--r-- 1 root wheel 1541 Feb 12 2001 axfrdns-conf.c
-rw-r--r-- 1 root wheel 8414 Feb 12 2001 axfrdns.c
-rw-r--r-- 1 root wheel 16482 Jan 24 04:41 buffer.a
-rw-r--r-- 1 root wheel 167 Feb 12 2001 buffer.c
-rw-r--r-- 1 root wheel 1618 Feb 12 2001 buffer.h
-rw-r--r-- 1 root wheel 171 Feb 12 2001 buffer_1.c
-rw-r--r-- 1 root wheel 160 Feb 12 2001 buffer_2.c
-rw-r--r-- 1 root wheel 276 Feb 12 2001 buffer_copy.c
-rw-r--r-- 1 root wheel 1249 Feb 12 2001 buffer_get.c
-rw-r--r-- 1 root wheel 1783 Feb 12 2001 buffer_put.c
-rw-r--r-- 1 root wheel 127 Feb 12 2001 buffer_read.c
-rw-r--r-- 1 root wheel 135 Feb 12 2001 buffer_write.c
-rw-r--r-- 1 root wheel 30574 Jan 24 04:41 byte.a
-rw-r--r-- 1 root wheel 257 Feb 12 2001 byte.h
-rw-r--r-- 1 root wheel 386 Feb 12 2001 byte_chr.c
-rw-r--r-- 1 root wheel 299 Feb 12 2001 byte_copy.c
-rw-r--r-- 1 root wheel 324 Feb 12 2001 byte_cr.c
-rw-r--r-- 1 root wheel 453 Feb 12 2001 byte_diff.c
-rw-r--r-- 1 root wheel 230 Feb 12 2001 byte_zero.c
-rw-r--r-- 1 root wheel 4543 Feb 12 2001 cache.c
-rw-r--r-- 1 root wheel 305 Feb 12 2001 cache.h
-rwxr-xr-x 1 root wheel 12136 Jan 24 04:30 cachetest
-rw-r--r-- 1 root wheel 527 Feb 12 2001 cachetest.c
-rw-r--r-- 1 root wheel 395 Feb 12 2001 case.h
-rw-r--r-- 1 root wheel 433 Feb 12 2001 case_diffb.c
-rw-r--r-- 1 root wheel 399 Feb 12 2001 case_diffs.c
-rw-r--r-- 1 root wheel 185 Feb 12 2001 case_lowerb.c
-rw-r--r-- 1 root wheel 10202 Jan 24 04:30 cdb.a
-rw-r--r-- 1 root wheel 2608 Feb 12 2001 cdb.c
-rw-r--r-- 1 root wheel 1111 Feb 12 2001 cdb.h
-rw-r--r-- 1 root wheel 285 Feb 12 2001 cdb_hash.c
-rw-r--r-- 1 root wheel 3707 Feb 12 2001 cdb_make.c
-rw-r--r-- 1 root wheel 886 Feb 12 2001 cdb_make.h
-rwxr-xr-x 1 root wheel 4688 Jan 24 04:30 chkshsgr
-rw-r--r-- 1 root wheel 143 Feb 12 2001 chkshsgr.c
-rwxr-xr-x 1 root wheel 322 May 19 2004 choose
-rw-r--r-- 1 root wheel 258 Feb 12 2001 choose.sh
-rwxr-xr-x 1 root wheel 204 May 19 2004 compile
-rw-r--r-- 1 root wheel 162 Feb 12 2001 conf-cc
-rw-r--r-- 1 root wheel 88 Feb 12 2001 conf-home
-rw-r--r-- 1 root wheel 63 Feb 12 2001 conf-ld
-rw-r--r-- 1 root wheel 720 Feb 12 2001 dd.c
-rw-r--r-- 1 root wheel 84 Feb 12 2001 dd.h
-rw-r--r-- 1 root wheel 144 May 19 2004 direntry.h
-rw-r--r-- 1 root wheel 145 Feb 12 2001 direntry.h1
-rw-r--r-- 1 root wheel 144 Feb 12 2001 direntry.h2
-rw-r--r-- 1 root wheel 55496 Jan 24 04:30 dns.a
-rw-r--r-- 1 root wheel 2967 Feb 12 2001 dns.h
-rw-r--r-- 1 root wheel 1421 Feb 12 2001 dns_dfd.c
-rw-r--r-- 1 root wheel 1261 Feb 12 2001 dns_domain.c
-rw-r--r-- 1 root wheel 764 Feb 12 2001 dns_dtda.c
-rw-r--r-- 1 root wheel 1806 Feb 12 2001 dns_ip.c
-rw-r--r-- 1 root wheel 1800 Feb 12 2001 dns_ipq.c
-rw-r--r-- 1 root wheel 1389 Feb 12 2001 dns_mx.c
-rw-r--r-- 1 root wheel 1257 Feb 12 2001 dns_name.c
-rw-r--r-- 1 root wheel 691 Feb 12 2001 dns_nd.c
-rw-r--r-- 1 root wheel 1733 Feb 12 2001 dns_packet.c
-rw-r--r-- 1 root wheel 1368 Feb 12 2001 dns_random.c
-rw-r--r-- 1 root wheel 1687 Feb 12 2001 dns_rcip.c
-rw-r--r-- 1 root wheel 3329 Feb 12 2001 dns_rcrw.c
-rw-r--r-- 1 root wheel 709 Feb 12 2001 dns_resolve.c
-rw-r--r-- 1 root wheel 410 Feb 12 2001 dns_sortip.c
-rw-r--r-- 1 root wheel 8340 Feb 12 2001 dns_transmit.c
-rw-r--r-- 1 root wheel 1476 Feb 12 2001 dns_txt.c
-rwxr-xr-x 1 root wheel 59888 Jan 24 04:30 dnscache
-rwxr-xr-x 1 root wheel 17728 Jan 24 04:30 dnscache-con
f -rw-r--r-- 1 root wheel 4532 Feb 12 2001 dnscache-conf.c
-rw-r--r-- 1 root wheel 9751 Feb 12 2001 dnscache.c
-rwxr-xr-x 1 root wheel 31856 Jan 24 04:30 dnsfilter
-rw-r--r-- 1 root wheel 4716 Feb 12 2001 dnsfilter.c
-rwxr-xr-x 1 root wheel 28968 Jan 24 04:30 dnsip
-rw-r--r-- 1 root wheel 745 Feb 12 2001 dnsip.c
-rwxr-xr-x 1 root wheel 32248 Jan 24 04:30 dnsipq
-rw-r--r-- 1 root wheel 849 Feb 12 2001 dnsipq.c
-rwxr-xr-x 1 root wheel 29400 Jan 24 04:30 dnsmx
-rw-r--r-- 1 root wheel 1296 Feb 12 2001 dnsmx.c
-rwxr-xr-x 1 root wheel 28216 Jan 24 04:30 dnsname
-rw-r--r-- 1 root wheel 621 Feb 12 2001 dnsname.c
-rwxr-xr-x 1 root wheel 37968 Jan 24 04:30 dnsq
-rw-r--r-- 1 root wheel 2067 Feb 12 2001 dnsq.c
-rwxr-xr-x 1 root wheel 33360 Jan 24 04:30 dnsqr
-rw-r--r-- 1 root wheel 1407 Feb 12 2001 dnsqr.c
-rw-r--r-- 1 root wheel 168 Jan 23 13:45 dnsroots.global
-rwxr-xr-x 1 root wheel 43976 Jan 24 04:30 dnstrace
-rw-r--r-- 1 root wheel 12745 Feb 12 2001 dnstrace.c
-rwxr-xr-x 1 root wheel 1007 May 19 2004 dnstracesort
-rw-r--r-- 1 root wheel 943 Feb 12 2001 dnstracesort.sh
-rwxr-xr-x 1 root wheel 27800 Jan 24 04:30 dnstxt
-rw-r--r-- 1 root wheel 605 Feb 12 2001 dnstxt.c
-rw-r--r-- 1 root wheel 773 Feb 12 2001 droproot.c
-rw-r--r-- 1 root wheel 83 Feb 12 2001 droproot.h
-rw-r--r-- 1 root wheel 1808 Jan 24 04:30 env.a
-rw-r--r-- 1 root wheel 292 Feb 12 2001 env.c
-rw-r--r-- 1 root wheel 107 Feb 12 2001 env.h
-rw-r--r-- 1 root wheel 1149 Feb 12 2001 error.c
-rw-r--r-- 1 root wheel 548 Feb 12 2001 error.h
-rw-r--r-- 1 root wheel 5497 Feb 12 2001 error_str.c
-rw-r--r-- 1 root wheel 60 Feb 12 2001 exit.h
-rw-r--r-- 1 root wheel 3332 Feb 12 2001 find-systype.sh
-rw-r--r-- 1 root wheel 1086 Feb 12 2001 fmt.h
-rw-r--r-- 1 root wheel 314 Feb 12 2001 fmt_ulong.c
-rw-r--r-- 1 root wheel 173 Feb 12 2001 gen_alloc.h
-rw-r--r-- 1 root wheel 1190 Feb 12 2001 gen_allocdefs.h
-rw-r--r-- 1 root wheel 1756 Feb 12 2001 generic-conf.c
-rw-r--r-- 1 root wheel 420 Feb 12 2001 generic-conf.h
-rw-r--r-- 1 root wheel 298 Feb 12 2001 getln.c
-rw-r--r-- 1 root wheel 200 Feb 12 2001 getln.h
-rw-r--r-- 1 root wheel 573 Feb 12 2001 getln2.c
-rw-r--r-- 1 root wheel 5292 Jan 24 04:30 getopt.a
-rw-r--r-- 1 root wheel 22 May 19 2004 hasdevtcp.h
-rw-r--r-- 1 root wheel 22 Feb 12 2001 hasdevtcp.h1
-rw-r--r-- 1 root wheel 42 Feb 12 2001 hasdevtcp.h2
-rw-r--r-- 1 root wheel 30 Jan 24 04:30 hasshsgr.h
-rw-r--r-- 1 root wheel 30 Feb 12 2001 hasshsgr.h1
-rw-r--r-- 1 root wheel 58 Feb 12 2001 hasshsgr.h2
-rw-r--r-- 1 root wheel 1452 Feb 12 2001 hier.c
-rwxr-xr-x 1 root wheel 17560 Jan 24 04:41 install
-rw-r--r-- 1 root wheel 4162 Feb 12 2001 install.c
-rwxr-xr-x 1 root wheel 13856 Jan 24 04:30 instcheck
-rw-r--r-- 1 root wheel 2297 Feb 12 2001 instcheck.c
-rw-r--r-- 1 root wheel 1654 Feb 12 2001 iopause.c
-rw-r--r-- 1 root wheel 317 May 19 2004 iopause.h
-rw-r--r-- 1 root wheel 284 Feb 12 2001 iopause.h1
-rw-r--r-- 1 root wheel 317 Feb 12 2001 iopause.h2
-rw-r--r-- 1 root wheel 158 Feb 12 2001 ip4.h
-rw-r--r-- 1 root wheel 567 Feb 12 2001 ip4_fmt.c
-rw-r--r-- 1 root wheel 573 Feb 12 2001 ip4_scan.c
-rw-r--r-- 1 root wheel 20974 Jan 24 04:30 libtai.a
-rwxr-xr-x 1 root wheel 124 May 19 2004 load
-rw-r--r-- 1 root wheel 5783 Feb 12 2001 log.c
-rw-r--r-- 1 root wheel 1476 Feb 12 2001 log.h
-rwxr-xr-x 1 root wheel 134 May 19 2004 makelib
-rw-r--r-- 1 root wheel 98 Feb 12 2001 ndelay.h
-rw-r--r-- 1 root wheel 207 Feb 12 2001 ndelay_off.c
-rw-r--r-- 1 root wheel 205 Feb 12 2001 ndelay_on.c
-rw-r--r-- 1 root wheel 435 Feb 12 2001 okclient.c
-rw-r--r-- 1 root wheel 76 Feb 12 2001 okclient.h
-rw-r--r-- 1 root wheel 223 Feb 12 2001 open.h
-rw-r--r-- 1 root wheel 132 Feb 12 2001 open_read.c
-rw-r--r-- 1 root wheel 158 Feb 12 2001 open_trunc.c
-rw-r--r-- 1 root wheel 330 Feb 12 2001 openreadclose.c
-rw-r--r-- 1 root wheel 144 Feb 12 2001 openreadclose.h
-rw-r--r-- 1 root wheel 1132 Feb 12 2001 parsetype.c
-rw-r--r-- 1 root wheel 86 Feb 12 2001 parsetype.h
-rwxr-xr-x 1 root wheel 26448 Jan 24 04:30 pickdns
-rwxr-xr-x 1 root wheel 16128 Jan 24 04:30 pickdns-conf
-rw-r--r-- 1 root wheel 1327 Feb 12 2001 pickdns-conf.c
-rwxr-xr-x 1 root wheel 25312 Jan 24 04:30 pickdns-data
-rw-r--r-- 1 root wheel 5206 Feb 12 2001 pickdns-data.c
-rw-r--r-- 1 root wheel 2015 Feb 12 2001 pickdns.c
-rw-r--r-- 1 root wheel 2092 Feb 12 2001 printpacket.c
-rw-r--r-- 1 root wheel 145 Feb 12 2001 printpacket.h
-rw-r--r-- 1 root wheel 3739 Feb 12 2001 printrecord.c
-rw-r--r-- 1 root wheel 300 Feb 12 2001 printrecord.h
-rw-r--r-- 1 root wheel 373 Feb 12 2001 prot.c
-rw-r--r-- 1 root wheel 91 Feb 12 2001 prot.h
-rw-r--r-- 1 root wheel 1111 Feb 12 2001 qlog.c
-rw-r--r-- 1 root wheel 151 Feb 12 2001 qlog.h
-rw-r--r-- 1 root wheel 23608 Feb 12 2001 query.c
-rw-r--r-- 1 root wheel 764 Feb 12 2001 query.h
-rwxr-xr-x 1 root wheel 9944 Jan 24 04:30 random-ip
-rw-r--r-- 1 root wheel 1921 Feb 12 2001 random-ip.c
-rwxr-xr-x 1 root wheel 25856 Jan 24 04:30 rbldns
-rwxr-xr-x 1 root wheel 16128 Jan 24 04:30 rbldns-conf
-rw-r--r-- 1 root wheel 1447 Feb 12 2001 rbldns-conf.c
-rwxr-xr-x 1 root wheel 20944 Jan 24 04:30 rbldns-data
-rw-r--r-- 1 root wheel 2972 Feb 12 2001 rbldns-data.c
-rw-r--r-- 1 root wheel 2380 Feb 12 2001 rbldns.c
-rw-r--r-- 1 root wheel 535 Feb 12 2001 readclose.c
-rw-r--r-- 1 root wheel 181 Feb 12 2001 readclose.h
-rw-r--r-- 1 root wheel 2577 Feb 12 2001 response.c
-rw-r--r-- 1 root wheel 721 Feb 12 2001 response.h
-rw-r--r-- 1 root wheel 2239 Feb 12 2001 roots.c
-rw-r--r-- 1 root wheel 141 Feb 12 2001 roots.h
-rwxr-xr-x 1 root wheel 116 May 19 2004 rts
-rw-r--r-- 1 root wheel 38885 Feb 12 2001 rts.exp
-rw-r--r-- 1 root wheel 52 Feb 12 2001 rts.sh
-rw-r--r-- 1 root wheel 28368 Feb 12 2001 rts.tests
-rw-r--r-- 1 root wheel 1391 Feb 12 2001 scan.h
-rw-r--r-- 1 root wheel 339 Feb 12 2001 scan_ulong.c
-rw-r--r-- 1 root wheel 257 Feb 12 2001 seek.h
-rw-r--r-- 1 root wheel 164 Feb 12 2001 seek_set.c
-rw-r--r-- 1 root wheel 159 May 19 2004 select.h
-rw-r--r-- 1 root wheel 135 Feb 12 2001 select.h1
-rw-r--r-- 1 root wheel 159 Feb 12 2001 select.h2
-rw-r--r-- 1 root wheel 2584 Feb 12 2001 server.c
-rwxr-xr-x 1 root wheel 327 Aug 23 2004 setup.sh
-rw-r--r-- 1 root wheel 1267 Feb 12 2001 sgetopt.c
-rw-r--r-- 1 root wheel 447 Feb 12 2001 sgetopt.h
-rw-r--r-- 1 root wheel 649 Feb 12 2001 socket.h
-rw-r--r-- 1 root wheel 0 May 19 2004 socket.lib
-rw-r--r-- 1 root wheel 429 Feb 12 2001 socket_accept.c
-rw-r--r-- 1 root wheel 745 Feb 12 2001 socket_bind.c
-rw-r--r-- 1 root wheel 669 Feb 12 2001 socket_conn.c
-rw-r--r-- 1 root wheel 184 Feb 12 2001 socket_listen.c
-rw-r--r-- 1 root wheel 453 Feb 12 2001 socket_recv.c
-rw-r--r-- 1 root wheel 448 Feb 12 2001 socket_send.c
-rw-r--r-- 1 root wheel 316 Feb 12 2001 socket_tcp.c
-rw-r--r-- 1 root wheel 315 Feb 12 2001 socket_udp.c
-rw-r--r-- 1 root wheel 430 Feb 12 2001 str.h
-rw-r--r-- 1 root wheel 356 Feb 12 2001 str_chr.c
-rw-r--r-- 1 root wheel 445 Feb 12 2001 str_diff.c
-rw-r--r-- 1 root wheel 239 Feb 12 2001 str_len.c
-rw-r--r-- 1 root wheel 409 Feb 12 2001 str_rchr.c
-rw-r--r-- 1 root wheel 348 Feb 12 2001 str_start.c
-rw-r--r-- 1 root wheel 1153 Feb 12 2001 stralloc.h
-rw-r--r-- 1 root wheel 153 Feb 12 2001 stralloc_cat.c
-rw-r--r-- 1 root wheel 316 Feb 12 2001 stralloc_catb.c
-rw-r--r-- 1 root wheel 149 Feb 12 2001 stralloc_cats.c
-rw-r--r-- 1 root wheel 155 Feb 12 2001 stralloc_copy.c
-rw-r--r-- 1 root wheel 203 Feb 12 2001 stralloc_eady.c
-rw-r--r-- 1 root wheel 555 Feb 12 2001 stralloc_num.c
-rw-r--r-- 1 root wheel 251 Feb 12 2001 stralloc_opyb.c
-rw-r--r-- 1 root wheel 151 Feb 12 2001 stralloc_opys.c
-rw-r--r-- 1 root wheel 153 Feb 12 2001 stralloc_pend.c
-rw-r--r-- 1 root wheel 2748 Feb 12 2001 strerr.h
-rw-r--r-- 1 root wheel 852 Feb 12 2001 strerr_die.c
-rw-r--r-- 1 root wheel 196 Feb 12 2001 strerr_sys.c
-rw-r--r-- 1 root wheel 1372 Feb 12 2001 subgetopt.c
-rw-r--r-- 1 root wheel 544 Feb 12 2001 subgetopt.h
-rw-r--r-- 1 root wheel 68 May 19 2004 systype
-rw-r--r-- 1 root wheel 604 Feb 12 2001 tai.h
-rw-r--r-- 1 root wheel 112 Feb 12 2001 tai_add.c
-rw-r--r-- 1 root wheel 102 Feb 12 2001 tai_now.c
-rw-r--r-- 1 root wheel 291 Feb 12 2001 tai_pack.c
-rw-r--r-- 1 root wheel 112 Feb 12 2001 tai_sub.c
-rw-r--r-- 1 root wheel 78 Feb 12 2001 tai_uint.c
-rw-r--r-- 1 root wheel 386 Feb 12 2001 tai_unpack.c
-rw-r--r-- 1 root wheel 972 Feb 12 2001 taia.h
-rw-r--r-- 1 root wheel 387 Feb 12 2001 taia_add.c
-rw-r--r-- 1 root wheel 109 Feb 12 2001 taia_approx.c
-rw-r--r-- 1 root wheel 120 Feb 12 2001 taia_frac.c
-rw-r--r-- 1 root wheel 289 Feb 12 2001 taia_less.c
-rw-r--r-- 1 root wheel 249 Feb 12 2001 taia_now.c
-rw-r--r-- 1 root wheel 338 Feb 12 2001 taia_pack.c
-rw-r--r-- 1 root wheel 440 Feb 12 2001 taia_sub.c
-rw-r--r-- 1 root wheel 90 Feb 12 2001 taia_tai.c
-rw-r--r-- 1 root wheel 152 Feb 12 2001 taia_uint.c
-rw-r--r-- 1 root wheel 7658 Feb 12 2001 tdlookup.c
-rw-r--r-- 1 root wheel 534 Feb 12 2001 timeoutread.c
-rw-r--r-- 1 root wheel 79 Feb 12 2001 timeoutread.h
-rw-r--r-- 1 root wheel 538 Feb 12 2001 timeoutwrite.c
-rw-r--r-- 1 root wheel 82 Feb 12 2001 timeoutwrite.h
-rwxr-xr-x 1 root wheel 29968 Jan 24 04:30 tinydns
-rwxr-xr-x 1 root wheel 16128 Jan 24 04:30 tinydns-conf
-rw-r--r-- 1 root wheel 2149 Feb 12 2001 tinydns-conf.c
-rwxr-xr-x 1 root wheel 29616 Jan 24 04:30 tinydns-data
-rw-r--r-- 1 root wheel 10273 Feb 12 2001 tinydns-data.c
-rwxr-xr-x 1 root wheel 23080 Jan 24 04:30 tinydns-edit
-rw-r--r-- 1 root wheel 6333 Feb 12 2001 tinydns-edit.c
-rwxr-xr-x 1 root wheel 32352 Jan 24 04:30 tinydns-get
-rw-r--r-- 1 root wheel 1542 Feb 12 2001 tinydns-get.c
-rw-r--r-- 1 root wheel 179 Feb 12 2001 tinydns.c
-rw-r--r-- 1 root wheel 99 Feb 12 2001 trycpp.c
-rw-r--r-- 1 root wheel 91 Feb 12 2001 trydrent.c
-rw-r--r-- 1 root wheel 19 Feb 12 2001 trylsock.c
-rw-r--r-- 1 root wheel 336 Feb 12 2001 trypoll.c
-rw-r--r-- 1 root wheel 269 Feb 12 2001 tryshsgr.c
-rw-r--r-- 1 root wheel 110 Feb 12 2001 trysysel.c
-rw-r--r-- 1 root wheel 339 Feb 12 2001 tryulong32.c
-rw-r--r-- 1 root wheel 339 Feb 12 2001 tryulong64.c
-rw-r--r-- 1 root wheel 263 Feb 12 2001 uint16.h
-rw-r--r-- 1 root wheel 178 Feb 12 2001 uint16_pack.c
-rw-r--r-- 1 root wheel 360 Feb 12 2001 uint16_unpack.c
-rw-r--r-- 1 root wheel 262 May 19 2004 uint32.h
-rw-r--r-- 1 root wheel 261 Feb 12 2001 uint32.h1
-rw-r--r-- 1 root wheel 262 Feb 12 2001 uint32.h2
-rw-r--r-- 1 root wheel 294 Feb 12 2001 uint32_pack.c
-rw-r--r-- 1 root wheel 560 Feb 12 2001 uint32_unpack.c
-rw-r--r-- 1 root wheel 102 May 19 2004 uint64.h
-rw-r--r-- 1 root wheel 102 Feb 12 2001 uint64.h1
-rw-r--r-- 1 root wheel 97 Feb 12 2001 uint64.h2
-rw-r--r-- 1 root wheel 38076 Jan 24 04:41 unix.a
-rwxr-xr-x 1 root wheel 4800 Jan 24 04:30 utime
-rw-r--r-- 1 root wheel 350 Feb 12 2001 utime.c
-rwxr-xr-x 1 root wheel 21752 Jan 24 04:30 walldns
-rwxr-xr-x 1 root wheel 16128 Jan 24 04:30 walldns-conf
-rw-r--r-- 1 root wheel 1139 Feb 12 2001 walldns-conf.c
-rw-r--r-- 1 root wheel 1355 Feb 12 2001 walldns.c
-rw-r--r-- 1 root wheel 64 Feb 12 2001 warn-auto.sh
-rw-r--r-- 1 root wheel 203 Feb 12 2001 warn-shsgr
-rw-r--r-- 1 root wheel 629 Feb 12 2001 x86cpuid.c
#

で、今回は赤文字で示したファイルdnsroots.globalの 中身を書き換える事になります。

現状は下記の様になっているので、「128.8.10.90」を「199.7.91.13」に変更します。

(修正前)
# cat dnsroots.global
198.41.0.4
192.228.79.201
192.33.4.12
128.8.10.90
192.203.230.10
192.5.5.241
192.112.36.4
128.63.2.53
192.36.148.17
192.58.128.30
193.0.14.129
199.7.83.42
202.12.27.33
#

(修正後)
# cat dnsroots.global
198.41.0.4
192.228.79.201
192.33.4.12
199.7.91.13
192.203.230.10
192.5.5.241
192.112.36.4
128.63.2.53
192.36.148.17
192.58.128.30
193.0.14.129
199.7.83.42
202.12.27.33
#

えーと、せっかくなので▲('A`)の方で修正済で固めなおしたソースを
公開しますね。

AせっかくなのでDルートサーバのIPが変更済みのインストール
 パッケージ(ソース版)をご提供する。


▲('A`)製 djbdnsソース  使う場合は自己責任でお願いします。

なお、このソースの中には setup.sh というスクリプトが入っていまして、
中身はこんなのです。

【setup.sh の中身】
#!/bin/sh
make setup check

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

このスクリプトを ./setup.sh なんていう風に実行するとdjbdns本体と専用ユーザの
登録まで完了します。
ちょっと解説すると、djbdns本体のインストールは「make setup check」です。
pw 以下の行は、それぞれグループ&ユーザとしてdnslog、dnscache、tinydnsを
それぞれ登録しているのです。
useraddの中で 「-d /noexsistent」というのは「ホームディレクトリが不要」を
「-s /sbin/nologin」というのは「ログインスクリプトが不要」というのを
指定するパラメータです。
(Linuxと違い、FreeBSDだとユーザやグループを作る場合、pwコマンドというのを
使います。)

ちなみに、このソースパッケージでは一般的なパッチ(FreeBSDのportsから
インストールする際に当てられるパッチ+ignoreip2、SRVレコードのパッチ)は
当てていますが、IPv6用パッチとjumboパッチは当てていませんので、ご注意を。
あ、参考までにdjbdnsって2009年に脆弱性が発見された際にこんなパッチが
公開されたのですが、このパッチも当ててあります。

patch-response.c

何だか「備忘録」の様相を呈してきたこの日記ですが、こうしておけば
googleさんで検索した時にすぐ見つかるかな、と。
すみませんねえ、、、だんだん忘れっぽくなってきているのです、ハイ。

しかし、最近はdjbdnsよりか、UnboundというDNSキャッシュサーバのソフトが
人気だそうですね。
まだ触っていないので、何とも言えませんが、今度試してみようかな?

今日は小ネタという割にはだらだらと書いてしまいましたね。
まとめ下手ですみません。
それでは、また!▲('A`)/

340日目に戻る。   342日目に続く。

目次に戻る
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]