Dorimu

Dorimu

Debian サーバー DNS 解析障害トラブルシューティング実録

前言#

上次 ubuntu の dns がエラーになった後、debain サーバーの dns も壊れた

どうして dns がこんなに私と縁があるの?

問題背景#

Debian サーバーに奇妙な現象が発生:

  • 公共 DNS(例えば 8.8.8.8 または 223.5.5.5はドメイン名を解決できない
  • ローカルネットワーク自作 DNS(例えば 192.168.0.254は正常に解決する

排查过程#

1. DNS 接続性テスト#


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

公共 DNS の 53 ポートに到達可能

疑問中

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#

穴を残しておく

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。