金子邦彦研究室DNS サーバの設定

DNS サーバの設定

 

Cent OS 4.4 (Linux) 上で DNS サーバを動かし, 順引き、逆引きを行なえる ようにします。

外部向きと内部向きを区別し、内向きにはグローバルIPを持つすべての機器に ついての問い合わせに応じ, 外部向 きには DNSサーバ兼MX, Web サーバについてのみ問い合わせに応じるように 設定します。rndc (Remote Name Daemon Controller) の設定も行ないます. 動作確認まで行ないます。

関連する外部ページ】: http://www.atmarkit.co.jp/flinux/rensai/bind909/bind909a.html

関連する外部ページ】: http://www.atmarkit.co.jp/flinux/index/indexfiles/index-linux.html

参考にした Web ページ: http://www.fkimura.com/bind9-3.html(現存しない)

関連する外部ページ】: http://www.asahi-net.or.jp/~aa4t-nngk/bind93.html

設定内容

設定内容は次の通り、案を定める

ディレクトリは次のようになる

/var/named/chroot
    +-- dev
    +-- etc
    +-- proc
    +-- var
         +-- tmp
         +-- run
         |    +-- named
         +-- named  (*) 設定ファイルの置き場
              +-- data
              +-- slaves

事前に調べておく事項

  1. DNSサーバ兼MXのホスト名

    (以下、ホスト名は「dnsmail」のように書く)

  2. DNSサーバ兼MXの IP アドレス (以下、「XXX.YYY.ZZZ.160」のように書 く)。
  3. Web サーバのホスト名

    (以下、ホスト名は「www」のように書く)

  4. Web サーバの IP アドレス (以下、「XXX.YYY.ZZZ.167」のように書 く)。
  5. DNSサーバ兼MXがある「内部」のネットワークアドレス

    (以下、ネットワークアドレスは 「XXX.YYY.ZZZ」のように書く)

  6. DNS ドメイン名 (NIS ドメイン名とは別物なので勘違いしないこと)

    (以下、DNS ドメイン名は「mydomain.hoge.com」と書く)

  7. 上流の DNS サーバの IP アドレス

    (以下、上流の DNS サーバの IP アドレスは「AAA.BBB.CCC.10」と書く)

DNS サーバソフトのインストール

  1. 時刻あわせ (rdate コマンドを使用)
    rdate -s <信頼できるマシンのIPアドレス>
    
  2. インストール
    yum install bind
    yum install bind-chroot
    yum install caching-nameserver
    

なお、/etc/named.conf は、/var/named/chroot/etc/named.conf へのシンボリックリンクになっているはずなので確認してください(bind-chroot をインストールしたので。参考:下記)

[root@cent01 ~]# ls -la /var/named/chroot/etc/named.conf
-rw-r--r--  1 root root 1564  4月 20 18:59 /var/named/chroot/etc/named.conf
[root@cent01 etc]# ls -al /etc/named.conf
lrwxrwxrwx  1 root root 32  4月 20 18:29 /etc/named.conf -> /var/named/chroot/etc/named.conf

仮のゾーンファイルの作成とチェック

ここでの手順では、仮のゾーンファイル public.zone, public.rev, db.zone, db.name を作りま す。次に、named.conf を設定して、public.zone, public.rev を使うように します。その後、実際に DNS サーバを起動して、ごく簡単なチェックまでを 行ないます。db.zone, db.name を使うような設定は後回しです。

まず, 下記のゾーンファイルのごく簡単なサンプルを作る。 なお、ディレクトリが「/var/named/chroot/var/named/」のようになっている理由は「chroot 化に関する補足説明」で説明しています。

  1. /var/named/chroot/var/named/data/public.zone
  2. /var/named/chroot/var/named/data/public.rev
  3. /var/named/chroot/var/named/data/db.zone
  4. /var/named/chroot/var/named/data/dbrev.rev

正引き

/var/named/chroot/var/named/data/public.zone, /var/named/chroot/var/named/data/db.zone は仮に次のよ うに設定。 ドメイン名の末尾の「.」は必要(書き間違いではない)。

cd /var/named/chroot/var/named/data
vi public.zone
  # 以下のように設定
