DNS 問題先把「本機使用哪台 resolver」「權威 DNS 回什麼」「cache 裡是否還是舊資料」分開。查詢最後加一個點,可避免本機自動附加搜尋 suffix。
動手前:TXT 可能含驗證資訊,內部 DNS 名稱也可能敏感。不要隨意把 split DNS 的完整結果貼到公開場合;修改 DNS 前先記錄 TTL 與原值。
dig 常用查詢
查 A recorddig
dig example.com A預設使用系統設定的 resolver。
只看答案dig
dig +short example.com A簡潔但會省略狀態、TTL 與權威資訊。
查 AAAA recorddig
dig example.com AAAA檢查 IPv6 位址。
查 MX recorddig
dig example.com MX數字越小通常優先度越高。
查 TXT recorddig
dig example.com TXT常見 SPF 與驗證字串;長內容可能分段顯示。
查 NS recorddig
dig example.com NS確認 delegation 目標。
查 CNAMEdig
dig www.example.com CNAME若沒有 CNAME,可能直接是 A/AAAA。
指定 Cloudflare DNS 查詢dig
dig @1.1.1.1 example.com A用來和公司 DNS 結果比對,不代表應永久改 resolver。
直接問權威 DNSdig
dig @ns1.example.net example.com A把 nameserver 換成該網域真正的權威主機。
用 TCP 查詢dig
dig +tcp example.com A排查 UDP 53 路徑或大型回應。
追 delegationdig
dig +trace example.com從 root 往下查,可能被網路政策限制。
查 DNSSEC 驗證資訊dig
dig +dnssec example.com AAD flag 是否出現還取決於使用的 resolver。
反向查 IPdig
dig -x 203.0.113.10查 PTR,不保證每個 IP 都有設定。
查看 SOA 與序號dig
dig example.com SOA變更 DNS 時可用 serial 判斷權威資料是否更新。
nslookup、host 與 Windows
nslookup 基本查詢跨平台
nslookup example.com輸出格式依系統不同。
nslookup 指定 DNS跨平台
nslookup example.com 1.1.1.1比較不同 resolver 回應。
nslookup 查 MXWindows/Linux/macOS
nslookup -type=mx example.comWindows 常見用法。
host 快速查詢Linux/macOS
host example.com適合簡單 A/AAAA/MX 概覽。
Windows PowerShell 查 AWindows PowerShell
Resolve-DnsName example.com -Type A顯示 DNS client 解析結果。
PowerShell 指定 DNSWindows PowerShell
Resolve-DnsName example.com -Server 1.1.1.1 -Type A -DnsOnly和公司 DNS 對照。
查完整 FQDN 避免 suffix跨平台
nslookup example.com.尾端點代表絕對名稱。
Windows 清 DNS client cacheWindows CMD
ipconfig /flushdns只清本機 cache,不會刷新權威或上游 DNS。
怎麼確認有做對
- 看 status 是 NOERROR、NXDOMAIN、SERVFAIL 還是 timeout。
- 比較本機 resolver、公共 resolver 與權威 DNS。
- 記錄答案、TTL、查詢時間與使用的 DNS server。
常見錯誤
- 只看 +short,漏掉狀態與 TTL。
- 把 NXDOMAIN、SERVFAIL、timeout 當同一種錯。
- 清本機 cache 後就以為全世界 DNS 已更新。
- 內部 split DNS 名稱拿去問公共 resolver。
版本與官方文件
參數會隨工具版本與作業系統實作改變。正式環境先用 --help、-h 或系統內建說明確認,再以當版官方文件為準。