今回はインフラエンジニアじゃなくてもDNSとはなにか、
DNSレコードの種類を口頭で素早く言えるか、
自分なりにブログしていきたいと思います。

※ちなみに個人で自宅DNSサーバ構築しているブログを見つけたw(3年前!?)

[bind9]自宅LAN向けDNSサーバの構築


■DNS(Domain Name System)の歴史

もともとアプリケーション層が機能するための
サポートプロトコルで有名なのがDNS。
かつてはマシン名とマシンのアドレスを分離するためのASCII名(アスキー)
導入されたのだが、ネットワーク自信がバイナリーアドレスしか理解できないので、
ASCII文字列をネットワークアドレスに変換する機構が必要になった。

・ARPANETの時代では

https://ja.wikipedia.org/wiki/ARPANET

ARPANETの時代では単純なファイルhosts.txtがすべてのホストと対応するIPアドレスをリストし、
毎晩すべてのホストが保持するサイトから取っていった。数百台のネットワークなら実用的な
アプローチだったのだが、数千台の場合ヤバイのではないかと・・・
そして、ホスト名を集中的に管理しない限りホスト名の衝突が絶えず起こる。
例えば国際ネットワークでは負荷と遅延の問題からホスト名を集中管理するなど考えられないので、
この問題を解決したのがDNS!


■DNSのエッセンス

階層的なドメインベースの名前付け手法と分散データベースシステムの発明。
DNSは主にホスト名と電子メールの宛先をIPアドレスにマッピングするのに利用される。
DNSはRFC1034と1035で定義され、利用方法としては名前をIPアドレスに対応付けするために
パラメータとしてresolverと呼ばれるライブラリ手続きを呼び出す。
resolverはUDPパケットをローカルのDNSサーバに送り、名前を探し、IPアドレスをresolverに返す。
relsolverは呼び戻し元にそのIPアドレスを返す。


■DNS名前空間

top-level domainICANN(Internet Corporation for Assigned Names ans Numbers)
と呼ばれる組織によって管理されている。
一般トップレベルドメインの開始年は以下の図より。
ちなみにここらへんを語るとくそ長くなるので省略しますw


■資源レコードとは

上記の図の通り種類があり、 スタードメインではこのうちA、AAAA、CNAME、TXT、MXが編集可能。

・SOAレコード
権限の開始でゾーン用のパラメータ

・Aレコード(エーレコード。AはAddressの頭文字)
IPv4のホストのアドレスで32ビット整数
(例) apple.com. A 17.149.160.49

・AAAAレコード(クワッドエーレコード)
Ipv6のホストのアドレスで128ビット整数

・MXレコード(エムエックスレコード。Mail eXchangeの略)
まさにメール用
(例) apple.com. MX(10) mail.apple.com.
(MX後のかっこ内が優先度↑ 20、30と増えるほど優先度が下がる)
※MXレコードはAレコードとセットで設定すること

・NSレコード(エヌエスレコード。Name Serverの略)
名前サーバでサブドメインの問合せ用
このドメインのことはこっちで聞いてねと丸投げする感じ。
(例) apple.com. NS ns.apple.com.

・CNAMEレコード(シーネームレコード。Canonical NAMEの略)
このドメイン名とこのドメイン名は同じだよという正規名
(例) www.apple.com. CNAME apple.com.

・PTRレコード(ピーティーアールレコード。PoinTeRの略)
Aレコードの逆。IPアドレスとは別名でポインタなんだけど、
bind9とかのゾーンファイルでIPアドレスに対応するドメイン名が書かれている行。
(例) aaa.bbb.ccc.ddd.in-addr.arpa. 86400 IN PTR ns.example.com.

・TXTレコード(テキストレコード。Textの略)
SPFレコード(Sender Policy Framework)とかSenderIDとも呼ばれ「なりすましメール」を防ぐ。
ちなみに値はASCIIなのでクソムズイ。
(例) IN TXT “v=spf1 a:example.com ~all”


■ちなみにblog.adachin.meはどうなっているのか


AレコードなのでホストのIPアドレスが指定されています。
mydnsさんお世話になっていますw

■まとめ

レコード系は理解してないとドメイン移行とかするとき、
わけわからんことになりますね。
にしてもDNSの歴史は奥が深い。。。

参考
コンピュータネットワーク 第5版

The following two tabs change content below.

あだちん

1989年生まれ。 ランサーズ/SRE。 2013年新卒に自宅サーバを構築し、技術ブログを立ち上げた。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、他社インフラレスポンス改善、ランサーズにてサーバ系のお仕事も副業で行っている。未経験によるエンジニア勉強会なども実施している。そして「脆弱性スキャナVuls」のOSS活動もしており、広報/エバンジェリスト/VulsRepo init file,chatwork通知のコントリビュータでもある。現在は分析基盤を担当しておりDigdag,embulk,BigQueryを使いこなそうと奮闘中。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください