Skip to content

Instantly share code, notes, and snippets.

@eiichi-worker
Last active June 7, 2017 01:15
Show Gist options
  • Select an option

  • Save eiichi-worker/04d71b03d7efc97dcd7b2d047fe19673 to your computer and use it in GitHub Desktop.

Select an option

Save eiichi-worker/04d71b03d7efc97dcd7b2d047fe19673 to your computer and use it in GitHub Desktop.
1000本ノック「DNS」

DNS

今日はあらためてDNS

Domain Name System
どめいん ねーむ しすてむ

http://example.com ってやつをもらってもPCはどこ(IP)にアクセスすればいいかわからない!! example.com(Domain)をIPに変換するのがDNS!

名前解決の例

  1. ブラウザ → DNSサーバー PCに設定されているDNSサーバーに問い合わせ example.comってなんですか
  2. DNSサーバー → ルートDNSサーバー DNSサーバーがexample.comを知らないときは更に上位のサーバーに問い合わせる
  3. ルートDNSサーバー → DNSサーバー example.comのIPをDNSサーバーに返す
  4. DNSサーバー → ブラウザ example.comのIPをDNSサーバーに返す
  5. ブラウザ もらったIPでHTTP通信を始める

DNSサーバーにはゾーンファイルが1個以上

Zoneファイル

  • SOA 何を管理しているか、自分のIPアドレス
  • NS ネームサーバーのホスト名とかIPとか
     - www NS IP とかするとwwwを管理するネームサーバーを設定できる

A www ホスト名
A @ サブドメインにたいしての指定

Domain → IP 正引き
IP → Domain 逆引き

Zoneファイル深掘り

  • SOA 必須

  • NS 必須

  • A ホスト名とIPv4

  • AAAA ホスト名とIPv6

  • CNAME カノニカルネーム(別名)

  • MX メールエクスチェンジ メールサーバーの設定 メールサーバーのIPとかドメイン名とプライオリティ

  • SPF センダーポリシーフレームワーク メールの送信元が正しいよ

  • TXT 昔はSPFがなかったのでメールが正しいよってやつをこっちに書いてることも多い

  • SRV 複数のサーバーを束ねたりする時に指定 Kubernetesとかでも使ったり使わなかったり

コラム  

  • AWSとかだとZoneApexという独自拡張でエイリアス機能が使えたりする
  • local IPを解決するZoneを構築しておいて社内用やテスト用にしたりできる

コマンド

dig DNSの確認

$ dig example.com
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment