ウェブサイトやメールアドレスも、それぞれ固有の「名前」と「住所」を持っています。インターネットはまるで巨大な図書館のようなものです。
膨大な情報が蓄積された無数の書籍が、それぞれ固有の住所を持っているのと同じです。
この名前と住所を相互に変換する重要な役割を果たしているのが、DNS(Domain Name System)です。
システム管理・運用や新規CSチームの立ち上げ、新規事業プロジェクトの進行などを経験し、現在はマーケティングやインフルエンサー事業をメインとする。
DNSとは

DNSは、Domain Name Systemの略称で、インターネット上のドメイン名とIPアドレスを相互に変換するシステムです。
人間にとってわかりやすいドメイン名(例:www.example.com)を、コンピュータが理解できるIPアドレス(例:192.168.1.1)に変換することで、インターネット上の通信を可能にしています。
DNSは、電話帳のような役割を果たし、インターネット上の膨大な数のウェブサイトやメールサーバーを効率的に利用できるようにするために必要不可欠なシステムです。
DNSは、世界中に分散されたDNSサーバーと呼ばれるコンピュータによって運営されています。ユーザーがドメイン名を入力すると、そのDNSサーバーに問い合わせを行い、IPアドレスを取得します。
DNSは、インターネットの基盤となる重要なシステムであり、私たちの日常生活に欠かせない存在です。
DNSの仕組みと機能

DNSがどのように機能し、どのような役割を果たし、どのように動作するか、インターネット通信における仕組みをわかりやすく解説します。
ユーザーがブラウザにドメイン名を入力すると、以下の手順でIPアドレスが取得されます。
- ブラウザは、ローカルにキャッシュされたDNSレコードを確認
- キャッシュにない場合は、リゾルバーと呼ばれるソフトウェアが、ルートネームサーバーに問い合わせ
- ルートネームサーバーは、TLDネームサーバーのアドレスをリゾルバーに返す
- リゾルバーは、TLDネームサーバーに問い合わせ、authoritativeネームサーバーのアドレスを取得
- リゾルバーは、authoritativeネームサーバーに問い合わせ、ドメイン名に紐づくIPアドレスを取得
- リゾルバーは、取得したIPアドレスをブラウザに返す
- ブラウザは、IPアドレスを使用して、Webサーバーに接続し、目的のウェブサイトを表示
このような流れでインターネット通信が行われており、日々私たちの生活や仕事に役立っています。
DNSの主要な機能

