Gadget 29:DNS の切り分け

名前解決が壊れたときの切り分け手順(DNS 起因なのかネットワーク起因なのか)

DNS の切り分け

「ドメインで繋がらない」の原因が DNS なのか経路なのかを、正しく短時間で特定します。

目的

  • 名前解決のトラブルを最短で切り分ける
  • 「ネットワークが悪い」と決めつけない

前提条件

手順(切り分けの順)

1. 名前は引けるか

dig +short <あなたのホスト名>
# 例: cf.example.com
  • 引ける → 経路・ポート・TLS の疑いへ(手順 3)
  • 引けない → 手順 2

2. DNS のどこが壊れているか

dig @8.8.8.8 +short <hostname>     # パブリックDNSで引ける?
cat /etc/resolv.conf                # 使っているDNSサーバ
scutil --dns | head -20            # macOS の解決設定
結果 判断
8.8.8.8 では引ける ローカル DNS / リゾルバの問題
どこでも引けない ゾーン / レコード設定の誤り

3. 経路・ポート・TLS を確認する

nc -vz <hostname> 443                # ポート到達性
curl -v https://<hostname>           # TLS・プロキシ
  • ポート到達 = OK で curl 失敗 → TLS / プロキシ(13
  • ポート到達 NG → ファイアウォール / ポート制限(28

4. 特定ホストだけ壊れるとき

  • キャッシュを疑う: dscacheutil -flushcache(macOS)、systemd-resolve --flush(Linux)
  • 複数の端末で同じ症状か確認(端末固有 or 全体か)

よくある失敗

症状 原因 対処
「名前引けない」をネットワークと即断 リゾルバ・ゾーン誤設定 dig @8.8.8.8 で切り分け
ブラウザだけ繋がらない プロキシ設定 / キャッシュ curl --noproxy で再確認
特定端末だけ壊れる 端末の DNS 設定 flush+別端末で検証
TTL 後も変わらない プロバイダーキャッシュ 待つ or 別サーバ参照

確認

次に読む