Dorimu

Dorimu

Debian 伺服器 DNS 解析故障排查實錄

前言#

上次 ubuntu 的 dns 出错后,debain 服务器的 dns 也炸了

怎么炸 dns 跟我这么有缘?

問題背景#

Debian 伺服器出現詭異現象:

  • 使用公共 DNS(如 8.8.8.8223.5.5.5無法解析域名
  • 使用局域網自建 DNS(如 192.168.0.254解析正常

排查過程#

1. DNS 連通性測試#


nc -zuv 223.5.5.5 53  # 輸出: Connection succeeded!

公共 DNS 的 53 端口可達

疑惑 ing

2. DNS 配置檢查#

cat /etc/resolv.conf
# 輸出:
nameserver 223.5.5.5
nameserver 8.8.8.8

挺正常的 qwq

3. 防火牆規則#

sudo iptables -L -n -v | grep 53

沒啥問題~

4.dig 查詢#

# UDP 查詢(失敗)
dig @223.5.5.5 aliyun.com +short
# 輸出: ;; communications error: timed out

# TCP 查詢(成功!)
dig +tcp @223.5.5.5 aliyun.com +short
# 輸出: 106.11.253.83 140.205.60.46 ...

UDP DNS 查詢被攔截,TCP DNS 正常

5. 網絡抓包取證#

sudo tcpdump -i any port 53 -w dns.pcap

抓包結果:

  • 只有 外發 DNS 請求A? aliyun.com
  • 響應數據包 返回

6. 連接追蹤驗證#

sudo conntrack -L -p udp --dport 53
# 輸出: 0 flow entries

UDP 請求未建立連接,響應包在傳輸過程中被丟棄

真逆天

結論#

暫且還不知道是什麼問題,可能是中間網絡設備攔截的?
docker 之類的也排除過了
有沒有朋友知道的留下解決方案?

解決方案#

強制使用 TCP 協議解析#

# 修改 /etc/resolv.conf
echo "options use-vc" | sudo tee -a /etc/resolv.conf

自建 DNS#

留個坑

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。