DNSは、さまざまな重要な機能を提供しています。
名前解決
インターネット上の通信は、基本的にIPアドレスで行われます。しかし、人間にとって数字の羅列であるIPアドレスを覚えるのは困難です。
そこで、DNSは人間にとってわかりやすいドメイン名という抽象的な名前と、コンピュータが理解できるIPアドレスという具体的な住所を紐づける役割を果たしています。
名前解決は、インターネットを快適に利用するために不可欠な機能です。名前解決がなければ、ユーザーはドメイン名ではなくIPアドレスを直接入力する必要があり、インターネットの利用は非常に不便になります。
負荷分散
DNSにおける負荷分散とは、複数のWebサーバーにアクセスを分散させることで、サーバーの負荷を軽減し、サービスの安定性を向上させる技術です。
DNS負荷分散は、ロードバランサーと似ていますが、ロードバランサーは、DNSサーバーよりも高度な機能を提供します。
負荷分散の仕組みは以下の通り。
- ユーザーがドメイン名にアクセスすると、DNSサーバーはラウンドロビン方式で複数のIPアドレスを返す
- ユーザーのブラウザは、返されたIPアドレスの中から、ランダムに1つのIPアドレスを選択して、そのサーバーにアクセス
- アクセスされたサーバーは、ユーザーの要求に応答
サービスの安定性を向上させたり、他のサーバーでサービスの継続ができたり、アクセス増加に対応できたりします。
しかし、設定が複雑になったり、DNSサーバーの負荷が増加したり、ラウンドロビン方式にうまく対応できなかったりするという注意点もあります。
フェイルオーバー
DNSにおけるフェイルオーバーとは、プライマリネームサーバーに障害が発生した場合に、自動的にバックアップサーバーに切り替えて、サービスの可用性を維持する機能です。
フェイルオーバーの仕組みは以下の通り。
- プライマリネームサーバーに障害が発生すると、DNSクライアントはバックアップサーバーに問い合わせ
- バックアップサーバーは、DNSレコードをクライアントに返す
- クライアントは、DNSレコードからIPアドレスを取得し、目的のサービスにアクセス
フェイルオーバーにはいくつかの種類があります。
| 種類 | 内容 |
| プライマリ/セカンダリフェイルオーバー | プライマリネームサーバーに障害が発生した場合、セカンダリネームサーバーが引き継ぐ |
| ジオフェイルオーバー | 地域ごとに複数のネームサーバーを設置し、障害が発生した地域のネームサーバーのみ切り替える |
| Anycastフェイルオーバー | 複数のネームサーバーに同じIPアドレスを割り当て、障害が発生したネームサーバーを自動的に回避 |
DNSフェイルオーバーは、サービスの可用性を向上させたりダウンタイムを最小限に抑えたりするための重要な機能です。
キャッシング
DNSは、名前解決の効率化のためにDNSキャッシュと呼ばれる仕組みを採用しています。
DNSキャッシュとは、一度問い合わせたドメイン名とIPアドレスの対応関係をローカルに保存しておく仕組みです。
次回同じドメイン名にアクセスする際、DNSキャッシュからIPアドレスを取得することで、リゾルバーへの問い合わせを省略し、アクセス速度を向上させることができます。
DNSキャッシングの仕組みは以下の通り。
- ユーザーがブラウザにドメイン名を入力すると、ブラウザはローカルにキャッシュされたDNSレコードを確認
- キャッシュにない場合は、リゾルバーと呼ばれるソフトウェアが、DNSサーバーに問い合わせてDNSレコードを取得
- リゾルバーは、取得したDNSレコードをローカルに保存
- 次回以降、同じドメイン名にアクセスする場合は、リゾルバーはDNSサーバーに問い合わせることなく、ローカルに保存されたDNSレコードを使用
DNSサーバーへの問い合わせを減らすことで通信速度を向上させることができたり、DNSサーバーの負荷を軽減したり、インターネット接続がないオフライン環境でも、ローカルに保存されたDNSレコードを使用して、ドメイン名にアクセスしたりできます。
DNSキャッシングは、インターネット通信を高速化しサーバー負荷を軽減するための有効な手段です。ただし、キャッシュの有効期限やセキュリティ対策には注意する必要があります。
セキュリティ
DNSはインターネットの基盤を支える重要なシステムですが、同時に様々な攻撃対象にもなります。近年、DNSに対する攻撃は増加しており、企業や個人に大きな損害を与える可能性があります。
DNS攻撃の種類は複数あります。
| 種類 | 内容 |
| DNSキャッシュポイズニング | DNSサーバーのキャッシュに偽のDNSレコードを注入することで、ユーザーを不正なWebサイトに誘導する攻撃 |
| DNSリフレクション攻撃 | DNSサーバーを利用して、大量のトラフィックを特定のターゲットに送信する攻撃 |
| DNSクエリ偽装攻撃 | ユーザーになりすましてDNSサーバーに問い合わせを行い、機密情報を詐取する攻撃 |
後程詳しい説明をしますが、「DNSSEC」「DNS over HTTPS (DoH)」「DNS over TLS (DoT)」「DNS Firewall」などでDNS攻撃の対策が可能です。
セキュリティは、インターネット全体のセキュリティを守るために重要です。DNS攻撃は企業や個人に様々な損害を与える可能性があり、対策を講じることが重要です。
ネームサーバーの役割

ネームサーバーは、DNSシステムにとって非常に重要な役割を果たしています。 ネームサーバーがなければ、インターネット上のウェブサイトやメールアドレスにアクセスすることはできません。
ネームサーバーは、DNSシステム内で、ドメイン名とIPアドレスの対応関係を管理するサーバーです。
authoritativeネームサーバー、TLDネームサーバー、ルートネームサーバーなど、役割に応じて様々な種類があります。
| サーバ名 | 詳細 |
| ルートネームサーバー | インターネット全体を統括するサーバー |
| TLDネームサーバー | トップレベルドメイン(例:.com、.jp)を管理するサーバー |
| authoritativeネームサーバー | 特定のドメイン(例:example.com)を管理するサーバー |
ネームサーバーの設定は、ドメイン名とIPアドレスの対応関係をネームサーバーに設定する作業です。 設定には、専門知識が必要となります。
DNS設定の基本知識

DNS設定は、ドメイン名とIPアドレスの対応関係をネームサーバーに設定する作業です。
DNS設定の種類
DNS設定は、ドメイン名とIPアドレスの対応関係をネームサーバーに設定する作業です。様々な種類の設定があり、それぞれ異なる役割を果たします。
| DNS設定の種類 | 内容 |
| Aレコード | ドメイン名をIPアドレスに紐づける設定。最も一般的なDNS設定。 |
| MXレコード | メールアドレスをメールサーバーに紐づける設定。メールアドレスの運用に必須。 |
| CNAMEレコード | エイリアスレコードとも呼ばれ、別のドメイン名に名前解決を委ねる設定。サブドメインなどを設定する場合に便利。 |
| NSレコード | ドメイン名の権威DNSサーバーを指定する設定。ドメイン名の管理権限を移譲する場合などに使用。 |
| AAAAレコード | IPv6アドレスに対応したAレコード。IPv6環境でドメイン名を名前解決する際に使用される。 |
| TXTレコード | テキスト情報を記録する設定。SPFレコードやDKIMレコードなど、様々な用途で使用される。 |
| SRVレコード | サービス名を特定のサーバーに紐づける設定。サーバの負荷分散などに使用される。 |
| NAPTRレコード | 電話番号などの情報を記録する設定。E.164番号など、電話番号をドメイン名に紐づける場合に使用される。 |
| PTRレコード | IPアドレスをドメイン名に紐づける設定。逆引き名前解決と呼ばれる機能で使用される。 |
| SOAレコード | ドメイン名の権威DNSサーバーに関する情報を記録する設定。DNSレコードの更新頻度などを設定する。 |
| HINFOレコード | ホストに関する情報を記録する設定。ホスト名やOSの種類などを記録できる。 |
| CAAレコード | 証明書発行機関(CA)に対する証明書発行ポリシーを設定するレコード。 |
設定内容に誤りがあると、ウェブサイトやメールアドレスが正常に動作しなくなる可能性があります。設定に自信がない場合は、専門家に相談することをおすすめします。
DNS設定のステップ
DNS設定は、ドメイン名をIPアドレスに紐づける作業です。以下のステップで設定を行います。
1. ドメイン名の取得
DNS設定を行う前に、ドメイン名を取得する必要があります。ドメイン名は、お名前.comやムームードメインなどのドメインレジストラから取得できます。
2. ネームサーバーの設定
ドメイン名を取得したら、ネームサーバーを設定する必要があります。ネームサーバーは、ドメイン名とIPアドレスの対応関係を管理するサーバーです。多くの場合、ドメインレジストラがネームサーバーを提供しています。
3. DNSレコードの作成
ネームサーバーを設定したら、DNSレコードを作成する必要があります。DNSレコードには、ドメイン名とIPアドレスの対応関係を記述します。
4. 設定の反映
DNS設定を変更すると、反映までに時間がかかる場合があります。反映時間は、ドメインレジストラやネームサーバーによって異なりますが、通常は数時間から24時間程度です。
DNS設定時には以下の点に注意しましょう。
- 設定内容に誤りがないか確認
- TTL(Time To Live)の設定値を適切に設定する
- セキュリティ対策を講じる
DNS設定は、インターネット上でドメイン名を正しく利用するために必要な作業です。設定に不安がある場合は、ドメインレジストラやレンタルサーバー会社にサポートを依頼しましょう。
DNS設定時の注意点
DNS設定はドメイン名をIPアドレスに紐づける作業であり、インターネット上でサービスを提供するために必要な設定です。
設定に誤りがあるとウェブサイトやメールアドレスが正常に動作しなくなるなど、様々な問題が発生する可能性があります。
1. 設定内容の確認
DNS設定を行う際には、設定内容に誤りがないか十分に確認することが重要です。特に、以下の点に注意する必要があります。
- ドメイン名
- IPアドレス
- レコードの種類
- TTL (Time To Live)
2. TTLの設定
TTLは、DNSレコードの有効期限を指定する値です。
TTLを短く設定すると変更した設定がすぐに反映されますが、負荷が高くなります。
逆に、TTLを長く設定すると負荷は低くなりますが、変更した設定が反映されるまでに時間がかかります。
3. セキュリティ対策
DNSサーバーはインターネットからのアクセスを受けるため、セキュリティ対策を講じる必要があります。具体的には、以下の対策が有効です。
- DNSサーバーのソフトウェアを最新の状態に保つ
- DNSサーバーへのアクセスを制限する
- DNSSECなどのセキュリティ技術を導入する
4. 設定変更後の確認
DNS設定を変更した後は、ウェブサイトやメールアドレスが正常に動作するか確認する必要があります。問題が発生した場合は設定内容に誤りがないか確認してください。
DNS設定は、インターネット上でサービスを提供するために重要な作業です。上記のような注意点に留意し、慎重な設定を行うことが重要です。
DNSの用途とビジネスでの活用

