
【初心者向け】もう怖くない DNS:dig / nslookup / resolvectl 実践と安全トラブルシュート
🚀 はじめに:この記事でできること DNSの基礎から実務で使う観測・切り分け手順、ローカル開発向けの設定までを、失敗しやすいポイントの回避策とセットで身につけます。 「DNSとは何か」を図解レベルで直感理解 dig / nslookup / resolvectlで原因の切り分け Linuxでの/etc/resolv.confの扱いと設定の効かせ方を確認 軽量DNS(dnsmasq)でローカル開発の名前解決を構築 つまずきチェックリストで未然に防止 初心者でも安心:難しい用語は具体例とコマンドでフォローし、落とし穴は対策までセットで提示します。 🧭 前提:必要な環境と対象読者 本記事のコマンドはLinux/macOS/WSL2を中心に説明します。権限昇格(sudo)やネットワーク設定変更が含まれます。 必要な環境 Linux(Ubuntu/Debian/Fedora/Arch等)または macOS(Homebrew) ネットワーク設定の変更権限(sudo) パッケージ管理コマンド(apt / dnf / pacman / brew) 想定する読者 コマンドに抵抗がない初学者〜中級者 アプリ/インフラ開発で名前解決の切り分け力を高めたい人 ローカル開発で独自ドメインを使いたい人 ポイント ディストリごとにパッケージ名が異なる場合があります(例:dnsutils / bind-utils)。後述の操作例で確認・置換してください。 💡 概要:DNSの仕組みとキーワード DNSの全体像を短時間で掴み、後続の手順の理解を早めます。 DNSとは何か DNS(Domain Name System)は、人が覚えやすい名前(example.com)をIPアドレス(93.184.216.34)へ変換する仕組み 役者: リカーシブDNS(再帰リゾルバ):ユーザーの代わりに答えを探す代理人 権威DNS:ドメインの正解を持つサーバ キャッシュ:一度調べた答えをTTLの間だけ保存して高速化 DNSの基本的な流れ(概念図) [あなたのPC] | | ①「example.com のIP教えて!」 v [リカーシブDNS(再帰DNS)] | | ② 権威DNSまで問い合わせを代理で実行 v [権威DNS(example.com の正解を持つ)] | | ③「正しいIPアドレスはこれ!」 v [リカーシブDNS] | | ④ 結果をPCに返す(キャッシュに保存) v [あなたのPC] 問い合わせの実態(段階的解決) [PC] | |-- ①「example.com のIP教えて?」 v [リカーシブDNS] | |-- ②「.(ルートDNS)教えて」 v [ルートDNS] | |-- ③「.com のDNSはここだよ」 v [TLD DNS (.com)] | |-- ④「example.com のDNSはこれ」 v [権威DNS(example.com)] | |-- ⑤「Aレコード(IPv4)は 93.184.216.34 だよ」 v [リカーシブDNS] | |-- ⑥ PCに返す(キャッシュする) v [PC] キャッシュ(高速化の要) ┌─────────────────────────────┐ │ リカーシブDNSのキャッシュのイメージ │ └─────────────────────────────┘ [キャッシュ DB] ├ example.com → 93.184.216.34(TTL 300秒) ├ google.com → 142.250.72.206(TTL 120秒) └ cloudflare.com → 104.16.133.229(TTL 180秒) ※ TTL が切れたら破棄して再問い合わせ ☆ キャッシュがある場合のフロー: [PC] | |「example.com教えて」 v [リカーシブDNS] | |(キャッシュ確認 → まだ有効) | v [PC] ← すぐ返る(高速) DNSの役者(登場人物まとめ) ┌───────────────┬─────────────────────┐ │ DNSの役割 │ 説明 │ ├───────────────┼─────────────────────┤ │ PC(クライアント) │ 「名前 → IP」の回答を受け取る者 │ │ リカーシブDNS │ 問い合わせを代行してくれる代理人 │ │ ルートDNS │ 世界のDNSの最上位(13セット) │ │ TLD DNS (.com等) │ ドメインの種類を管理する局 │ │ 権威DNS(Authoritative) │ ドメインの“正解”を持つサーバ │ └───────────────┴─────────────────────┘ DNSレコードの種類(A・AAAA・CNAME・MX・TXT) example.com の DNS レコード一覧(例): A → IPv4(例:93.184.216.34) AAAA → IPv6(例:2606:2800:220:1:248:1893:25c8:1946) CNAME → 別名(example.com → www.example.com) MX → メールサーバ TXT → SPF/DKIM などのテキスト情報 レコード同士の関係イメージ: example.com (A) ─────→ 93.184.216.34 www.example.com (CNAME) ─→ example.com mail.example.com (MX) ──→ 10 smtp.example.com 🛠️ Step 1:ツールの導入と現在地の確認 必要なツールを入れて、いまどのDNSを参照しているかを素早く把握します。 ...