----------------------------------------------------------------------------
$TTL    86400
@       IN      SOA     dnsmail.mydomain.hoge.com.  root.mydomain.hoge.com.(
                                      2006051601 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN NS    dnsmail.mydomain.hoge.com.
        IN MX 10 dnsmail.mydomain.hoge.com.
@       IN A     XXX.YYY.ZZZ.160
dnsmail IN A     XXX.YYY.ZZZ.160
www     IN A     XXX.YYY.ZZZ.167
hohoge  IN A     AAA.BBB.CCC.10
----------------------------------------------------------------------------
cp public.zone db.zone

逆引き

/var/named/chroot/var/named/data/public.rev, /var/named/chroot/var/named/data/dbrev.rev は仮に次のように設定

cd /var/named/chroot/var/named/data
vi public.rev
  # 以下のように設定
----------------------------------------------------------------------------
$TTL    86400
@       IN      SOA     dnsmail.mydomain.hoge.com.  root.mydomain.hoge.com.(
                                      2006051601 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS    mydomain.hoge.com.
160           IN      PTR   dnsmail.mydomain.hoge.com.
167           IN      PTR   www.mydomain.hoge.com.
----------------------------------------------------------------------------
cp public.rev dbrev.rev
  # 以下のように設定

オーナとパーミッションの設定

chown named:named /var/named/chroot/var/named/data/*
chmod 400 /var/named/chroot/var/named/data/public.zone*
chmod 400 /var/named/chroot/var/named/data/public.rev*
chmod 400 /var/named/chroot/var/named/data/db.zone*
chmod 400 /var/named/chroot/var/named/data/dbrev.rev*

もし chown named:named でエラーが出たときは、ユーザとグループを 次の手順で作成する.

Linux の場合

/usr/sbin/groupadd named
/usr/sbin/useradd -d /var/named/chroot/var/named -g named -s /sbin/nologin named

FreeBSDの場合

# /etc/passwd に次のような行があることを確認
named:x:53:53:named:/var/named/chroot/var/named:/bin/false
# /etc/group に次のような行があることを確認
named:x:53:

チェック

ネットワーク関係の設定ミス, named 等のインストールのミス, public.zone, public.rev の書き間違いを下記の手順でチェックする。

この手順で、仮の DNS サーバが立ち上がることになります。この仮の DNS サー バは、public.zone, public.rev は使うが、db.zone, dbrev.rev は使っていないと いうことに留意しておいてください。

  1. /etc/resolv.conf のチェック

    cat /etc/resolv.conf で、今設定を行なっているマシンの IP アドレスが、 「nameserver」の行に、正しく記述されていることを確認.

    cat /etc/resolv.conf
    
  2. /var/named/chroot/etc/named.conf
    vi /var/named/chroot/etc/named.conf
      # 次のような 11行を末尾に追加する。
    ----------------------------------------------------------------------------
    // mydomain.hoge.com <-> XXX.YYY.ZZZ
    zone "mydomain.hoge.com" IN {
    	type master;
    	file "data/public.zone";
    	allow-query { any; }; 	
    };
    zone "ZZZ.YYY.XXX.in-addr.arpa" IN {
    	type master;
    	file "data/public.rev";
    	allow-query { any; }; 	
    };
    
  3. チェックツールを使って、named.conf ファイルの内容をチェック

    エラーが出たら、named.conf を書き直す。

    named-checkconf /var/named/chroot/etc/named.conf
    
  4. チェックツールで, public.zone, public.rev をチェック

    エラーが出たら、public.zone, public.rev を書き直す。

    named-checkzone localhost /var/named/chroot/var/named/data/public.zone
    named-checkzone 127.0.0.1 /var/named/chroot/var/named/data/public.rev
    named-checkzone dnsmail /var/named/chroot/var/named/data/public.zone
    named-checkzone XXX.YYY.ZZZ.160 /var/named/chroot/var/named/data/public.rev
    named-checkzone www /var/named/chroot/var/named/data/public.zone
    named-checkzone XXX.YYY.ZZZ.167 /var/named/chroot/var/named/data/public.rev
    
  5. DNS サーバの起動の試み

    DNS サーバ起動時にエラーが出たら、関係する設定ファイル (ここでは、named.conf, public.zone, public.rev) を見直すとともに、「cat /var/log/messages | grep named 」で エラーメッセージを確認

    /etc/rc.d/init.d/named stop
    /sbin/chkconfig named off
    pkill named
    /etc/rc.d/init.d/named start
    /sbin/chkconfig named on
    cat /var/log/messages | grep named
    

named.conf の設定とチェック

ここでの手順では、named.conf を設定して、先ほど作った仮のゾーンファイ ル public.zone, public.rev, db.zone, db.name を4つとも使うようにします。 ここでも、実際に DNS サーバを起動して、ごく簡単なチェックまでを 行ないます。

  1. デフォルトの設定ファイルのバックアップ作成

    cp /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf.DIST
    
  2. named.conf の設定上の留意事項

    設定ファイル /var/named/chroot/etc/named.conf の注意事項

    1. options 内の記述
      options 行は複数書けない書けないことに注意.
    2. 「directory "/var/named";」
      これが、「/var/named/chroot/var/named」になっていないのは、書き間違いでは無い。 理由は「chroot 化に関する補足説明」で説明しています。
    3. 「version "unknown";」 bind のバージョンの非表示
    4. allow-recursion: 外部からの recursive query を抑止するように設定.
    5. allow-transfer: 外部からのゾーンリクエストパケット(DNS が管理し ているサーバの一覧の取得)を抑止するうううううように設定。

      named.conf ファイルの options 設定の中で

      options {
         (他の設定)
         allow-recursion { 127.0.0.1;
                           XXX.YYY.ZZZ.0/24;
         };
         (他の設定)
      };
      

      のように設定する. 外部からのrecursive query が抑止され、自分が提供しているドメイン、およ び既に キャッシュされている情報以外は返さないようになる. つまり、組織の外から「組織の外を検索するような要求」が来 たときに、recursive query の実行を抑止する。 なお、組織の内を検索するような要求に対しては recursive query は関係な い。

    6. forwarders: フォーワード先 (ルータが代理 DNS サーバの機能を持つと きはそれを書く. あるいは、上流の DNS サーバの IP アドレスを書く)
      • view "internal" で、内部向きのゾーンファイル配布を定め、 view "external" で、外部向きのゾーンファイル配布を定める。
      • ZONE "." : キャッシュサーバ用の設定
  3. named.conf を次のように設定する

    cd /var/named/chroot/etc
    vi named.conf
      # 以下のように設定
      # XXX.YYY.ZZZ, ZZZ.YYY.XXX -> DNSサーバ兼MXがある「内部」のネットワークアドレスのこと
      # AAA.BBB.CCC -> 上流の DNS サーバがあるネットワークアドレスのこと
      # mydomain.hoge.com -> DNS ドメイン名のこと
    ----------------------------------------------------------------------------
    //
    // named.conf for Red Hat caching-nameserver
    //
    
    options {
    	directory "/var/named";
    	dump-file "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
    	pid-file "/var/run/named/named.pid";
    	version "unknown";
    	allow-recursion {
    		127.0.0.1;
    		AAA.BBB.CCC.10/24;
    	};
    	allow-transfer {
    		127.0.0.1;
    		AAA.BBB.CCC.10/24;
    	};
    	forwarders {
    		AAA.BBB.CCC.10;
    	};
    	/*
    	 * If there is a firewall between you and nameservers you want
    	 * to talk to, you might need to uncomment the query-source
    	 * directive below.  Previous versions of BIND always asked
    	 * questions using port 53, but BIND 8.1 uses an unprivileged
    	 * port by default.
    	 */
    	 // query-source address * port 53;
    };
    
    //
    // a caching only nameserver config
    //
    controls {
    	inet 127.0.0.1 allow { localhost; } keys { rndckey; };
    };
    
    // logging
    logging {
    	channel namedlog {
    	file "data/named.log";
    	print-time yes;
    	print-category yes;
    	print-severity yes;
    	severity info;
        };
        channel securitylog {
    	file "data/security.log";
    	print-time yes;
        };
        category default {
            default_syslog;
    	namedlog;
    	default_debug;
        };
        category security {
            default_syslog;
    	securitylog;
        };
    };
    
    view "internal" {
    	match-clients {
    		XXX.YYY.ZZZ.0/24;
    		127.0.0.1;
    	};
    
    // mydomain.hoge.com <-> XXX.YYY.ZZZ
    	zone "mydomain.hoge.com" IN {
    		type master;
    		file "data/db.zone";
    		allow-update { none; }; 	
    	};
    
    	zone "ZZZ.YYY.XXX.in-addr.arpa" IN {
    		type master;
    		file "data/dbrev.rev";
    		allow-update { none; }; 	
    	};
    
    include "/etc/rndc.key";
    };
    
    view "external" {
    	match-clients {
    		any;
    	};
    
    	zone "." IN {
    		type hint;
    		file "named.ca";
    	};
    
    	zone "localdomain" IN {
    		type master;
    		file "localdomain.zone";
    		allow-update { none; };
    	};
    
    	zone "localhost" IN {
    		type master;
    		file "localhost.zone";
    		allow-update { none; };
    	};
    
    	zone "0.0.127.in-addr.arpa" IN {
    		type master;
    		file "named.local";
    		allow-update { none; };
    	};
    
    	zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
    	        type master;
    		file "named.ip6.local";
    		allow-update { none; };
    	};
    
    	zone "255.in-addr.arpa" IN {
    		type master;
    		file "named.broadcast";
    		allow-update { none; };
    	};
    	
    	zone "0.in-addr.arpa" IN {
    		type master;
    		file "named.zero";
    		allow-update { none; };
    	};
    
    	// mydomain.hoge.com <-> XXX.YYY.ZZZ
    	zone "mydomain.hoge.com" IN {
    		type master;
    		file "data/public.zone";
    		allow-query { any; }; 	
    	};
    	zone "ZZZ.YYY.XXX.in-addr.arpa" IN {
    		type master;
    		file "data/public.rev";
    		allow-query { any; }; 	
    	};
    	include "/etc/rndc.key";
    };
    ----------------------------------------------------------------------------
    
  4. チェックツールを使って、named.conf ファイルの内容をチェック

    エラーが出たら、named.conf を書き直す。

    named-checkconf /var/named/chroot/etc/named.conf
    
  5. チェックツールで, db.zone, dbrev.rev をチェック

    public.zone, public.rev のチェックは済んでいるので、 db.zone, dbrev.rev のチェックを念のために行なう。 エラーが出たら、db.zone, dbrev.rev を書き直す。

    named-checkzone localhost /var/named/chroot/var/named/data/db.zone
    named-checkzone 127.0.0.1 /var/named/chroot/var/named/data/dbrev.rev
    named-checkzone dnsmail /var/named/chroot/var/named/data/db.zone
    named-checkzone XXX.YYY.ZZZ.160 /var/named/chroot/var/named/data/dbrev.rev
    named-checkzone www /var/named/chroot/var/named/data/db.zone
    named-checkzone XXX.YYY.ZZZ.167 /var/named/chroot/var/named/data/dbrev.rev
    
  6. /var/run/named/named.pid のシンボリックリンク作成
    rm -f /var/run/named/named.pid
    ln -s /var/named/chroot/var/run/named/named.pid /var/run/named/named.pid
    
  7. 起動チェック

    起動チェックのために、最初は、デバッグモードで起動してみる. (起動の前に named の停止を行ないます).

    /etc/rc.d/init.d/named stop
    /sbin/chkconfig named off
    pkill named
    rm -f /var/named/chroot/var/named/data/named.log
    
    /usr/sbin/named -u named -t /var/named/chroot -c /etc/named.conf -d 1
    cat /var/named/chroot/var/named/data/named.log
    
    「cat /var/named/chroot/var/named/data/named.log」の結果ログが出てきますので、エラー が出ていないことを十分に確認してください。

    参考:

  8. オーナの設定
    chown -R named:named /var/named/chroot
    
  9. DNS サーバの起動の試み

    下記の手順で、DNS サーバを起動します。起動時にエラーが出たら、関係する設定ファイル (ここでは、named.conf, public.zone, public.rev) を見直して、もう1度、再起動してください。 エラーメッセージは、「cat /var/log/messages | grep named 」で確認します。

    /etc/rc.d/init.d/named stop
    /sbin/chkconfig named off
    pkill named
    /etc/rc.d/init.d/named start
    /sbin/chkconfig named on
    cat /var/log/messages | grep named
    
  10. ログの確認

    /var/named/chroot/var/named/data に 2つのログファイル named.log, secutiry.log が出来るので確認する。 named.log の中にエラーが無いことを確認する。

    cd /var/named/chroot/var/named/data
    ls -la *.log
    tail named.log
    
  11. rndc との通信ができていることのチェック
    rndc status
      # エラーが無く、「server is up and running」という行が出てくることを確認
    
  12. /etc/hosts.allow の設定

    TCP wrapper の設定ファイルである /etc/hosts.allow を確認します。

    53/UDP は通常の名前解決に使われ、53/TCP はゾーン転送(プライマリ、セカ ンダリ間)にのみ使われます。 53/TCP のアクセス のアクセスは、XXX.YYY.ZZZ.* のみを許すように設定します。 例えば、次のように設定します。 (ネットワークアドレスの末尾に付ける「.」は忘れないようにしましょう)。

    named: 127.0.0.1
    named: XXX.YYY.ZZZ.
    

