遇到的問題,都有解決方案,希望我的博客能為你提供一點幫助。
操作系統:rocky Linux 9.5
??一、配置DNS服務器的核心步驟??
步驟 1:安裝 BIND 軟件??
??檢查是否安裝??:
rpm -qa | grep "^bind"
- 預期輸出:顯示已安裝的 BIND 相關包(如?
bind-9.x.x
,?bind-utils
)。 - 若無輸出,繼續安裝。
??安裝 BIND??:
sudo yum install bind bind-utils -y
??作用??:BIND提供域名解析的基礎服務,支持正向/反向解析、主從同步等功能。
問題1:遇到已經安裝錯了等問題,直接移除就好
sudo yum remove bind
成功結果如下:
步驟 2:配置主文件?/etc/named.conf
??
??備份原始配置??:
sudo cp /etc/named.conf /etc/named.conf.bak
??修改主配置??:
sudo vi /etc/named.conf
?主配置內容:
options {listen-on port 53 { any; };//不清楚自己網段的話直接改anylisten-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";secroots-file "/var/named/data/named.secroots";recursing-file "/var/named/data/named.recursing";allow-query { any; };//不清楚網段的話直接改anyrecursion yes;dnssec-validation yes;managed-keys-directory "/var/named/dynamic";geoip-directory "/usr/share/GeoIP";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";/* https://fedoraproject.org/wiki/Changes/CryptoPolicy */include "/etc/crypto-policies/back-ends/bind.config";
};
logging {channel default_debug {file "data/named.run";severity dynamic;};
};zone "." IN {type hint;file "named.ca";
};include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
?步驟 3:定義正向和反向解析區域??
??在?/etc/named.rfc1912.zones
?中添加區域??:
sudo vi /etc/named.rfc1912.zones
??添加正向區域??:
zone "infosecurity.com" IN {type master;file "infosecurity.com.zone";allow-update { none; };
};
??添加反向區域??(假設 IP 段為?192.168.0.0/24)(實際需要填自己的)
:
zone "0.168.192.in-addr.arpa" IN {type master;file "0.168.192.rev";allow-update { none; };
};
步驟 4:創建正向解析文件??
??創建正向區域文件??:
sudo vi /var/named/infosecurity.com.zone
??內容示例??:(ip同樣改自己的)
$TTL 1D
@ IN SOA ns.infosecurity.com. admin.infosecurity.com. (2024032101 ; Serial1D ; Refresh1H ; Retry1W ; Expire3H ) ; Minimum TTLIN NS ns.infosecurity.com.
ns IN A 192.168.0.106
www IN A 192.168.0.106
??步驟 5:創建反向解析文件??
??創建反向區域文件??:(ip同樣改自己的)
sudo vi /var/named/0.168.192.rev
??內容示例??:(ip同樣改自己的)
$TTL 1D
@ IN SOA ns.infosecurity.com. admin.infosecurity.com. (2024032101 ; Serial1D ; Refresh1H ; Retry1W ; Expire3H ) ; Minimum TTLIN NS ns.infosecurity.com.IN A 192.168.0.106
106 IN PTR www.infosecurity.com.
步驟 6:設置文件權限??
- ??修改文件屬組和權限?(暫時不用,如果需要再來設置權限)?:
sudo chown root:named /var/named/infosecurity.org.zone sudo chown root:named /var/named/0.168.192.in-addr.zone sudo chmod 640 /var/named/*.zone /var/named/*.rev
??步驟 7:啟動并驗證 DNS 服務??
-
??啟動服務??:
service named start service named restart
-
??檢查服務狀態??:
service named status
- 確認輸出包含?
Active: active (running)
。
- 確認輸出包含?
正確啟動應該是這樣:?
??
??步驟 8:配置客戶端 DNS??
- ??修改?
/etc/resolv.conf
??:echo "nameserver 192.168.0.106" > /etc/resolv.conf //不行的話就直接 sudo vi /etc/resolv.conf
野路子方法:(只是為了完成這個實驗提供的98%不會錯誤的方法,實際操作不應該這樣)
?先:
?再:
sudo vi /etc/resolv.conf
里邊的ip 設成上圖紅圈內的就行。?
??步驟 9:測試 DNS 解析??
-
??正向解析測試??:
nslookup www.infosecurity.com # 或 dig www.infosecurity.com
- 預期輸出:返回?
192.168.0.106
。
- 預期輸出:返回?
-
??反向解析測試??:
nslookup 192.168.0.106 # 或 dig -x 192.168.0.106
- 預期輸出:返回?
www.infosecurity.com
。
- 預期輸出:返回?
問題2:?反向解析不成功?
大概率是自己的地址設置錯誤了,這里也提供一個野路子方法:
第一步:
nslookup www.infosecurity.com
# 或
dig www.infosecurity.com
第二步:
zone "0.168.192.in-addr.arpa" IN {type master;file "192.168.0.rev";allow-update { none; };
};
$TTL 1D
@ IN SOA ns.infosecurity.com. admin.infosecurity.com. (2024032101 ; Serial1D ; Refresh1H ; Retry1W ; Expire3H ) ; Minimum TTLIN NS ns.infosecurity.com.IN A 192.168.0.106
106 IN PTR www.infosecurity.com.
這兩部分配置改成紅圈內的IP
修改后就可以了,以下是成功結果
?紅色部分填入自己的ip
??故障排查??
-
??檢查日志??:
tail -f /var/log/messages
- 查找?
named
?相關錯誤。
- 查找?
-
??驗證配置文件語法??:
named-checkconf /etc/named.conf named-checkzone infosecurity.com /var/named/infosecurity.com.zone named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev