どーも!marusukeです!
インターネットに欠かせない技術であるDNSについてです!
1. DNSとは?
DNS(Domain Name System)とは、「インターネット上の住所録」 のような仕組みです
普段、私たちは「www.google.com
」のような ドメイン名 を入力してウェブサイトにアクセスしますが、コンピュータは IPアドレス(例: 142.250.72.196
) を使って通信します
DNSは、この ドメイン名をIPアドレスに変換 する役割を持っています
例:
www.example.com → 192.0.2.1
この変換がないと、私たちはサイトにアクセスするために、数字の羅列(IPアドレス)を覚えなければならなくなります
2. DNSの仕組み(ドメイン名からIPアドレスを取得する流れ)
「www.example.com
」にアクセスする場合、DNSは以下のように動作します
- ブラウザがDNSサーバーに問い合わせる
- まず、PCやスマホは、設定された DNSサーバー に「
www.example.com
のIPアドレスを教えて」と問い合わせます
- まず、PCやスマホは、設定された DNSサーバー に「
- キャッシュがあれば即座に応答
- DNSサーバーが過去の問い合わせを記憶していれば、その情報をすぐに返します(キャッシュ)
- なければDNSの階層をたどる
① ルートDNSサーバー に「.com
のDNSサーバーはどこ?」と聞く
② TLD(トップレベルドメイン)DNSサーバー に「example.com
のDNSサーバーはどこ?」と聞く
③ 権威DNSサーバー に「www.example.com
のIPアドレスを教えて」と聞く - 最終的なIPアドレスを取得
- 例えば「
www.example.com
のIPアドレスは192.0.2.1
です」と返答
- 例えば「
- そのIPアドレスに接続し、ページが表示される
3. DNSの種類
1. フルリゾルバ(キャッシュDNSサーバー)
プロバイダ(ISP)や企業が運営し、DNSの問い合わせを代行するサーバー
例: Google Public DNS (8.8.8.8
)、Cloudflare DNS (1.1.1.1
)
2. ルートDNSサーバー
インターネット全体の最上位に位置する13のDNSサーバー(A〜M)
3. TLD(トップレベルドメイン)DNSサーバー
.com
、.jp
、.net
などを管理するDNSサーバー
4. 権威DNSサーバー
各ドメイン(例: example.com
)を管理するDNSサーバー
4. DNSの設定と確認方法
LinuxでDNSを確認するコマンド
- 現在のDNSサーバーを確認
cat /etc/resolv.conf
出力例:nameserver 8.8.8.8 nameserver 1.1.1.1
- ドメインのIPアドレスを調べる
nslookup www.example.com
出力例:Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: www.example.com Address: 192.0.2.1
5. DNSのセキュリティとリスク
1. DNSキャッシュポイズニング
攻撃者が偽のIPアドレスをDNSサーバーに登録し、利用者を偽サイトへ誘導する攻撃
2. DNSSEC(DNS Security Extensions)
DNSのデータを電子署名し、改ざんを防ぐ技術
3. DNS over HTTPS(DoH)
DNSの通信をHTTPSで暗号化し、盗聴や改ざんを防ぐ技術
6. まとめ
✅ DNSは「ドメイン名 ⇔ IPアドレス」の変換を行うシステム
✅ インターネットは、ルートDNS → TLD DNS → 権威DNS の階層構造で動作
✅ DNSの設定は /etc/resolv.conf
で確認・変更できる
✅ セキュリティ対策(DNSSECやDoH)を導入することで、安全に利用可能
DNSはインターネットに欠かせない技術です。まずは基本的な仕組みを理解し、nslookup
や dig
コマンドを使って、実際に動作を確認してみるとわかりやすいです!
以上です!
ここまで読んでいただきありがとうございました!
コメント