企業ウェブサイト
企業ウェブサイトのドメイン名をIPアドレスに紐づけることで、ユーザーがブラウザにドメイン名を入力するだけで、ウェブサイトにアクセスできるようにします。
DNSレコードを複数設定することで、複数のWebサーバーにアクセスを分散させることができ、負荷を軽減し、サービスの安定性を向上させることも可能です。
また、DNSSECなどのセキュリティ技術を導入することで、DNSレコードの偽造や改ざんを防ぎ、ウェブサイトへの不正アクセスを防止することができます。
さらに、DNSログを分析することで、ユーザーのアクセス状況を把握し、ウェブサイトの改善に役立てることができます。
具体的な活用例は以下の通り。
- グローバル展開
- マイクロサイト
- リダイレクト
- ロードバランシング
- セキュリティ対策
DNSは、企業ウェブサイト運営において、非常に重要な役割を果たします。DNSを適切に活用することで、ウェブサイトの利便性、セキュリティ、可用性を向上させることができます。
メールアドレス
DNSはメールアドレスの重要な役割を果たします。具体的には、以下の2つの用途で活用されています。
- MXレコードによるメールサーバーの指定
- SPFレコードによるなりすまし防止
メールアドレスには、MXレコードと呼ばれるDNSレコードが使用されます。MXレコードは、メールアドレスのドメイン名(例:example.com)を、そのドメイン名のメールを処理するメールサーバーのIPアドレスに紐づける役割を果たします。
SPFレコードと呼ばれるDNSレコードは、特定のドメイン名から送信されるメールが、実際にそのドメイン名のメールサーバーから送信されたものであることを検証するために使用されます。
SPFレコードは、送信元ドメインのIPアドレスをリストすることでなりすましによる迷惑メールやフィッシング詐欺を防ぐ効果があります。
DNSを活用したメールアドレスの具体的な活用例は以下の通り。
- 企業ドメインのメールアドレス
- 独自ドメインのメールアドレス
- エイリアスアドレス
- メーリングリスト
DNS設定を誤ると、メールが正しく送受信できなくなる可能性があります。特に、MXレコードやSPFレコードの設定には注意が必要です。
DNS設定を正しく行うことで、安全で効率的なメールコミュニケーションを実現することができます。
ロードバランシング
DNSロードバランシングは、複数のWebサーバーやメールサーバーにアクセスを分散させるための技術です。
DNSレコードを動的に変更することで、ユーザーのアクセスを最適なサーバーに誘導し、負荷分散と高可用性を実現します。
DNSロードバランシングは、以下の仕組みで動作します。
- ユーザーがブラウザにドメイン名を入力すると、DNSサーバーに問い合わせ
- DNSサーバーは、設定に基づいて、複数のIPアドレスのうち、1つをユーザーに返す
- ユーザーは、返されたIPアドレスを使用して、Webサーバーやメールサーバーにアクセス
DNSロードバランシングには、複数のアルゴリズムがあります。
順番にIPアドレスを返す「ラウンドロビン」、ランダムにIPアドレスを返す「ランダム」、接続数が少ないサーバーにアクセスを振り分ける「最少接続数」、レスポンス時間が短いサーバーにアクセスを振り分ける「レスポンス時間」です。
DNSロードバランシングは、以下のような用途に活用されます。
- Webサイト
- メールサーバー
- アプリケーションサーバー
- コンテンツデリバリーネットワーク (CDN)
複数のWebサーバーにアクセスを分散させたり複数のメールサーバーにアクセスを分散させたりすることで、サイトの読み込みやメールの送受信速度を向上させることができます。
また、複数のアプリケーションサーバーやCDNサーバーにアクセスを分散させることで、アプリケーションの動作やコンテンツの配信速度の向上も可能。
DNSロードバランシングは、負荷分散と高可用性を実現するための有効な技術です。導入を検討している場合は、メリットとデメリットを理解し、自社のニーズに合致した方法を選択することが重要です。
セキュリティ対策
DNSセキュリティ対策には様々な技術や方法がありますが、DNSそのものの仕組みを利用した対策も有効です。
1. DNSSEC:DNSレコードの偽造・改ざんを防ぐ
DNSSECは、DNSレコードにデジタル署名を付加することで、偽造や改ざんを防ぐ技術です。
従来のDNSでは、DNSレコードが簡単に偽造・改ざんされる可能性があり、これがDNSキャッシュポイズニング攻撃などの原因となっていました。DNSSECは、このような攻撃を防ぐために、以下の機能を提供します。
- レコードの真正性の確認: デジタル署名により、DNSレコードが改ざんされていないことを確認できます。
- データの起源の検証: DNSレコードがどこから発信されたかを検証できます。
- レコードの整合性の確認: DNSレコードが正しく更新されていることを確認できます。
DNSSECは、DNSセキュリティを強化するための重要な技術であり、多くのドメインで導入が進んでいます。
2. DNS over HTTPS (DoH):DNSクエリを暗号化する
DNS over HTTPS (DoH)は、DNSクエリをHTTPSで暗号化することで、通信内容を保護する技術です。
従来のDNSでは、DNSクエリが平文で送信されるため、第三者に盗聴される可能性がありました。DoHは、このような盗聴を防ぐために、以下の機能を提供します。
- 通信内容の暗号化: HTTPSによる暗号化により、第三者がDNSクエリの内容を盗聴できないようにします。
- プライバシー保護: ユーザーのDNSクエリ履歴を第三者に知られないようにします。
- DNSサーバーのなりすまし防止: HTTPSによる証明書検証により、DNSサーバーのなりすましを防ぎます。
DoHは、ユーザーのプライバシー保護とDNSセキュリティを強化するための技術として注目されています。
3. DNS over TLS (DoT):DNSクエリをTLSで暗号化する
DNS over TLS (DoT)は、DNSクエリをTLSで暗号化することで、通信内容を保護する技術です。
DoHと同様に、従来のDNSの平文通信による盗聴を防ぎ、ユーザーのプライバシー保護とDNSセキュリティを強化します。
DoHとDoTは、それぞれ異なるプロトコルを使用していますが、同じような機能を提供します。
4. DNS Firewall:悪意のあるDNSクエリを遮断する
DNS Firewallは、悪意のあるDNSクエリを遮断することで、DNS攻撃を防ぐファイアウォールです。
DNSサーバーへの不正アクセスや、DNSキャッシュポイズニング攻撃などを防御することができます。DNS Firewallは、以下の機能を提供します。
- 悪意のあるDNSクエリの検知: 既知の攻撃パターンや、異常なDNSクエリを検知します。
- DNSクエリの遮断: 悪意のあるDNSクエリを遮断し、DNSサーバーへの攻撃を防ぎます。
- DNSサーバーの保護: DNSサーバーを様々な攻撃から保護します。
DNS Firewallは、DNSサーバーを保護するための重要なツールです。
その他にも、 DNSレコードを定期的に監査することで不正な変更がないかを確認したり、DNSログを分析することでDNS攻撃の痕跡を発見したりすることができます。
DNSセキュリティ対策は、単一の技術で解決できる問題ではありません。上記の各種技術を組み合わせて、多層的な防御を構築することが重要です。
DNSの学習書籍

