2024年11月18日 | EOS R7ファームウエアアップデート |
2024年11月17日 | PX-M730Fのシアンインク交換 |
2024年11月4日 | 360度モニタ不調 |
2024年11月2日 | ノート給油 |
2024年10月19日 | 腕時計のファームウエア |
2024年10月5日 | RF-S 10-18mm F4.5-6.3 IS STM購入 |
2024年10月3日 | 三菱UFJニコスカード到着 |
2024年9月28日 | 三菱UFJニコスカード申込 |
2024年9月23日 | 第10世代iPad購入 |
2024年9月17日 | iPadOS 18 |
http://djbdns.qmail.jp/
djbdnsはDNSサーバー実装の一つ。 qmailの作者が作成した。 キャッシュサーバーとコンテンツサーバーを別のプログラムにしている。 設定はひとつのファイルで行うのではなく、 複数のファイルやディレクトリに分散している。 IPアドレスなどを羅列していくだけなので、 bindよりも楽かもしれない。 daemontoolsとの組み合わせを前提としているようだが、 FreeBSDならインストールはports一発である。
まずはキャッシュサーバー。
$ dnscache-conf account logaccount /usr/local/var/dnscache 192.168.0.1
accountはdnscacheを動かすアカウント。 dns関係で一つ用意しておけばよさそう。
logaccountはロギング用のアカウント。 daemontoolsに入っているmultilogというプログラムを動かすアカウントである。 これもdns関係でまとめて一つ用意しておく。
/usr/local/var/dnscacheはワーク用ディレクトリ。 起動用スクリプトやログ、設定ファイルが配置される。
最後に自分のIPアドレス。 省略可能だが、 複数のネットワークインターフェイスを持っているときには指定した方が無難である。
/usr/local/var/dnscache/root/servers/@には、 ルートサーバーが列挙してある。 最新のものかどうか確認すること。 BとかJとかの変更は反映されていないようである。
/usr/local/var/dnscache/root/ip以下には、 アクセスを許可するIPアドレスと同じ名前のファイルを作っておく。 中身は空でかまわないので、
$ touch 192.168.1
とかでいい。 ドキュメントによれば、 キャッシュを一つにまとめるのと、 個々のマシンがキャッシュをもつのと、 どちらが効率いいのか、 ケースバイケースで一概には決められないそうだ。 しかし、LAN内のマシンがWindowsばっかりだったりすると、 キャッシュはひとつにしたほうが楽だろう。
ついでコンテンツサーバー。
$ tinydns-conf account logaccount /usr/local/var/ldns 127.0.0.1 $ tinydns-conf account logaccount /usr/local/var/gdns [グローバルIPアドレス]
ここで問題なのが、 コンテンツサーバーとキャッシュサーバーは同じポートで待ち受けるので、 IPアドレスを変える必要があること。 *Windowsマシンからの問い合わせに答えるためにはキャッシュサーバーがプライベートIPアドレスな必要がある。
でしばらく悩んで試行錯誤してから、
内部向けコンテンツサーバー | 127.0.0.1 |
外部向けコンテンツサーバー | [グローバルIPアドレス] |
キャッシュサーバー | 192.168.0.1 |
で動かし、 キャッシュサーバーたるdnscacheにakiyama.nu関係の問い合わせが来たら、 127.0.0.1に聞くように設定した。 具体的には /usr/local/var/dnscache/root/servers/akiyama.nu に127.0.0.1と書き込んでおいた。 後は /usr/local/var/gdns/root/data に
.akiyama.nu:221.116.88.186:a:259200 .186.88.116.221.in-addr.arpa:221.116.88.186:a:259200 .akiyama.nu:221.116.88.187:b:259200 .187.88.116.221.in-addr.arpa:221.116.88.187:b:259200 @akiyama.nu::aspmx.l.google.com:1:86400 @akiyama.nu::alt1.aspmx.l.google.com:5:86400 @akiyama.nu::alt2.aspmx.l.google.com:5:86400 @akiyama.nu::aspmx2.googlemail.com:10:86400 @akiyama.nu::aspmx3.googlemail.com:10:86400 @akiyama.nu::aspmx4.googlemail.com:10:86400 @akiyama.nu::aspmx5.googlemail.com:10:86400 =a.ns.akiyama.nu:221.116.88.186:86400 =b.ns.akiyama.nu:221.116.88.187:86400 =share.akiyama.nu:221.116.88.188:86400 +sun.akiyama.nu:221.116.88.186:86400 +mercury.akiyama.nu:221.116.88.187:86400 +www.akiyama.nu:221.116.88.186:86400 +news.akiyama.nu:221.116.88.186:86400 +tomoaki.akiyama.nu:221.116.88.186:86400
とか書き込んで、makeを実行すればOK。
いつの間にかFreeBSDのportsでIPv6対応パッチが取り込まれたようだ。 make configでIPv6対応にチェックを入れてmake; make install。 さて、テスト用のアドレスはどうしようか。