2016年5月11日 星期三

安裝、架設 DNS 伺服器

2019/10/21 修訂

參考資料:

http://www.l-penguin.idv.tw/article/dns.htm
http://www.twbsd.org/cht/book/ch22.htm

定義:

網域為:my.com,192.168.10.0/24
閘道 IP:192.168.10.1
PXE 伺服器 IP:192.168.10.254 -> pxe.my.com
其它每台主機的名稱為:

192.168.10.1 -> host1.my.com, gateway.my.com
192.168.10.2 -> host2.my.com
..
192.168.10.254 -> host254.my.com, pxe.my.com, dns.my.com

安裝 DNS 伺服器

# apt-get install bind9

設定 DNS 伺服器

主要設定檔位置:/etc/bind/named.conf -> 此檔應該不必修改,要修改的是所參考到的檔案。

/etc/bind/named.conf.default-zones 新增底下片段:

zone "my.com" IN {
        type master;
        file "/etc/bind/db-my.com";
        allow-update { none; };
};

接著編輯 /etc/bind/db-my.com 這個檔案,其內容如下:

$TTL          86400
$ORIGIN my.com.
@          1D IN SOA                    @ root.my.com. (
                                        2015041601          ; 修改序號
                                        3H                  ; refresh
                                        15M                 ; retry
                                        1W                  ; expiry
                                        1D )                ; minimum

@                   IN NS         dns.my.com.
dns.my.com.  IN A          192.168.10.254

;設定 MX record
;@              IN MX 10      ms1
;@              IN MX 20      ms2
;ms1            IN A          11.22.33.69
;ms2            IN A          11.22.33.70

;www            10 IN A       11.22.33.85     ;www 做 load balancing
;www            10 IN A       11.22.33.86     ;www 做 load balancing
;web            IN CNAME      www             ;讓 web.abc.com.tw 也指到 www
gateway         IN A     192.168.10.1;
pxe             IN A     192.168.10.254;
host1           IN A     192.168.10.1;
host2           IN A     192.168.10.2;
host3           IN A     192.168.10.3;
..
host254         IN A     192.168.10.254;

設定好之後請重啟 bind9

# systemctl restart bind9.service
# systemctl status bind9.service

並修改 /etc/resolv.conf 之內容如下:

search my.com
nameserver 192.168.10.254

再看看是否能順利進行正解:

nslookup host1.my.com

此時如果進行反解查詢,應該是找不到資料(因為我們還未設定)。

接下來要進行反解設定,請先在 /etc/bind/named.conf.default-zones 這個檔案中再
新增底下片段:

zone "10.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db-192.168.10";
};

其中 10.168.192.in-addr.arpa 是設定 192.168.10.X 這個網段的資料,而

/etc/bind/db-192.168.10 這個檔案則是設定反查之紀錄,其內容如下:
;BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL    86400
@       IN      SOA     my.com. root.my.com. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
;
;@      IN      NS      dns.my.com.
        IN      NS      my.com.
1         IN PTR        gateway.my.com.
254       IN PTR        dns.my.com.
254       IN PTR        pxe.my.com.
1         IN PTR        host1.my.com.
2         IN PTR        host2.my.com.
3         IN PTR        host3.my.com.
4         IN PTR        host4.my.com.
..
254       IN PTR        host254.my.com.

設定完之後請再次重啟 bind9,並作正、反解查詢,如果沒有設定錯誤的話,現在
應該可以順利的進行正反解。

接著,我們來看看此 DNS 設定是否能查詢到外界網域,請執行:

nslookup www.google.com

理論上應該沒有問題,因為 dns 預設會往上查詢網路上已存在之正、反解資料。


設定 bind 只查 IPV4

# vi /etc/default/bind9
將 OPTIONS 改成底設定:

OPTIONS="-4 -u bind"

然後再重新啟動 /etc/init.d/bind9

沒有留言:

張貼留言