這篇是工作文,不是做相關工作的人可以直接跳過本篇。

搞了好多天的Bind9終於搞定了,但是說真的,怎麼搞定的我到現在也沒搞懂,其中還出現過許多詭異的錯誤訊息,特別在此記錄一下:

FreeBSD裝好之後可以不用馬上裝Bind,直接設定/etc/namedb/named.conf:

options {
        directory        "/etc/namedb/working";  //這個檔一定要是BIND可以讀取的檔案,所有的相關設定檔都要放在這個目錄下。
        pid-file           "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file  "/var/stats/named.stats";

        forwarders {
                168.95.1.1;         //hinet的DNS
                168.95.192.1;     //不一定要用hinet的,主要是要用你上層的DNS
        };
};


// RFC 3152       //給IPV6使用的。
zone "1.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"
{
        type master;
        file "localhost-v6.rev";
};

// RFC 1886 -- deprecated
zone "1.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.INT"
{

        type master;
        file "localhost-v6.rev";
};


zone "." {
        type hint;
        file "named.root";
};


zone "neroli.com" {
        type master;
        file "db.neroli.com";
};


zone "0.168.192.in-addr.arpa" {
        type master;
        file "db.192.168.0";
};



再來是幾個重要的設定檔:db.neroli.com:

$TTL    259200
@       IN      SOA     ns1.neroli.com. postmaster.neroli.com. (
                        2011032170      ;Serial
                        10800           ;Refresh
                        900             ;Retry
                        1209600         ;Expire
                        3600 )          ;Minimum

; Name Server
                in ns           ns1.neroli.com.
                in a            192.168.0.1
                in ns           ns2.neroli.com.
                in a            192.168.0.2

; Mail Exchange
mail            in mx   10      mail.neroli.com.
mail            in mx   20      ns2.neroli.com.

; Server Address
ns1             in a    192.168.0.1
www          in a    192.168.0.2
mail            in a    192.168.0.1
ns2             in a    192.168.0.2


//切記不要做Cname,會出現錯誤訊息。這個檔的意思是指明有二台ns,並指出哪一台是mx(mail server)。

db.192.168.0. (反解檔,除了這兒要做反解之外,還要去上層的ISP設定反解,才能做正確的反解。)

$TTL    259200
@       IN      SOA     ns1.neroli.com. postmaster.neroli.com. (
                        2011030375      ;Serial
                        10800           ;Refresh
                        900             ;Retry
                        1209600         ;Expire
                        3600 )          ;Minimum

; Name Server
        in ns   ns1.neroli.com.
        in ns   ns2.neroli.com.

; PTR
1     in ptr  ns1.neroli.com.
2     in ptr  www.neroli.com.
1     in ptr  mail.neroli.com.
2     in ptr  ns2.neroli.com.

設定好之後全部存在working/目錄下,並將rndc.key也cp到/usr/local/etc和working/下,以便系統抓到。

啟動DNS:
#/etc/rc.d/named start

停止DNS:
#/etc/rc.d/named stop

檢查log:
#tail -n 50 /var/log/messages |grep named

Mar 22 10:31:56 mail named[1405]: starting BIND 9.4.-ESV -c /etc/namedb/named.conf -t /var/named -u bind
Mar 22 10:31:56 mail named[1405]: command channel listening on 127.0.0.1#953
Mar 22 10:31:56 mail named[1405]: command channel listening on ::1#953
Mar 22 10:31:56 mail named[1405]: running

↑這是正常的顯示結果,如果顯示出錯誤訊息,語法錯誤的話比較簡單,記得目錄權限要對,比較困難的是偶而會有udp address被佔用的情況,我的處理方式是先將Bind移除,重新設定好,啟動後nslookup是正常的話,再把Bind裝回來,問題就解決了。

在網路上也看到有其他人有類似的問題,尤其是從Bind8升級到Bind9時很常發生。

檢查一下port 53是否正常:
#netstat -n

udp4       0      0 127.0.0.1.53           *.*
udp4       0      0 192.168.0.1.53      *.*
udp4       0      0 10.0.0.1.53         *.*


↑表示主機本身、對內網卡、對外網卡的53都有起來,查詢與解析DNS正確。

在內部機器上使用nslookup,確認查詢網址或IP解析正確。

完工!!(真想放鞭炮慶祝啊~~)

arrow
arrow
    全站熱搜

    貓熊麗麗 發表在 痞客邦 留言(0) 人氣()