close

適用OS:CentOS 8.1

 

當linux sever架好之後開始要對外正式工作了,

要在internet茫茫網海中找到自己的主機,需要去註冊一個網域名稱,

以本人為例,就註冊了一個bell.idv.tw的網址,所以要來設定DNS server讓人能找到我的家。

 

1. 安裝 DNS Server 軟體 bind

 yum install bind -y

2. 修改設定檔

編輯 /etc/named.conf


options {
#       listen-on port 53 { 127.0.0.1;};                      註掉
#       listen-on-v6 port 53 { ::1; };                           註掉
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };                      改成any,允許任何詢問需求
        allow-transfer  { none; };                     不允許轉移
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
        managed-keys-directory "/var/named/dynamic";
};
logging {
          channel default_debug {
          file "data/named.run";
          severity dynamic;
                                                    };
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone    "bell.idv.tw" IN {

#hostname是你註冊的網域名稱,bell.idv.tw是我的網域,我就填入我自己的 hostname 即可


        type master;
        file "db.bell";   

#指定正解設定檔檔名,後面會用到,檔名格式只要能正確對應即可


        allow-update { none; };

#不允許遠端更新本站DNS資料


};
zone    "0.0.10.in-addr.arpa" IN {
        type master;
        file "db.0.0.10";

#指定反解設定檔檔名,後面會用到,檔名格式只要能正確對應即可


        allow-update { none; };

#不允許遠端更新本站DNS資料


};

#以上新增正解與反解的設定


include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

 

3. 建立正解和反解的設定檔


 vim /var/named/db.bell <-- 檔案名稱必須與上面的 file "db.host"; 雙引號中的檔案名稱一樣

 

$TTL 86400
@       IN      SOA     dns.bell.idv.tw.   bell.bell.idv.tw. (

# 第一個hostname就是你的網域名稱,我就填入我的bell.idv.tw即可。

#admin.hostname事實上是指admin@hostname,即管理者的email的寫法,可換成你的管理者帳號,例如bell等。


                        2013111409      ; serial
                        86400           ; refresh
                        1800            ; retry
                        1728000         ; expire
                        1200            ; Negative Caching
                        )
      IN        NS     dns.bell.idv.tw.
dns             IN      A       122.116.169.24 (IP address)

#這裡是填你的DNS主機實體IP,dns可以替換成你喜歡的名稱


;@              IN      MX      0       mail.bell.idv.tw. (mail server名稱設定,需要與postfix中設定符合)

@              IN      MX   10       bell.idv.tw. (可設定多個mail server名稱,前面號碼需加以區隔順序)

@              IN      MX       20 www.bell.idv.tw.
test.com.       IN      A       122.116.169.24 (IP address)
;
;
localhost               IN      A       127.0.0.1
loopback                IN      CNAME   localhost
www            IN      A       122.116.169.24 (IP address)
m2k             IN      A       122.116.169.24 (IP address)

#以上是將主機名稱與IP做對應,看你的DNS要管多少ip與主機就填入,

同IP可以綁多個主機名稱,我只申請一個固定IP所以所有主機全部設成同一個IP

ftp             IN      CNAME   www
bbs             IN      CNAME   ms1

#以上是別名設定範例,也可以不設。

修改好後存檔離開。

設定反解:

vim /var/named/db.0.0.10

$TTL 86400
@       IN      SOA     dns.bell.idv.tw.   bell.bell.idv.tw. (
                        2013111409      ; serial
                        28800           ; refresh
                        14400           ; retry
                        720000          ; expire
                        86400           ; Negative Caching
                        )
@     IN        NS      localhost.localdomain.
;
100     IN      PTR       bell.idv.tw.
100     IN      PTR      www.bell.idv.tw.

修改好後存檔離開。

 

4. 改變檔案擁有者
chown named:named /var/named/db.*

5. 檢查設定檔
named-checkconf /etc/named.conf

 

如果有錯誤訊息就回去修改設定檔,等都測試過後沒問題即可啟動nmed了。

4. 啟動 DNS Server

 


systemctl start named

5. 設定開機時啟動 DNS Server

systemctl enable named

測試 DNS Server
dig hostname


dig IP

 

以下是在CentOS8.1設定時要注意的部份。

首先是設定檔中的第24行在測試時會顯示錯誤訊息:

2020-03-08

 

dnssec-lookaside 'auto'不再支援,所以要把這行註掉,前面加個#號即可。

然後設定檔如果是舊檔複製過來的話,要注意檔案擁有者與群組要正確,否則DNS伺服器可能會不能啟動。

正確是要root named才對。

2020-03-08 (2)

 

/var/named/底下的設定檔也要注意:

2020-03-08 (3)

 

在Centos8.1上一些DNS常用的debug工具都會找不到,需要手動把工具部份裝上去:

yum install bind-utils

這樣就能使用傳統的nslookup跟dig指令來測試DNS伺服器了。

2020-03-08 (5)

 

以上顯示DNS伺服器可以被詢問並回答正確的IP,完成。

arrow
arrow
    文章標籤
    centos 8.1 DNS BIND
    全站熱搜

    呂阿谷 發表在 痞客邦 留言(1) 人氣()