SUSE Linux DNS 伺服器架設指南
DNS(Domain Name System)負責將域名解析至 IP 位址,並支援 MX、CNAME、TXT 等記錄類型。本指南以 openSUSE / SUSE Linux Enterprise 為例,說明如何使用 BIND9 架設正向與反向 DNS 區域。
目錄
安裝 BIND 套件
sudo zypper refresh
sudo zypper install -y bind bind-tools
bind
:包含named
DNS 伺服器程式bind-tools
:包含dig
,nslookup
,rndc
等測試工具
啟動與檢查服務
- 啟用並立即啟動
named
服務:sudo systemctl enable --now named
- 檢查服務狀態:
sudo systemctl status named
- 列出預設配置檔位置:
- 主設定檔:
/etc/named.conf
- 區域檔案通常放置於
/var/lib/named/
- 主設定檔:
設定正向查詢區域
-
編輯
/etc/named.conf
,在options { … };
區塊後加入:zone "example.local" IN { type master; file "/var/lib/named/example.local.zone"; allow-transfer { none; }; };
-
建立正向區域檔案
建立/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.
-
設定檔案擁有者與權限:
sudo chown root:named /var/lib/named/example.local.zone sudo chmod 640 /var/lib/named/example.local.zone
設定反向查詢區域
-
在
/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; }; };
-
建立反向區域檔案
/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.
-
設定檔案權限:
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
測試與驗證
- 檢查 BIND 配置語法:
sudo named-checkconf
- 檢查正向區域:
sudo named-checkzone example.local /var/lib/named/example.local.zone
- 檢查反向區域:
sudo named-checkzone 50.168.192.in-addr.arpa /var/lib/named/rev.192.168.50.zone
- 重啟
named
:sudo systemctl restart named
- 測試解析:
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 並備份區域檔,以維持穩定與可管理性。