Red Hat 系列系統預設 BIND 版本較舊 (如 9.2.1) 存在穩定性問題,需升級至 9.2.2 以上。本文記錄完整 RPM 移除舊套件 (處理相依性)、安裝新版套件順序、清理殘留設定檔與用戶端 /etc/resolv.conf 設定範例。
# 查詢已安裝 BIND 相關套件
rpm -qa | grep bind
# bind-9.2.1-16
# redhat-config-bind-1.9.0-13
# bind-utils-9.2.1-16
# ypbind-1.11-4 (非 DNS 相關,保留)
# 依相依性順序移除
rpm -e caching-nameserver-7.2-7 # 先移除相依套件
rpm -e redhat-config-bind-1.9.0-13 # 圖形設定工具
rpm -e bind-9.2.1-16 # 核心套件
rm -f /etc/rndc.key.rpmsave # 清理備份檔
rm -f /etc/named.conf.rpmsave
rpm -e bind-utils-9.2.1-16 # 最後移除工具包
# 驗證
rpm -qa | grep bind # 僅剩 ypbind-1.11-4
關鍵原則:移除時先移除相依套件,最後移除工具包;安裝時先安裝工具包,再安裝核心套件。
# 先安裝工具包
rpm -ivh bind-utils-9.2.2-13Thiz.i586.rpm
# 再安裝核心套件
rpm -ivh bind-9.2.2-13Thiz.i586.rpm
# 忽略 V3 DSA signature NOKEY 警告 (無金鑰驗證),不影響功能
nameserver 172.16.1.1 # 第一優先 DNS (內部主 DNS)
nameserver 61.139.2.69 # 第二優先 (ISP DNS)
nameserver 192.168.80.10 # 第三優先 (備用內部 DNS)
search sky.com # 搜尋域尾綴 (單標籤名稱自動補全)
domain sky.com # 本機所屬域
search 可寫多個域 (空白分隔),查詢順序依列出順序。domain 僅能一個,通常與 search 首項相同。
named 無法啟動:檢查 /etc/named.conf 語法 (named-checkconf)、區域檔路徑權限、埠 53 是否被佔用。dig @localhost domain.com 測試本機解析,dig @remote_ip domain.com 測試上游。/var/log/messages 或 /var/named/data/named.run (需在 logging 區段設定)。