Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> DNS 伺服器

CentOS 6.5 BIND DNS 服務器從零構建:配置腳本、區域檔案與驗證實戰

編輯:DNS 伺服器

實驗環境與拓撲

角色主機名IP 位址
本地 DNS (LDNS)DC01192.168.2.2/24
授權 DNS (Master)ns1192.168.2.41/24
Web 服務 (VIP)www192.168.2.18/24
郵件服務EX2013A192.168.2.31/24

完整配置腳本化部署

1. 安裝 BIND 套件

yum list bind*
yum install bind bind-utils bind-libs
# 驗證安裝
rpm -qa bind*
# 輸出:bind-utils-9.8.2..., bind-libs-9.8.2..., bind-9.8.2...

2. 備份並重寫主配置 /etc/named.conf

mv /etc/named.conf /etc/named.conf.ori
cat > /etc/named.conf <<'EOF'
options {
    directory "/var/named";
};

zone "." IN {
    type hint;
    file "named.ca";
};

zone "localhost" IN {
    type master;
    file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "named.local";
};

zone "stephenzhou.net" IN {
    type master;
    file "stephenzhou.net.zone";
};
EOF

# 修正配置檔屬組(named 進程以 named 用戶/群組運行)
chown :named /etc/named.conf

3. 更新根提示檔 named.ca


cd /var/named
mv named.ca named.ca.ori
dig -t NS . > named.ca
chown :named named.ca

4. 建立 localhost 正向區域檔 /var/named/localhost.zone


cat > /var/named/localhost.zone <<'EOF'
$TTL 600
@ IN SOA localhost. admin.localhost. (
    2014071001 ; Serial
    1H         ; Refresh
    10M        ; Retry
    1W         ; Expire
    1D )       ; Minimum
  IN NS localhost.
localhost. IN A 127.0.0.1
EOF

5. 建立 localhost 反向區域檔 /var/named/named.local


cat > /var/named/named.local <<'EOF'
$TTL 600
@ IN SOA localhost. admin.localhost. (
    2014071101 ; Serial
    1H         ; Refresh
    10M        ; Retry
    1W         ; Expire
    1D )       ; Minimum
  IN NS localhost.
1 IN PTR localhost.
EOF

6. 建立業務域正向區域檔 /var/named/stephenzhou.net.zone


cat > /var/named/stephenzhou.net.zone <<'EOF'
$TTL 600
$ORIGIN stephenzhou.net.
@ IN SOA ns1.stephenzhou.net. administrator.stephenzhou.net. (
    2014071101 ; Serial
    1H         ; Refresh
    10M        ; Retry
    1W         ; Expire
    1D )       ; Minimum
  IN NS ns1
  IN MX 1 mail
ns1 IN A 192.168.2.41
mail IN A 192.168.2.31
www IN A 192.168.2.18
autodiscover IN A 192.168.2.31
EOF

chown :named /var/named/stephenzhou.net.zone

7. 語法檢查、產生 rndc 金鑰、啟動服務


named-checkconf
named-checkzone "stephenzhou.net" /var/named/stephenzhou.net.zone
# 輸出:zone stephenzhou.net/IN: loaded serial 2014071101 OK

rndc-confgen -r /dev/urandom -a  # CentOS 6 必須單獨產生 /etc/rndc.key
service named start

# 驗證監聽埠
netstat -tunlp | grep :53
# 預期:TCP/UDP 53 監聽於 192.168.2.41、127.0.0.1

8. 功能驗證指令集


# 本機正向解析測試
dig -t NS localhost
dig mail.stephenzhou.net
dig -t A www.stephenzhou.net
host -t A www.stephenzhou.net
host -t A mail.stephenzhou.net
host -t NS stephenzhou.net
host -t MX stephenzhou.net

# 本機反向解析測試
dig -x 127.0.0.1

9. 客戶端驗證 (Windows 遠端)

修改客戶端 DNS 指向 192.168.2.41,使用 nslookup 驗證各記錄類型解析正確。

Windows 客戶端 nslookup 驗證成功

10. 防火牆開放 DNS 埠


# /etc/sysconfig/iptables 新增規則
-A INPUT -p tcp --dport 53 -j ACCEPT
-A INPUT -p udp --dport 53 -j ACCEPT
service iptables restart

關鍵檔案權限與安全加固

  • 區域檔屬主 root:named,權限 640(chown :named ...; chmod 640 ...)
  • /etc/named.conf 同樣 root:named 640
  • 關閉開放遞迴:allow-recursion { 192.168.2.0/24; };
  • 限制查詢來源:allow-query { 192.168.2.0/24; };
  • 隱藏版本號:version "None";
  • 生產環境啟用 bind-chroot 與 DNSSEC

常見問題排查

現象原因解決
named 啟動失敗區域檔語法錯誤/權限不足/埠衝突named-checkconf、named-checkzone、檢查 /var/log/messages
反向解析不生效IP 反寫格式錯誤/PTR 記錄缺失/區域名稱不匹配確認區域名 網段反寫.in-addr.arpa.、PTR 記錄尾部加點
序列號格式警告超過 10 位數或非遞增採用 YYYYMMDDNN 格式,每次修改遞增
rndc 連線失敗金鑰不匹配/埠 953 未監聽/防火牆阻擋重新 rndc-confgen -a、檢查 controls 區塊、開放 TCP 953
Copyright © Windows教程網 All Rights Reserved