woff 發表於 2022-12-10 22:41:37

CentOS 8 DNS server 安裝與設定

當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 <a href="www.bell.idv.tw." target="_blank">www.bell.idv.tw.</a>
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      <a href="www.bell.idv.tw." target="_blank">www.bell.idv.tw.</a>
修改好後存檔離開。

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
如果有對外要開啟防火牆

Get the active zones:查詢ZONE
firewall-cmd --get-active-zones
Allow DNS quesies on the zone called external.允許外部網路查詢
firewall-cmd --zone=external --add-service=dns
Test if dns queries are now working.
If it is ok, let’s make the rule permanent upon reboots.開機時啟動規則(一定要下,不然會被清掉)
firewall-cmd --runtime-to-permanent
查詢是否有加入ZONE
firewall-cmd --list-all --zone=external

參考文章https://ask.fedoraproject.org/t/named-and-firewalld/4515/2
https://luyaku.pixnet.net/blog/post/351854212-centos-8.1-06%EF%BC%9Adns-server-%E5%AE%89%E8%A3%9D%E8%88%87%E8%A8%AD%E5%AE%9A
頁: [1]
查看完整版本: CentOS 8 DNS server 安裝與設定