📖 DNS名稱伺服器架設

分類:伺服器管理 | 作者:pake | 發布時間:2024-11-04 17:12

SUSE Linux DNS 伺服器架設指南

DNS(Domain Name System)負責將域名解析至 IP 位址,並支援 MX、CNAME、TXT 等記錄類型。本指南以 openSUSE / SUSE Linux Enterprise 為例,說明如何使用 BIND9 架設正向與反向 DNS 區域。


目錄

  1. 安裝 BIND 套件
  2. 啟動與檢查服務
  3. 設定正向查詢區域
  4. 設定反向查詢區域
  5. 調整防火牆
  6. 測試與驗證
  7. 結語

安裝 BIND 套件

sudo zypper refresh
sudo zypper install -y bind bind-tools

啟動與檢查服務

  1. 啟用並立即啟動 named 服務:
    sudo systemctl enable --now named
  2. 檢查服務狀態:
    sudo systemctl status named
  3. 列出預設配置檔位置:
    • 主設定檔:/etc/named.conf
    • 區域檔案通常放置於 /var/lib/named/

設定正向查詢區域

  1. 編輯 /etc/named.conf,在 options { … }; 區塊後加入:

    zone "example.local" IN {
     type master;
     file "/var/lib/named/example.local.zone";
     allow-transfer { none; };
    };
  2. 建立正向區域檔案
    建立 /var/lib/named/example.local.zone,並填入:

    $TTL 86400
    @   IN  SOA   ns1.example.local. admin.example.local. (
               2025010101  ; Serial (YYYYMMDDNN)
               3600        ; Refresh
               1800        ; Retry
               604800      ; Expire
               86400 )     ; Minimum TTL
    
    ;; Name servers
    @     IN  NS   ns1.example.local.
    
    ;; A records
    ns1   IN  A    192.168.50.10
    www   IN  A    192.168.50.20
    
    ;; MX record
    @     IN  MX   10 mail.example.local.
    mail  IN  A    192.168.50.30
    
    ;; CNAME
    ftp   IN  CNAME www.example.local.
  3. 設定檔案擁有者與權限:

    sudo chown root:named /var/lib/named/example.local.zone
    sudo chmod 640 /var/lib/named/example.local.zone

設定反向查詢區域

  1. /etc/named.conf 中加入:

    zone "50.168.192.in-addr.arpa" IN {
     type master;
     file "/var/lib/named/rev.192.168.50.zone";
     allow-transfer { none; };
    };
  2. 建立反向區域檔案 /var/lib/named/rev.192.168.50.zone

    $TTL 86400
    @   IN  SOA   ns1.example.local. admin.example.local. (
               2025010101 ; Serial
               3600       ; Refresh
               1800       ; Retry
               604800     ; Expire
               86400 )    ; Minimum TTL
    
    ;; Name servers
    @   IN  NS   ns1.example.local.
    
    ;; PTR records
    10  IN  PTR  ns1.example.local.
    20  IN  PTR  www.example.local.
    30  IN  PTR  mail.example.local.
  3. 設定檔案權限:

    sudo chown root:named /var/lib/named/rev.192.168.50.zone
    sudo chmod 640 /var/lib/named/rev.192.168.50.zone

調整防火牆

若系統使用 firewalld,允許 DNS 查詢:

sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload

測試與驗證

  1. 檢查 BIND 配置語法
    sudo named-checkconf
  2. 檢查正向區域
    sudo named-checkzone example.local /var/lib/named/example.local.zone
  3. 檢查反向區域
    sudo named-checkzone 50.168.192.in-addr.arpa /var/lib/named/rev.192.168.50.zone
  4. 重啟 named
    sudo systemctl restart named
  5. 測試解析
    dig @127.0.0.1 www.example.local
    dig @127.0.0.1 -x 192.168.50.20
    nslookup mail.example.local 127.0.0.1

結語

完成以上步驟後,您的 SUSE Linux DNS 伺服器即可提供內部或公開的正向與反向解析服務。建議定期更新 Zone Serial 並備份區域檔,以維持穩定與可管理性。

⬅ 上一篇 下一篇 ➡
🔙 返回 伺服器管理 📚 返回教學列表 🏠 返回首頁