NonSequitur

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の最新バージョンとまったく同じ機能を備えているわけではないので注意が必要です)。


設定書類のサンプル(0.9の場合)

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添付のサンプルにもループバックファイルは無かったですね。

 


設定書類のサンプル(旧バージョン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フォルダに入れて起動します(あくまでもサンプルなので当然ながら自己のネットワークに合わせて変更する必要があります)。

 

 

 
このページはクラリスホームページで簡単に作成しています。