---
# System prepended metadata

title: DNS

---

# DNS

ドメインネームシステム（DNS）はインターネットの根幹をなす技術の1つです。
DNSはドメイン名を管理運用するシステムのことを指しています。

例えばメールアドレス「mail@gmail.com」の「gmail.com」、URL「<https://example.com/>」の「example.com」が「ドメイン名」。

> https://www.idcf.jp/rentalserver/user-support/knowledge/domain/role.html
ドメイン名とは「インターネット上の住所」にあたり、電子メールを送ったり、ホームページを見たりする時に相手がインターネット上のどこにいるかを特定するためのものです。
![](https://www.idcf.jp/rentalserver/user-support/knowledge/domain/images/role_01.png)

ドメイン名はインターネットを使ったサービスを利用する上で信用を担保する方法として利用されていることが多いため、知っておくと便利です。

例えばフィッシングサイトからの自衛方法（うっかりID/パスワードを入力してしまわないための方法）としては「ドメイン名を見る」、という方法が推奨されていたりします。
モバイルアプリのアプリ内ブラウザによってはドメイン名を表示しない設計になっているものもありますが、これではユーザからフィッシングサイトであるかどうかを判断できなくなるため、アプリを作っている企業側も気にかけておくとよいでしょう。

> https://ssl.sakura.ad.jp/column/phishing/
銀行など金融機関の場合、パンフレットやキャッシュカードにサイトのドメイン名が書いてある場合があるので、アクセスした際にはそれと見比べるのも効果的です。

メールやWebブラウザで表示されるURLの他に、スマホアプリの世界でもUniversal Linksと呼ばれる他のアプリからアプリ内に遷移するための仕組みでドメイン名の仕組みが用いられていますし、アプリが裏側でサーバと通信を行う際には必ずと言っていいほどドメイン名が使用されているはずです。

ドメイン名を取得するのは一般的にはレジストラと呼ばれる登録業者に申請を送るだけなので、誰でも行うことができます。
ドメイン名が信用を担保する方法として用いられているのは、誰かが所有しているドメイン名を横取りできない、という点にあります。

> https://www.idcf.jp/rentalserver/user-support/knowledge/domain/use.html
ドメイン名の取得は、商標などに違反しない限りは先願制(＝早いもの勝ち)です。
同じドメイン名でも、レジストラによって登録・更新費用はさまざまです。
![](https://www.idcf.jp/rentalserver/user-support/knowledge/domain/images/use_02.png)

ただし、一般にはドメイン名を所有できる期限があるため、期限が切れたら他の人に所有権が移る可能性があります。
（なので、ドメインが既知のものであっても所有権が他に移ってしまっている場合にはフィッシングサイトである可能性がありますが、利用者側で毎回それを確認するのは大変なので諦めたほうがよさそう。）

> https://www.bbc.com/japanese/56897392
アルゼンチンでの米グーグルのドメイン「Google.com.ar」が先週、有効期限切れで約2時間使えなくなり、その間に270ペソ（約600円）で他人の手に渡る出来事があった。

ドメイン名の登録申請を受け付けるレジストラの不具合によって乗っ取られるといったこともあります。

> <https://piyolog.hatenadiary.jp/entry/2020/06/04/170423>
攻撃者がお名前.com Naviの不具合（脆弱性）を悪用し、アカウント奪取後にドメイン登録情報(whois DB)を変更した。
手口として、会員情報の登録メールアドレスを自身のものに変更。その後変更したパスワードを用い、アカウントのパスワードを変更。
奪取したアカウントへ不正アクセスし、ネームサーバーの設定からDNSサーバーを攻撃者のものに変更し、ドメイン名ハイジャックが行われた。

上記のような問題はあるものの、ドメイン名の管理はレジストラに申請するとレジストラが基本的にはうまくやってくれています。

一方でユーザのパソコンやスマホにはドメイン名をIPアドレス（コンピュータを識別するための番号）に変換する「名前解決」を行う仕組みが入っています。
「https://example.com」のようなURLにアクセスしたとき、外部のサーバに接続しにいくわけですが、そのときに接続先のコンピュータを知るために「名前解決」が行われます。
パソコンやスマホを使っていて、インターネットに繋がらなくなるといったトラブルが発生するときに起きている要因の1つとしてこの「名前解決」の失敗があるので知っておくといいかもしれません。

名前解決の仕組みはざっくりと言えばDNSサーバと呼ばれるコンピュータに問い合わせるだけです。
問い合わせる先のDNSサーバは色々ありますが、有名どころとしてはGoogleの提供するIPアドレス「8.8.8.8」のDNSサーバや、Cloudflareの提供する「1.1.1.1」のDNSサーバがあります。
インターネットの接続に失敗するトラブルにあったときに、DNSサーバをこれらに変更することで解決する可能性があります（DNSサーバが壊れてしまったなどの問題が起きている場合）。

> https://www.idcf.jp/rentalserver/user-support/knowledge/domain/dns.html
たとえば、クライアントが「zenlogic.jp」とWEBブラウザに入力すると、「zenlogic.jp」のサーバーを探すためにDNSサーバーに問い合わせに行きます。
そこで、「zenlogic.jp」のIPアドレスを知っているDNSサーバーがドメイン名をIPアドレスに変換して「203.137.3.234」を返します。
クライアントはそのIPアドレスを得て「zenlogic.jp」を運営しているWEBサーバーにアクセスし、ホームページを表示させることができるのです。
![](https://www.idcf.jp/rentalserver/user-support/knowledge/domain/images/dns_02.png)

実際にはもう少し細かい仕組みがあり、DNSサーバは以下のような階層構造になっていてユーザからは複数の問い合わせが行われます。

> https://www.idcf.jp/rentalserver/user-support/knowledge/domain/dns.html
DNSサーバーは名前解決の処理を分散化させるために、ドメイン名を「.（ドット）」で区切ったレベルで階層構造になっています。それぞれのDNSサーバーは、自身の下位にあるDNSサーバーの情報を管理しています。
名前解決を行う際には、一番上位にある「ルートサーバー」から順に問い合わせを行っていき、最終的に該当ドメイン名の情報を知っているDNSサーバーにたどり着くという仕組みになっています。
![](https://www.idcf.jp/rentalserver/user-support/knowledge/domain/images/dns_03.png)


## 書いてないこと

TLD, EV SSL