DNSについて学べる書籍が数多く出版されています。ここでは、初心者でも読みやすく、わかりやすく説明されているおすすめの書籍を紹介します。
DNSがよくわかる教科書

インターネットの基盤を支える重要なシステムであるDNSについて、初心者にもわかりやすく解説した書籍です。DNSの仕組みから運用ノウハウまでこの一冊で習得できます。
DNSのしくみと運用ノウハウをマスターし、ネットワークの理解を深めることができます。
以下のような方におすすめ。
- DNSの基礎をしっかり学びたい方
- DNSの運用に携わる方
- ネットワークの知識を深めたい方
DNSをはじめよう

イラストや図を豊富に使用しながら、DNSの基礎知識やセキュリティ、トラブルシューティングまで包括的に説明している書籍。
初心者にもわかりやすい解説をこころがけながらも、実践的な内容なため初級者から中級者に人気です。
以下のような方におすすめ。
- DNSの基礎を学びたい方
- DNSの設定や運用に携わる方
- ネットワークの知識を深めたい方
実践DNS DNSSEC時代のDNSの設定と運用

DNSの基礎知識から、最新のDNSSEC技術まで、DNSに関するあらゆる知識を網羅した実践的な書籍です。
DNSの設定と運用に携わるネットワークエンジニア、システム管理者、Webデザイナーなど、幅広い読者に役立ちます。
以下のような方におすすめ。
- DNSの設定と運用を理解したい方
- DNSSEC技術について学びたい方
- ネットワークのセキュリティを強化したい方
- インターネットの仕組みをより深く理解したい方
オンライン学習リソース

