【linux】DNSとは? IT初心者向けに分かりやすく

Linux

どーも!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は以下のように動作します

  1. ブラウザがDNSサーバーに問い合わせる
    • まず、PCやスマホは、設定された DNSサーバー に「www.example.com のIPアドレスを教えて」と問い合わせます
  2. キャッシュがあれば即座に応答
    • DNSサーバーが過去の問い合わせを記憶していれば、その情報をすぐに返します(キャッシュ)
  3. なければDNSの階層をたどる
    ルートDNSサーバー に「.com のDNSサーバーはどこ?」と聞く
    TLD(トップレベルドメイン)DNSサーバー に「example.com のDNSサーバーはどこ?」と聞く
    権威DNSサーバー に「www.example.com のIPアドレスを教えて」と聞く
  4. 最終的なIPアドレスを取得
    • 例えば「www.example.com のIPアドレスは 192.0.2.1 です」と返答
  5. その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はインターネットに欠かせない技術です。まずは基本的な仕組みを理解し、nslookupdig コマンドを使って、実際に動作を確認してみるとわかりやすいです!

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました