Mac上で動作するDNSアプリケーションとしては古参にあたるのですが、あまり開発が進んでいないようです。以前はMIND(Glenn Anderson氏作のフリーウエア)と呼ばれていました。DNSとして広く使われているBINDと同じように設定ファイルをテキスト編集して読み込ませるという形式を採用しているため、UNIX BIND(4系)を設定した経験のある人にはわかりやすいとも思いますが、一般的なMacユーザはこのようなファイル記述式の設定方法にちょっと違和感を憶えるかも知れません。
NonSequitur
現在の正規バージョンは0.9です(99年3月1日)。0.9からエラー表示機能が付きました。設定ファイルにミスがあると指摘してくれます。
0.9でもリカージョンルックアップは対応していないのでPCマシンのプライマリDNSとして指定すると不具合が発生します。
0.9でもセカンダリネームサーバーとしての機能は持っていません(もちろん手動でセカンダリとして動かすことは可能です。要はセカンダリとしてマスターのデータを自動的に取得することが出来ないということです)。
NonSequiturでは前述のとうりUNIX BINDとほぼ同形式の設定ファイルを作成し、使用しますのでBIND(4系)の解説書などをそのまま参考に出来るという点が利点と言えます(もちろんBINDの最新バージョンとまったく同じ機能を備えているわけではないので注意が必要です)。
NonSequiturは0.9から設定書類の書き方が変更されています。
NonSequitur 0.9ではZonesという名前のファイルを作成し、この中に設定ファイル名を書くようになりました(こうしておくと$INCLUDE文を書くよりも複数のドメインを管理するのに便利だからでしょう)。Zonesファイルには複数の設定ファイルを書いておくことが出来ます。複数のドメインを管理する場合は正引きファイルと逆引きファイルがドメイン数分だけ増えることになります。ファイル名は適当に付ければいいのですが引数は$ORIGIN宣言と同じ扱いになりますから注意してください。そういったわけで正引きファイル、逆引きファイルともに$ORIGIN宣言は不要です。いきなりSOAレコードから記述してかまいません。結局、BINDでのbootファイルと同じようなものですね。
NonSequiturがサポートしていない要求があった場合Cacheファイルで指定されたサーバーに対してリダイレクトする仕様になっています。ここにリカージョンをサポートするDNSを指定すればすべての解答が得られる仕組みになっています。
OCNの場合はこういったリダイレクトを禁止していますので残念ながらOCNではNonSequiturをプライマリに使用することが出来ません。OCN環境下の場合、現状ではQuickDNS Proを使用するしかなさそうです。
以下のサンプルはクラスCでの運用を前提にしたものです。
ここでは架空のネットワーク test.co.jp
(192.168.25.0/24)を想定しています。
Cache
. 3600000 IN NS dns.test.co.jp. dns.test.co.jp. 3600000 A 192.168.25.150
Zones
test.zone test.co.jp test.rev 25.168.192.in-addr.arpa local.rev 0.0.127.in-addr.arpa
test.zone
@ IN SOA ns.test.co.jp. administrator.test.co.jp. ( 19980713 3600 300 360000 86400 ) ; IN NS ns.test.co.jp. IN NS ns2.other.co.jp. IN MX 10 host2.test.co.jp. ; localhost IN A 127.0.0.1 ; host1 IN A 192.168.25.1 host2 IN A 192.168.25.2 host3 IN A 192.168.25.3 client-01 IN A 192.168.25.101 client-02 IN A 192.168.25.102 ; ns IN CNAME host1.test.co.jp. www IN CNAME host2.test.co.jp. ftp IN CNAME host2.test.co.jp. mail IN CNAME host2.test.co.jp. www2 IN CNAME host3.test.co.jp. ftp2 IN CNAME host3.test.co.jp.
test.rev
@ IN SOA ns.test.co.jp. administrator.test.co.jp. ( 19980713 3600 300 360000 86400 ) ; IN NS ns.test.co.jp. IN NS ns2.other.co.jp. ; IN PTR test.co.jp. IN A 255.255.255.0 ; 1 IN PTR host1.test.co.jp. 2 IN PTR host2.test.co.jp. 3 IN PTR host3.test.co.jp. 101 IN PTR client-01.ohba.co.jp. 102 IN PTR client-02.ohba.co.jp.
local.rev
@ IN SOA ns.test.co.jp. administrator.test.co.jp. ( 19980713 3600 300 360000 86400 ) ; IN NS ns.test.co.jp. ; 0 IN PTR TESTNET 1 IN PTR localhost
以上の5つのファイルをns09 Folderに入れて起動します(あくまでもサンプルなので当然ながら自己のネットワークに合わせて変更する必要があります)。
ループバック逆引きファイルを含ませましたが、このファイルは無くても大丈夫なようです。そもそも0.8.2添付のサンプルにもループバックファイルは無かったですね。
パッケージに入っているサンプルファイルはいまいちわかりにくい部分もあります。というわけで以下に自作のサンプルファイルを掲示します。
以下のサンプルはクラスCでの運用を前提にしたものです。
ここでは架空のネットワーク test.co.jp
(192.168.25.0/24)を想定しています。
Hosts
; ; origin ; $ORIGIN test.co.jp. ; ; @ IN SOA ns.test.co.jp. administrator.test.co.jp. ( 19980715 ; serial (n) 36000 ; refresh (every 10 hours) 7200 ; retry (after 2 hours) 604800 ; expire (after 1 week) 86400 ) ; minimum time to live (1 day) ; ; name servers ; IN NS ns.test.co.jp. IN NS ns2.other.co.jp. ; ; mail exchangers ; IN MX 10 host2.test.co.jp. ; ; Localhost ; localhost IN A 127.0.0.1 ; ; host addresses ; host1 IN A 192.168.25.1 host2 IN A 192.168.25.2 host3 IN A 192.168.25.3 client-01 IN A 192.168.25.101 client-02 IN A 192.168.25.102 ; ; aliases ; ns IN CNAME host1.test.co.jp. ftp IN CNAME host2.test.co.jp. www IN CNAME host2.test.co.jp. mail IN CNAME host2.test.co.jp. www2 IN CNAME host3.test.co.jp. ftp2 IN CNAME host3.test.co.jp. ; ; files to include ; $INCLUDE Reverse 25.168.192.in-addr.arpa $INCLUDE RootServers
Reverse
;ORIGIN ; $ORIGIN 25.168.192.in-addr.arpa. ; ; start of authority information ; @ IN SOA ns.test.co.jp. administrator.test.co.jp. ( 19980715 ; serial (n) 36000 ; refresh (every 10 hours) 7200 ; retry (after 2 hours) 604800 ; expire (after 1 week) 86400 ) ; minimum time to live (1 day) ; IN PTR test.co.jp. IN A 255.255.255.0 ; pointer records ; 1 IN PTR host1.test.co.jp. 2 IN PTR host2.test.co.jp. 3 IN PTR host3.test.co.jp. 101 IN PTR client-01.ohba.co.jp. 102 IN PTR client-02.ohba.co.jp. ; ; end of records
RootServers
; formerly NS.INTERNIC.NET ; . 3600000 NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; ; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; ; temporarily housed at NSI (InterNIC) ; . 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; ; housed in LINX, operated by RIPE NCC ; . 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; ; temporarily housed at ISI (IANA) ; . 3600000 NS L.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; ; housed in Japan, operated by WIDE ; . 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File
以上の3つのファイルをNonSequitur8.2フォルダに入れて起動します(あくまでもサンプルなので当然ながら自己のネットワークに合わせて変更する必要があります)。