rndc についての補足説明

rndc には次の2つの設定ファイルが関係する。 bind のインストールの時点で、次の2つのファイルはすでに作られている。 そのまま使う

chroot 化に関する補足説明

「yum install bind-chroot」を実行して、bind-chroot をインストールした ことによって、DNS サーバプロセス (named) が chroot 化されています。 これは、DNS サーバプロセスの起動時に chroot によって、「DNS サーバプロ セス (named) から見えるルートディレクトリ「/」が、実際には、設定された サブディレクトリになっている」というものです。

見方を変えて、説明します。「cd /var/named; ls -al 」で分かる通り、 設定ファイルの実体は、/var/named で無くて、/var/named/chroot/var/named にあります。 DNS サーバプロセス (named) の起動時には、chroot によって、 DNS サーバプロセス (named)から見えるルートディレクトリが /var/mamed/chroot に設定されます。 つまり、DNS サーバプロセス (named)は /var/named/hogehoge を使っているつもりでも、 実際には /var/named/chroot/var/named/hogehoge が使われています。

このような設定をしている理由はセキュリティです。 named が乗っ取られるというケースは意外に多く報告されています。そうした場合に、named 関係以外のファイルが盗まれないように、このような設定をしているわけです。

クライアント側の設定 (記述中)

  1. /etc/resolv.conf

    DNS がうまく動かないと思った時は、クライアント側の /etc/resolv.conf も 確認すること。

  2. /etc/nsswitch.conf

    次のように、hosts の行に「dns」を含むこと。

    hosts: files nis dns
    
  3. /etc/host.conf
    order hosts,bind
    

    上記の設定後、 MX, Web サーバの順引き、逆引きができることを確実に確認する(下記「演習 項目」を見て下さい)