DNSオンラインでの学習リソースも充実しています。動画で学べる分かりやすいものを紹介するので、ぜひ参考にしてください。
Internet Systems Consortium (ISC)

ISCは、DNS (Domain Name System) の開発と普及に貢献してきた非営利団体です。ISCは、DNSに関する豊富な情報とリソースを提供しており、DNSについて学ぶのに最適な場所の一つです。
ISCは、DNSの開発と運用に携わってきた専門家チームによって運営されています。そのため、ISCが提供する情報は正確で信頼性が高く、常に最新です。
DNSの基本的な仕組みから、高度な設定や運用まで、あらゆるレベルの知識を得ることができます。
また、ISCはDNSに関するチュートリアルや実践的な演習を提供しています。これらのリソースを活用することで、実際にDNSを運用するスキルを身につけることができます。
DNS-OARC

DNS-OARC(DNS Operations, Analysis, and Research Center)は、DNSに関する幅広い情報とリソースを提供する非営利団体です。
DNSプロトコル、セキュリティ、運用など、さまざまなトピックに関する記事、チュートリアル、ホワイトペーパー、プレゼンテーションなどを公開。
ブログ記事、フォーラム、イベントを通じて、DNSに関する知識や経験を共有しています。
また、DNSに関するさまざまなワークショップやトレーニングコースを開催。これらのコースでは、DNSの理論だけでなく、実務での運用方法についても学ぶことができます。
Udemy

Udemyはインターネット上で誰でも簡単に学習できるオンライン学習プラットフォームです。
DNSに関する様々なコースが用意されています。初心者向けの基礎コースから、上級者向けの専門コースまで、自分のレベルに合ったコースが選択可能です。
また、多くの場合は講師からのサポートを受けることが可能。質問や疑問があれば、講師に直接質問して解決することができます。
さらに、他のオンライン学習プラットフォームと比べて安価な価格で提供。そのため、コストを抑えながら学習できます。
YouTube
DNSについて学ぶのに役立つYouTubeの動画もたくさんあります。DNSの基本から応用まで、幅広い内容を網羅しています。
YouTubeの動画なら、図やアニメーションを使ってわかりやすく解説してくれるので、初心者でも理解しやすいでしょう。
また、YouTubeの動画は自分のペースで繰り返し見ることができます。わからないところは、何度も見直して理解を深めることができます。
ぜひ参考にして、DNSについて学んでみてください。
まとめ:DNSの知識を身に着けてネットワークを理解しましょう

S
DNSは、インターネットの基盤を支える重要なシステムであり、その仕組みを理解することは、ネットワーク全体を理解する上で非常に重要です。
DNSの役割や仕組みを理解することで、インターネット上の通信の流れをより深く理解することができます。
DNSの知識は、ネットワークエンジニアだけでなく、Webデザイナーやシステム管理者など、様々な職種で役立ちます。
また、導入するためには専門知識が必要です。もし社内のみでの導入に不安がある場合はぜひJiteraへお問い合わせください。

