DNS nameserver の種類と設定:1.1.1.1・8.8.8.8 などパブリックDNS一覧
DNS(Domain Name System)はドメイン名を IP アドレスに変換する仕組みです。どの DNS サーバーを使うかは /etc/resolv.conf で確認・設定できます。
/etc/resolv.conf の見方
cat /etc/resolv.conf
nameserver 1.1.1.1 nameserver 8.8.8.8 search local
| 設定 | 説明 |
|---|---|
nameserver |
使用する DNS サーバーの IP アドレス。複数行書けば上から順に試される |
search |
ホスト名だけで検索したときに補完されるドメイン |
nameserver に現れる特殊なアドレス
| アドレス | 意味 |
|---|---|
0.0.0.0 |
未設定・無効な状態。名前解決できない |
127.0.0.53 |
systemd-resolved(Linux)がローカルで受け取るアドレス |
127.0.0.1 |
ローカルホスト。Pi-hole など自前の DNS を動かしている場合 |
192.168.x.x |
ルーターの DNS(ホームネットワークでよく見られる) |
nameserver 0.0.0.0 が設定されている場合は DNS が正しく設定されていない状態です。Colima や Docker の環境でネットワーク設定が崩れたときに現れることがあります。
主要パブリック DNS 一覧
| 提供元 | プライマリ | セカンダリ | 特徴 |
|---|---|---|---|
| Cloudflare | 1.1.1.1 |
1.0.0.1 |
高速・プライバシー重視。応答速度が世界最速クラス |
8.8.8.8 |
8.8.4.4 |
安定性が高く最も広く使われている | |
| Quad9 | 9.9.9.9 |
149.112.112.112 |
悪意あるドメインをブロックするセキュリティ機能あり |
| OpenDNS | 208.67.222.222 |
208.67.220.220 |
フィルタリング機能あり。Cisco 傘下 |
開発環境では 1.1.1.1(Cloudflare)か 8.8.8.8(Google)を指定することが多いです。
dig で特定の DNS サーバーを使って確認する
@ でクエリ先の DNS サーバーを指定できます。
# Cloudflare の DNS で example.com を引く dig @1.1.1.1 example.com # Google の DNS で引く dig @8.8.8.8 example.com # 現在の nameserver 設定で引く(デフォルト) dig example.com
DNS を変更したあと、意図した DNS サーバーで正しく解決できるかを確認するときに使います。
macOS で DNS を一時的に変更する
# /etc/resolv.conf を直接編集(再起動で元に戻る場合がある) sudo sh -c 'echo "nameserver 1.1.1.1" > /etc/resolv.conf'
macOS では「システム設定 → ネットワーク → DNS」から変更するのが確実です。
まとめ
| 目的 | 使う DNS |
|---|---|
| 速度重視 | 1.1.1.1(Cloudflare) |
| 安定性重視 | 8.8.8.8(Google) |
| セキュリティ重視 | 9.9.9.9(Quad9) |
| DNS 未設定の状態 | 0.0.0.0(名前解決不可) |
DNS の動作確認コマンドについては「dig・nslookup入門:DNS名前解決とレコード確認コマンド」も参照してください。