LoginSignup
1
0

More than 3 years have passed since last update.

DNSへの問い合わせ方法とゾーンファイルについて

Last updated at Posted at 2019-09-17

名前解決とは

ドメイン名からIPアドレスへ変換すること
名前解決の設定は2箇所ある。

  • /etc/hosts
    • IPアドレスとホスト名を記述する
192.168.33.10 hogehoge.com
  • /etc/resolv.confファイル
    • ネームサーバを指定する。
      • 指定したネームサーバに問い合わせ名前解決を行う。
nameserver 10.0.2.3

DNSとは

ホスト名とIPアドレスの対応関係を行うシステムのことです。
ドメインという領域に分割してツリー構造で管理しています。

  • ルートドメイン
    • トップレベルドメイン
  • ドメイン名
    • 個々のドメインを指し示す文字列がドメイン名
  • FQDN
    • 全てのドメインを指定したドメインのこと

DNSサーバ2.png
参照: https://viral-community.com/other-it/dns-server-2477/

DNSの仕組み

フルリゾルバとネームサーバの2つからなる。

フルリゾルバ

ネームサーバに問い合わせを行うホストやソフトウェアのこと。
IPアドレスを調べるためにネームサーバに問い合わせ処理を行い、
それを受けたネームサーバーは自分のデータベースに情報があればそれを返すが、情報がない場合は下の階層のサーバに問い合わせ処理を行うようフルリゾルバに応答する。
そして、ドメインの木構造を上から順番にたどることで目的の情報があるネームサーバーを見つけ、そこから必要な情報を得る。

また、キャッシュDNSサーバともいい、一度確認したIPとドメインの対応を、一定期間自身の中にキャッシュする。
そして、どれくらいキャッシュさせておくかは、各ネームサーバのゾーンファイルのTTLで設定されている。

ネームサーバ

権威DNSサーバ、コンテンツDNSサーバともいう。
ネームサーバが設置された階層のドメインに関する情報を管理する。
そして、IPアドレスの検索はルートネームサーバーから順番に行われる。

DNSサーバー.png
参照: https://qiita.com/hypermkt/items/610b5042d290348a9dfa

AWSのRoute53

Route53は、このDNSのネームサーバを自身で管理するためのサービス。

DNSへの問い合わせ方法

nslookupコマンド

DNSサーバへの問い合わせを行い、問い合わせ先をキャッシュサーバかネームサーバかを指定できる。

# googleのIPアドレスを取得
nslookup www.google.com

Server:         10.0.2.3
Address:        10.0.2.3#53

Non-authoritative answer:
Name:   www.google.com
Address: 172.217.25.68

digコマンド

dig www.google.com

; <<>> DiG 9.10.6 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8688
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.com.                        IN      A

;; ANSWER SECTION:
www.google.com.         139     IN      A       172.217.25.68

;; Query time: 8 msec
;; SERVER: 192.168.100.1#53(192.168.100.1)
;; WHEN: Sun Jun 23 21:36:56 JST 2019
;; MSG SIZE  rcvd: 48

ゾーンファイル

ドメインとIPの対応表のこと。
DNSレコードとは、ゾーンファイル1つ1つの対応のこと。

DNSレコード一覧

「hogehoge.comのIPアドレスは〇〇」という以外にも、様々な役割を持ったDNSレコードが存在する。

SOAレコード

ドメインの管理情報を示すレコード。

  • ドメインのDNSサーバ名
  • ドメイン管理者のアドレス
  • expire
    • ゾーン情報を最新と確認できない場合の有効時間を秒で指定する
  • TTL
    • ゾーン情報をキャッシュする場合の有効時間を秒で指定する

などの情報が記録される。

NSレコード

ドメイン自身およびサブドメインのネームサーバを記述する。

名前 タイプ RDATA
hoge.jp NS ns-721.awsdns-26.net. ns-270.awsdns-33.com.
full A 192.168.0.1
fuga A 192.168.0.2

Aレコード

ホストのIPアドレスを指定する。


hoge.jpのIPアドレスが知りたい場合。

.jpのネームサーバ

名前 タイプ RDATA
hoge A 192.168.0.1
fuga A 192.168.0.2

192.168.0.1であることが分かる。

PRTレコード

IPアドレスからドメインを参照するためのレコード。

CNAMEレコード

ドメイン名の別名を指定するためのレコード。
例えば、hoge.comのドメインに対して

  • CNAMEでhuga.comが指定されている
  • huga.comにはAレコードで1.1.1.1というIPアドレスが指定されている

である場合、hoge.com→huga.com→1.1.1.1という経路をたどって、IPアドレスが1.1.1.1サーバのコンテンツを取得することができる。

ドメインに対してCNAMEを設定すると、Aレコードのみではなく、MXレコードもNSレコードも全てCNAMEで設定した先の情報を参照する。


www.hoge.jpのIPアドレスを知りたい場合。
hoge.jpのゾーンファイル。

名前 タイプ RDATA
huga A 192.168.0.1
www CNAME huga
ftp CNAME hugo

192.168.0.1が返ってくる。

参考資料

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0