2013年12月9日 星期一

[FreeBSD]DNS與抓檔案指令

前篇中遇到正反解的問題實在很煩,乾脆自己架台專門解自己架主機的DNS省得麻煩,步驟中有需要自己在除錯的地方請不要照抄XD
# cd /usr/ports/dns/bind98(在FreeBSD9.2上有bind99了,自己做選擇安裝哪一個版本)
# make install clean
# rehash

檢查安裝版本:
# /usr/local/sbin/named -v

確認DNS套件檔案位置:
# ls -l /usr/local/sbin/named*

修改開機設定:
# vi /etc/rc.conf
named_enable="Yes"named_flags="-c /etc/namedb/named.conf"
named_program="/usr/local/sbin/named"

編輯named.conf
#cd /etc/namedb/
#vi named.conf
options {                    (以下請參考)
version         "None of your business";      
listen-on       { 127.0.0.1; 1.2.3.4; };
allow-query { any; };                                      
allow-recursion { 127.0.0.1; 168.95.1.1; 168.95.192.1;DNS主機IP; 192.168.0.0/24; }; 
forwarders {                                  
                168.95.1.1;
                168.95.192.1;
        };
}; 
// RFC 3152
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 "test.com" {
        type master;
        file "db.test.com";
};

zone "3.2.1.in-addr.arpa" {
        type master;
        file "db.1.2.3";
};
存檔退出。

檢查語法:如果named.conf有寫錯,這個檢查會顯示。
#/usr/sbin/named-checkconf

編輯DNS正解檔
#cd working
#vi db. 網域名稱  <<<這是正解檔。
$TTL    259200
@       IN      SOA     ns1.test.com. postmaster.test.com. (
                        2012102536      ;Serial
                        10800           ;Refresh
                        900             ;Retry
                        1209600         ;Expire
                        3600 )          ;Minimum
; Name Server
                in ns           DNS主機名稱.網域名稱.
                in a             DNS主機IP
; Server Address
DNS主機名稱             in a    DNS主機IP
編輯DNS反解檔
#vi db.DNS_IP前三組數字   <<<這是反解檔。
$TTL    259200
@       IN      SOA     ns1.test.com. postmaster.test.com. (
                        2012060301      ;Serial
                        10800           ;Refresh
                        900             ;Retry
                        1209600         ;Expire
                        3600 )          ;Minimum

; Name Server
        in ns   DNS主機名稱.網域名稱.

; PTR
DNS主機IP最後一個數字     in ptr  DNS主機名稱.網域名稱.
#vi localhost-v6.rev
$TTL    3600

@       IN      SOA     ns1.test.com. root.ns1.test.com.  (
                                2012060301  ; Serial
                                3600    ; Refresh
                                900     ; Retry
                                3600000 ; Expire
                                3600 )  ; Minimum
        IN      NS      DNS主機名稱.網域名稱.
        IN      PTR     localhost.網域名稱.
#cp /etc/namedb/named.root /etc/namedb/working/named.root
以上完成後所以工作目錄下至少有這些檔案:
 named.conf,db. 網域名稱,db.DNS_IP前三組數字,localhost-v6.rev,named.root

設定DNS主機
# vi /etc/resolv.conf
nameserver 127.0.0.1
domain test.com
其他先#起來測試自己剛剛做出來的DNS是否能正常解析

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

檢查bind啟動狀態:(有錯誤從這裡找問題修正)
# tail /var/log/messages

查詢自己的DNS:
# host DNS主機名稱.網域名稱

FreeBSD抓檔案指令
fetch 這個抓檔指令了,直接在後面加上 URL 就可以

參考連結1:http://neroli.pixnet.net/blog/post/32271883-%5Bfreebsd%5D-bind-9.8.5%E5%AE%89%E8%A3%9D%E8%88%87%E8%A8%AD%E5%AE%9A
參考連結2:http://www.hkcode.com/linux-bsd-notes/114





沒有留言:

張貼留言