演習項目

nslookup, dig の使い方の練習

nslookup

  1. 下記の手順で、ゾーンファイルに記述したホスト名とIPとの対応をテストする
    # nslookup               <--nslookupを起動
    > server <DNSサーバのIPアドレス>   <--問い合わせるDNSサーバを指定
    
    //正引きのテスト方法
    > <ホスト名>                          <--db.zoneに記述したホスト名
    Server:		<DNSサーバのIPアドレス>
    Address:	<DNSサーバのIPアドレス>#<ポート番号>
    
    Name:	<ゾーンファイルに記述したホスト名>
    Address: <対応するIPアドレス>          <--db.zoneに記述したIPが返れば良い
    
  2. 下記の手順で、逆引きをテストする
    > <IPアドレス>                        <--dbrev.revに記述したIP
    Server:		DNSサーバのIPアドレス
    Address:	DNSサーバのIPアドレス#ポート番号
    
    <IPアドレスの逆順>.in-addr.arpa	name=<対応するホスト名>    <--dbrev.revに記述
    したホスト名がFQDN形式で返れば良い
    

nslookup は exit で終了する。

dig

  1. 下記の手順で、正引きをテストする
    dig @<DNSサーバのIPアドレスr> <調べたいホスト名>
    
  2. 下記の手順で、逆引きをテストする
    # dig @<DNSサーバのIPアドレス> -x <調べたいIP> ptr
    
  3. チェック項目
    ;; ->>HEADER<<-の部分で
     ・status:がNOERROR である
       status:ではサーバからの応答の状態を表す
        NOERROR:DNSサーバが正常に応答した
        NXDOMAIN:問い合わせたドメインは存在しない
        SERVFAIL:DNSサーバが正しく応答しなかった
     ・flags:にqr,aaがあるのか,内部マシンからdigをした場合raもあるはず
       flags:には以下の5つがある。
        qr:クエリの回答
        aa:回答は権限のある回答
        tc:回答が長くて切り捨てられた
        ra:サーバが再帰可能
        rd:再帰希望
     ・ANSWER:が1以上であるか
       ANSWER:では問い合わせに対する回答の数を示す
    ;;ANSWER SECTION:がゾーンファイルに設定した通りであるかどうか
    

ゾーンファイル db.zone, dbrev.rev のメンテナンス

ゾーンファイルdb.zone, dbrev.revのメンテナンス手順は以下の通り (グローバルIPを持つマシンの追加・削除する場合)。

  1. ゾーンファイルに変更を加える前に、バックアップを取っておく
    # cd /var/named/chroot/var/named/data
    # cp db.zone db.zone.back060426    <--その日の日付
    # cp dbrev.rev dbrev.rev.back060426  <--その日の日付
    
  2. db.zoneのAレコードを追加・削除
    //Aレコードの記述例
    hostname    IN    A    XXX.YYY.ZZZ.200
    
  3. dbrev.revのPTRレコードを追加・削除
    //PTRレコードの記述例
    200         IN    PTR  hostname.mydomain.hoge.com.
    
  4. SOAレコードのシリアル番号を更新する. シリアル番号は
     2006042601
     "更新した年月日+その日の更新回数"
    
    のようにする.
  5. ゾーンファイルの変更を反映させるためにnamedの再起動を行う
    # kill -HUP `cat /var/named/chroot/var/run/named/named.pid`
    

rndc 関係

  1. 設定ファイルとゾーンファイルを再読み込みする  ただしキャッシュデータは保持される
    rndc reload
      # ログファイルを見てエラーが無いことを確認する
    tail /var/named/chroot/var/named/data/named.log
    
  2. キャッシュをファイルにダンプする  出力先はnamed.confのoptions中のdump-fileで定義する  出力先を定義していない場合はワークディレクトリの cache_dump.dbに出力される
    rndc dumpdb
      # 出力結果を確認
    cat /var/named/chroot/var/named/data/cache_dump.db
    
  3. キャッシュをすべてフラッシュする
    rndc flush
      # キャッシュをファイルに出力してクリアされたことを確認する
    rndc dumpdb
    cat /var/named/chroot/var/named/data/cache_dump.db
    
  4. サーバの統計情報をファイルにダンプする  出力先はnamed.confのoptions中のstatistics-fileで定義する  出力先を定義していない場合はワークディレクトリのnamed.statsに出力される
    rndc stats
      # 出力結果を確認
    cat /var/named/chroot/var/named/data/named_stats.txt
    

    出力結果の意味

     success   問い合わせに成功したクエリー数
     referral   問い合わせに対し参照となったクエリー数
     nxrrset   問い合わせに対するレコード型が存在しなかったクエリー数
     nxdomain   問い合わせに対するドメイン名やホスト名が存在しなかったクエリー数
     recursion  再帰問い合わせを行ったクエリー数
     failure   エラーとなったクエリー数
    

内部向けのゾーンファイルと、外部向けのゾーンファイルが正しく動いていることを bind のコマンドで確認

この項目は「後回し」とする


以上の演習が済んだら、仮に設定されたゾーンファイルを本格的なものに書き換える。その後、DNS 管理コマ ンドについての練習及び DNS サーバの動作確認を再度行なう。

db.zone, public.zone などでの NSレコードは次のように書くこと(セキュリティ上の理由)

  (修正前)      (修正後)
  IN NS hoge1  → IN NS hoge1.db.is.kyushu-u.ac.jp.
  IN NS hoge2 → IN NS hoge2.db.is.kyushu-u.ac.jp.
  IN NS hoge3 → IN NS hoge3.db.is.kyushu-u.ac.jp.

詳細は、検討中