DNSチュートリアル - 初 心 者 のためのDNS 運 用 入 門 - 2015 年 1 月 14 日 JANOG35 Meeting 株 式 会 社 日 本 レジストリサービス(JPRS) 久 保 田 秀 Copyright 2015 株 式 会 社 日 本 レジストリサービス 1
本 日 の 内 容 1. DNSの 基 礎 知 識 とトラブルシューティングの 基 本 DNSの 全 体 構 成 区 別 すべき2 種 類 のDNSサーバー/ 問 い 合 わせ トラブルシューティングの 基 本 2. 道 具 の 使 い 方 コマンドラインツールの 使 い 方 便 利 なWebサービスの 紹 介 3. よくあるトラブル 事 例 とトラブルシューティング 設 定 がうまくいかない 名 前 が 引 けない 名 前 を 引 くのに 時 間 がかかる Copyright 2015 株 式 会 社 日 本 レジストリサービス 2
ポイントと 想 定 する 対 象 者 DNSに 関 するツールやトラブルシューティング 事 例 を 紹 介 コマンドラインツールとWebサービス トラブルシューティングについて 具 体 例 を 挙 げながら 解 説 対 象 DNSサーバーをこれから 運 用 される 方 DNSサーバーの 運 用 を 始 めて 間 もない 初 学 技 術 者 の 方 そして 初 学 技 術 者 ではない 方 々の 知 識 のおさらい 再 確 認 社 内 セミナーの 資 料 としても 活 用 可 能 かと 思 います Copyright 2015 株 式 会 社 日 本 レジストリサービス 3
まずは おさらいとして 1. DNSの 基 礎 知 識 と トラブルシューティングの 基 本 Copyright 2015 株 式 会 社 日 本 レジストリサービス 4
区 別 すべき2 種 類 のDNSサーバー DNSには DNSの 階 層 構 造 を 構 成 する( 分 散 管 理 ) DNSの 階 層 構 造 をたどる( 名 前 解 決 ) という 2つの 役 割 がある DNSサーバー にはそれぞれの 役 割 を 担 当 する 1. 権 威 DNSサーバー 階 層 構 造 を 構 成 2. キャッシュDNSサーバー 階 層 構 造 をたどる の 2 種 類 が 存 在 する キャッシュ DNSサーバー クライアント ユーザー example.jp サーバー JP サーバー example2.jp サーバー kr サーバー クエリ 応 答 権 威 DNSサーバー ルート サーバー net サーバー example3.jp サーバー Copyright 2015 株 式 会 社 日 本 レジストリサービス 5
DNSの 全 体 構 成 権 威 DNSサーバー キャッシュ DNSサーバー ルート TLD (.jp,.net,.com ) クライアント SLD ( 各 組 織 ) クエリ 応 答 Copyright 2015 株 式 会 社 日 本 レジストリサービス 6
区 別 すべき2 種 類 のクエリ 権 威 DNSサーバー キャッシュ DNSサーバー ルート TLD (.jp,.net,.com ) クライアント SLD ( 各 組 織 ) クエリ 応 答 Copyright 2015 株 式 会 社 日 本 レジストリサービス 7
区 別 すべき2 種 類 のクエリ クライアントからキャッシュDNSサーバーへのクエリ キャッシュDNSサーバーから 権 威 DNSサーバーへのクエリ この2 種 類 のクエリを 明 確 に 区 別 することがすべての 基 本 DNSの 動 作 の 理 解 トラブルシューティング 権 威 DNSサーバー ルート キャッシュ DNSサーバー TLD (.jp,.net,.com ) クエリ 応 答 クライアント 2LD( 各 組 織 ) Copyright 2015 株 式 会 社 日 本 レジストリサービス 8
区 別 すべき2 種 類 のクエリ 実 行 実 際 に 名 前 引 くよ! 権 威 DNSサーバー ルート キャッシュ DNSサーバー 依 頼 名 前 解 決 おねがい! TLD (.jp,.net,.com ) SLD( 各 組 織 ) 2つの 違 い ビットのオン オフ クエリ 応 答 区 別 しないと 調 査 の 際 問 題 の 切 り 分 けができない どの 部 分 が 問 題 か?どの 部 分 を 調 べているのか? Copyright 2015 株 式 会 社 日 本 レジストリサービス 9
再 帰 的 クエリ(recursive query) Header RD=1 Header RD=0 Question www.example.jp/a Question www.example.jp/a クライアント 再 帰 的 クエリ キャッシュDNS サーバー 非 再 帰 的 クエリ 権 威 DNS サーバー クライアントからキャッシュDNSサーバーへのクエリ クエリ 中 のRDビットがセットされている クライアントはRDビットをセットしたクエリを 送 信 することにより キャッシュDNSサーバーに 階 層 構 造 をたどらせる これを 名 前 解 決 要 求 という Copyright 2015 株 式 会 社 日 本 レジストリサービス 10
非 再 帰 的 クエリ(non-recursive query) Header RD=1 Header RD=0 Question www.example.jp/a Question www.example.jp/a クライアント 再 帰 的 クエリ キャッシュDNS サーバー 非 再 帰 的 クエリ 権 威 DNS サーバー キャッシュDNSサーバーから 権 威 DNSサーバーへのクエリ クエリ 中 のRDビットがセットされていない クライアントからの 名 前 解 決 要 求 によって 発 生 する 再 帰 的 クエリと 同 じ 内 容 がRDビットをクリアした 上 で 送 信 される 非 再 帰 的 クエリが 発 生 するかはキャッシュの 有 無 に 左 右 される Copyright 2015 株 式 会 社 日 本 レジストリサービス 11
[ 補 足 ]キャッシュ 機 能 クライアント 再 帰 的 クエリ キャッシュDNS サーバー 非 再 帰 的 クエリ 権 威 DNS サーバー キャッシュ キャッシュDNSサーバーは 名 前 解 決 の 結 果 をキャッシュとして 蓄 積 している クライアントからの 名 前 解 決 要 求 があった 際 にキャッシュを 利 用 し 名 前 解 決 処 理 を 高 速 / 簡 略 化 Copyright 2015 株 式 会 社 日 本 レジストリサービス 12
キャッシュDNSサーバーにキャッシュがない 場 合 クエリ 応 答 キャッシュ DNSサーバー 権 威 DNSサーバー ルート www.example.jp のキャッシュなし www.example.jp/a JP サーバー TLD (.net,.com ) 2LD ( 各 組 織 ) example.jp サーバー キャッシュDNSサーバーと 権 威 DNSサーバー 群 の 間 で 反 復 検 索 が 行 われる Copyright 2015 株 式 会 社 日 本 レジストリサービス 13
キャッシュDNSサーバーにキャッシュがある 場 合 (1) キャッシュ DNSサーバー キャッシュ クエリ 応 答 権 威 DNSサーバー ルート www.example.jp のキャッシュあり www.example.jp/a JP サーバー TLD (.jp,.net,.com ) 2LD ( 各 組 織 ) example.jp サーバー クライアントから キャッシュDNS サーバーへ 問 い 合 わせが 行 われ キャッシュを 元 に 応 答 が 返 される Copyright 2015 株 式 会 社 日 本 レジストリサービス 14
キャッシュDNSサーバーにキャッシュがある 場 合 (2) キャッシュ DNSサーバー キャッシュ クエリ 応 答 example.jp のキャッシュ はあるけど www2.example.jp の キャッシュはない 権 威 DNSサーバー JP サーバー ルート TLD (.jp,.net,.com ) www2.example.jp/a 2LD ( 各 組 織 ) example.jp サーバー example.jp のキャッシュはあるが www.example.jp のキャッシュなし example.jp に 問 い 合 わせ Copyright 2015 株 式 会 社 日 本 レジストリサービス 15
ここまでのまとめ 権 威 DNSサーバー DNSサーバーの 階 層 構 造 を 構 成 通 常 クライアントは 直 接 利 用 しない キャッシュDNSサーバー クライアントが 直 接 利 用 する 名 前 解 決 の 結 果 をしばらく 保 持 する(キャッシュ 機 能 ) キャッシュを 利 用 し 名 前 解 決 処 理 を 高 速 / 簡 略 化 クライアントからのクエリを 受 ける 再 帰 的 クエリ / RDビット = 1 キャッシュにあれば そこから 応 答 を 返 す キャッシュになければ 非 再 帰 クエリを 発 行 して その 結 果 を 返 す 非 再 帰 的 クエリ / RDビット = 0 再 帰 的 クエリのRDビットをクリアし 同 じ 内 容 にて 非 再 帰 クエリを 発 行 する Copyright 2015 株 式 会 社 日 本 レジストリサービス 16
トラブルシューティングの 基 本 Where? - 原 因 はどこか? 手 元 のキャッシュDNSサーバーか? 権 威 DNSサーバーのいずれかか? 各 DNSサーバーまでのネットワークか? How? - どこをどう 調 べればよいか? どんなツールやWebサービスを 使 えばよいか? 調 査 の 際 には 再 帰 的 クエリ と 非 再 帰 的 クエリ を 明 確 に 区 別 すべき 調 査 対 象 がキャッシュDNSサーバーか? 権 威 DNSサーバーか? それぞれのサーバーに 合 った 形 での 調 査 が 必 要 digコマンドの 使 い 方 など 以 降 で 詳 しく 説 明 します Copyright 2015 株 式 会 社 日 本 レジストリサービス 17
トラブルシューティングの 心 構 え キャッシュDNSサーバーの 気 持 ちになって 考 える 権 威 DNSサーバーからの 応 答 の 意 味 を 考 える 権 威 DNSサーバの 応 答 を 読 み 解 く 必 要 がある その 道 具 がdig/drill 全 体 を 俯 瞰 するのには 向 かない 目 的 に 合 った 道 具 を 選 ぶ キャッシュDNSサーバーの 気 持 ちになる dig/drill 全 体 を 俯 瞰 する Squish.net DNS traversal checker dnscheck.jp Copyright 2015 株 式 会 社 日 本 レジストリサービス 18
トラブル 解 決 に 役 立 つ 2. 道 具 の 使 い 方 Copyright 2015 株 式 会 社 日 本 レジストリサービス 19
調 査 の 基 本 どのコマンドを 使 うべきか? DNSサーバーにクエリを 送 り 調 査 する リクエストに 関 するパラメーターを 細 かく 調 整 して 応 答 を 調 査 する 基 本 はコマンドラインツール nslookup コマンド は 使 うべきでない クエリの 細 かいパラメーターが 指 定 不 可 応 答 のフラグやセクションの 情 報 を 得 ることができない では 何 を 使 うか? digコマンド drillコマンド Copyright 2015 株 式 会 社 日 本 レジストリサービス 20
nslookupとdigの 違 い nslookup dig $ nslookup jprs.co.jp Server: 192.0.2.12 Address: 192.0.2.12 #53 Non-authoritative answer: Name: jprs.co.jp Address: 202.11.16.167 $ dig jprs.co.jp ; <<>> DiG 9.9.2-P2 <<>> jprs.co.jp ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41096 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 6 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;jprs.co.jp. IN A ;; ANSWER SECTION: jprs.co.jp. 13883 IN A 202.11.16.167 ;; AUTHORITY SECTION: jprs.co.jp. 61085 IN NS ns2.jprs.co.jp. jprs.co.jp. 61085 IN NS ns1.jprs.co.jp. jprs.co.jp. 61085 IN NS ns3.jprs.co.jp. 情 報 量 の 差 ;; ADDITIONAL SECTION: ns1.jprs.co.jp. 26393 IN A 202.11.16.49 ns1.jprs.co.jp. 74734 IN AAAA 2001:df0:8::a153 ns2.jprs.co.jp. 71604 IN A 202.11.16.59 ns2.jprs.co.jp. 53612 IN AAAA 2001:df0:8::a253 ns3.jprs.co.jp. 73366 IN A 61.200.83.204 ;; Query time: 1 msec ;; SERVER: 192.0.2.12#53(203.0.113.12) ;; WHEN: Wed Jul 17 21:08:42 2013 ;; MSG SIZE rcvd: 213 Copyright 2015 株 式 会 社 日 本 レジストリサービス 21
digコマンドとdrillコマンド dig コマンド BIND 9 に 付 属 するコマンド 実 行 例 : $ dig +dnssec @192.0.2.53 example.jp. SOA drill コマンド Unboundで 用 いられているライブラリ ldns に 付 属 するコマンド 実 行 例 : $ drill -D example.jp. @192.0.2.53 SOA 本 日 はdigコマンドを 用 いた 解 説 をします Copyright 2015 株 式 会 社 日 本 レジストリサービス 22
digとdrill の 違 い dig drill $ dig @localhost jprs.co.jp ; <<>> DiG 9.10.0-P1 <<>> +noedns @localhost jprs.co.jp ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63069 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 5 ;; QUESTION SECTION: ;jprs.co.jp. IN A ;; ANSWER SECTION: jprs.co.jp. 86374 IN A 202.11.16.167 ;; AUTHORITY SECTION: jprs.co.jp. 86373 IN NS ns2.jprs.co.jp. jprs.co.jp. 86373 IN NS ns1.jprs.co.jp. jprs.co.jp. 86373 IN NS ns3.jprs.co.jp. ;; ADDITIONAL SECTION: ns1.jprs.co.jp. 86373 IN A 202.11.16.49 ns1.jprs.co.jp. 86373 IN AAAA 2001:df0:8::a153 ns2.jprs.co.jp. 86373 IN A 202.11.16.59 ns2.jprs.co.jp. 86373 IN AAAA 2001:df0:8::a253 ns3.jprs.co.jp. 86373 IN A 61.200.83.204 $ drill @localhost jprs.co.jp ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 54357 ;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 5 ;; QUESTION SECTION: ;; jprs.co.jp. IN A ;; ANSWER SECTION: jprs.co.jp. 86205 IN A 202.11.16.167 ;; AUTHORITY SECTION: jprs.co.jp. 86205 IN NS ns3.jprs.co.jp. jprs.co.jp. 86205 IN NS ns1.jprs.co.jp. jprs.co.jp. 86205 IN NS ns2.jprs.co.jp. ;; ADDITIONAL SECTION: ns1.jprs.co.jp. 86205 IN A 202.11.16.49 ns1.jprs.co.jp. 86205 IN AAAA 2001:df0:8::a153 ns2.jprs.co.jp. 86205 IN A 202.11.16.59 ns2.jprs.co.jp. 86205 IN AAAA 2001:df0:8::a253 ns3.jprs.co.jp. 86205 IN A 61.200.83.204 ;; Query time: 0 msec ;; SERVER: 127.0.0.1 ;; WHEN: Fri Jun 20 01:36:22 2014 ;; MSG SIZE rcvd: 202 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: 火 6 月 24 06:12:09 JST 2014 ;; MSG SIZE rcvd: 202 Copyright 2015 株 式 会 社 日 本 レジストリサービス 23
dig コマンドが 使 える 環 境 Unix 系 OS ほとんどの 環 境 で 標 準 添 付 FreeBSD 10 以 降 では ベースシステムから 削 除 drill(1)コマンドを 用 いるか ports/pkg からインストール(dns/bind-tools) OS Xにも 標 準 添 付 Windows Windows 版 BIND 9のバイナリキットに 含 まれている 開 発 元 のISCが 無 償 で 公 開 Copyright 2015 株 式 会 社 日 本 レジストリサービス 24
dig コマンド 使 い 方 $ dig +norec @192.0.2.53 example.jp. SOA 重 要 なオプション RD bit オン = 階 層 構 造 をたどって = +recurse または +rec オフ オプション DNSサーバー 対 象 ドメイン 名 クエリタイプ = 持 ってる 情 報 を 教 えて = +norecurse または +norec RD bit = Recursion Desired bit クエリタイプ A NS SOA ANY サーバーに 対 して DNSの 階 層 構 造 をたどって! と 伝 えるために クラ イアント 側 でセット digコマンドやdrillコマンドではデフォルトでオン 問 合 せる 内 容 ホストのIPアドレス 対 象 ドメイン 名 のネームサーバー 対 象 ドメイン 名 のゾーンの 設 定 情 報 対 象 ドメイン 名 の 全 ての 情 報 権 威 DNSサーバーに 対 してリクエストを 送 信 する( 権 威 DNSサーバーの 動 作 を 調 べる) 場 合 には オフにしておくこと Copyright 2015 株 式 会 社 日 本 レジストリサービス 25
RD bit と +norec の 関 係 非 再 帰 的 クエリ キャッシュ DNSサーバー RD bit オフ +norec オプション 権 威 DNSサーバー ルート TLD (.jp,.net,.com ) クライアント 2LD ( 各 組 織 ) クエリ 応 答 再 帰 的 クエリ RD bit オン +norec なし Copyright 2015 株 式 会 社 日 本 レジストリサービス 26
dig コマンド +rec / +norec の 使 いどころ(1) 顧 客 や 組 織 内 の 利 用 者 から 引 けない! と 連 絡 が 来 たとき キャッシュDNSサーバーの 状 況 を 調 査 する 際 に 使 用 +rec をつけての 調 査 から 開 始 クライアントとキャッシュDNSサーバーとの 通 信 は 問 題 なさそうなら 権 威 DNSサーバーか その 経 路 がおかしい? +norec で 各 権 威 DNSサーバーの 調 査 を 開 始 キャッシュ DNSサーバー 権 威 DNSサーバー ルート クエリ 応 答 ここから 調 査 開 始 名 前 が 引 け ないよ! TLD (.jp,.net,.com ) 2LD ( 各 組 織 ) Copyright 2015 株 式 会 社 日 本 レジストリサービス 27
dig コマンド +rec / +norec の 使 いどころ(2) 顧 客 から 登 録 したドメイン 名 が 利 用 できない と 連 絡 がきたとき 権 威 DNSサーバー の 設 定 不 具 合? +norec をつけて 権 威 DNSサーバーから 調 査 開 始 特 定 のキャッシュDNSサーバーのみおかしい? +rec をつけて 該 当 のキャッシュDNSサーバーを 調 査 権 威 DNSサーバー キャッシュ DNSサーバー ルート クエリ 応 答 example.jp 登 録 したのに 使 えない! TLD (.jp,.net,.com ) 2LD ( 各 組 織 ) ここから 調 査 開 始 example.jp サーバー Copyright 2015 株 式 会 社 日 本 レジストリサービス 28
[ 補 足 ] ネガティブキャッシュとは 顧 客 から 登 録 したドメイン 名 が 利 用 できない と 連 絡 がきたとき 顧 客 が 利 用 するキャッシュDNSサーバー 以 外 は 名 前 が 引 ける ネガティブキャッシュが 原 因 かも? ネガティブキャッシュとは? そのドメイン 名 は 存 在 しない その 情 報 は 存 在 しない という 情 報 のキャ ッシュ ドメイン 名 の 登 録 設 定 ( 親 ゾーンからの 委 任 の 設 定 )が 行 われる 前 に 名 前 を 引 こうとすると ネガティブキャッシュが 残 ってしまう RFC2308 - Negative Caching of DNS Queries (DNS NCACHE) (DNSクエリのネガティブキャッシュ) Copyright 2015 株 式 会 社 日 本 レジストリサービス 29
dig コマンド 出 力 の 読 み 方 $ dig +norec @ns1.jprs.jp jprs.jp ; <<>> DiG 9.9.2-P2 <<>> +norec @ns1.jprs.jp jprs.jp ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34174 ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 5 ;; QUESTION SECTION: ;jprs.jp. IN A ;; ANSWER SECTION: jprs.jp. 86400 IN A 202.11.16.167 ;; AUTHORITY SECTION: jprs.jp. 86400 IN NS ns2.jprs.jp. jprs.jp. 86400 IN NS ns3.jprs.jp. jprs.jp. 86400 IN NS ns1.jprs.jp. 特 に 注 目 ヘッダー Question Answer Authority ;; ADDITIONAL SECTION: ns1.jprs.jp. 86400 IN A 202.11.16.49 ns1.jprs.jp. 86400 IN AAAA 2001:df0:8::a153 ns2.jprs.jp. 86400 IN A 202.11.16.59 ns2.jprs.jp. 86400 IN AAAA 2001:df0:8::a253 ns3.jprs.jp. 86400 IN A 61.200.83.204 ;; Query time: 1 msec ;; SERVER: 203.0.113.12#53(203.0.113.12) ;; WHEN: Thu May 02 15:20:20 2013 ;; MSG SIZE rcvd: 199 Additional 応 答 時 間 サーバーの IPアドレス サイズなど Copyright 2015 株 式 会 社 日 本 レジストリサービス 30
dig コマンド 出 力 の 読 み 方 (ヘッダー)(1/2) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34174 ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 5 ヘッダの 内 容 各 セクションに 関 する 情 報 やステータス フラグなどを 格 納 主 な status (RCODE: 応 答 コード) NOERROR 正 常 な 応 答 ( 該 当 するタイプがない 場 合 も 含 む) FORMERR DNSメッセージのフォーマットが 不 正 SERVFAIL DNSサーバー 側 の 異 常 NXDOMAIN リクエストされた 名 前 が 存 在 しない REFUSED リクエストが 拒 否 された Copyright 2015 株 式 会 社 日 本 レジストリサービス 31
dig コマンド 出 力 の 読 み 方 (ヘッダー)(2/2) ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34174 ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 5 注 目 すべき 主 な flags (ヘッダなどに 含 まれるビット) qr: 応 答 であることを 示 す(Query / Response) dig/drill コマンドの 出 力 ( 応 答 )では 通 常 オン aa: 権 威 を 持 つ 応 答 であることを 示 す(Authoritative Answer) 通 常 問 い 合 わせたゾーンの 権 威 DNSサーバーからの 応 答 はオン キャッシュDNSサーバーからの 応 答 や 他 の 権 威 DNSサーバーに 委 任 していることを 示 す 応 答 ではオフ ra: 再 帰 検 索 要 求 が 処 理 可 能 なことを 示 す(Recursion Available) 通 常 キャッシュDNSサーバーからの 応 答 ではオン tc: 応 答 の 一 部 が 切 り 捨 てられたことを 示 す(TrunCation) TCPに 切 り 替 えて(TCPフォールバック) 再 度 問 い 合 わせる 必 要 がある digコマンドは 自 動 的 にTCPフォールバックするため 通 常 は 表 示 されない ( +ignore オプション で 抑 制 できる) Copyright 2015 株 式 会 社 日 本 レジストリサービス 32
[ 補 足 ] TCPフォールバック DNS の 512bytes の 壁 応 答 はできるだけ 512 bytes 以 下 に 収 め UDP で 送 信 できる のがよい 近 頃 のトレンド: 応 答 サイズの 増 大 どうなる? IPv6 DNSSEC spam 対 策 (SPF 情 報 :TXTレコード) 最 初 に UDP で 問 い 合 わせて 512 bytes に 収 まらないことが 分 かったら TCP で 再 度 問 い 合 わせる 再 問 い 合 わせの 分 遅 くなる Copyright 2015 株 式 会 社 日 本 レジストリサービス 33
dig コマンド 出 力 の 読 み 方 (Question) ;; QUESTION SECTION: ;jprs.jp. IN A Question セクションの 内 容 問 い 合 わせた 内 容 ( 名 前 型 )がそのままコピーされている $ dig +norec @ns1.jprs.jp jprs.jp Copyright 2015 株 式 会 社 日 本 レジストリサービス 34
dig コマンド 出 力 の 読 み 方 (Answer) ;; ANSWER SECTION: jprs.jp. 86400 IN A 202.11.16.167 Answerセクション 問 い 合 わせた 内 容 に 対 応 するリソースレコードセット(RRSet)が 格 納 される RRset : その 名 前 に 存 在 する 当 該 リソースレコードのセット 問 い 合 わせた 名 前 /タイプが 存 在 しない 場 合 や 他 のDNSサーバーにゾーンが 委 任 されている 場 合 は 空 Copyright 2015 株 式 会 社 日 本 レジストリサービス 35
dig コマンド 出 力 の 読 み 方 (Authority) ;; AUTHORITY SECTION: jprs.jp. 86400 IN NS ns2.jprs.jp. jprs.jp. 86400 IN NS ns3.jprs.jp. jprs.jp. 86400 IN NS ns1.jprs.jp. Authorityセクション 権 威 を 持 っているDNSサーバーの 情 報 が 格 納 される 問 い 合 わせた 名 前 /タイプが 存 在 しないことを 示 す 場 合 SOA RRが 格 納 される 委 任 応 答 の 場 合 委 任 先 の 権 威 DNSサーバーのホスト 名 (NS)が 格 納 される Copyright 2015 株 式 会 社 日 本 レジストリサービス 36
dig コマンド 出 力 の 読 み 方 (Additional) ;; ADDITIONAL SECTION: ns1.jprs.jp. 86400 IN A 202.11.16.49 ns1.jprs.jp. 86400 IN AAAA 2001:df0:8::a153 ns2.jprs.jp. 86400 IN A 202.11.16.59 ns2.jprs.jp. 86400 IN AAAA 2001:df0:8::a253 ns3.jprs.jp. 86400 IN A 61.200.83.204 Additionalセクション 付 加 的 な 情 報 が 格 納 される Authorityセクションに 含 まれるDNSサーバーのA AAAA RRなど 委 任 応 答 で 委 任 先 が 内 部 名 の 場 合 グルーレコードと 呼 ばれる Copyright 2015 株 式 会 社 日 本 レジストリサービス 37
dig コマンド 出 力 例 (1) $ dig +norec @ns1.jprs.jp jprs.jp PTR ; <<>> DiG 9.9.2-P2 <<>> +norec @ns1.jprs.jp jprs.jp PTR ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15556 ;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;jprs.jp. IN PTR (2)Answerセクションなし (1)ステータスは NOERROR ;; AUTHORITY SECTION: jprs.jp. 86400 IN SOA ns1.jprs.co.jp. postmaster.jprs.co.jp. 1402803013 3600 900 (3)AuthorityセクションにSOAレコード 1814400 86400 ヘッダー Question Authority ;; Query time: 1 msec ;; SERVER: 203.0.113.12#53(203.0.113.12) ;; WHEN: Thu May 02 15:20:20 2013 ;; MSG SIZE rcvd: 199 応 答 時 間 サーバーの IPアドレス サイズなど 問 い 合 わせた 名 前 は 存 在 するが タイプが 存 在 しないケース Copyright 2015 株 式 会 社 日 本 レジストリサービス 38
dig コマンド 出 力 例 (2) $ dig +norec @ns1.jprs.jp nameerror.jprs.jp ; <<>> DiG 9.9.2-P2 <<>> +norec @ns1.jprs.jp nameerror.jprs.jp ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 32704 ;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;nameerror.jprs.jp. IN A (2)Answerセクションなし (1)ステータスは NXDOMAIN ;; AUTHORITY SECTION: jprs.jp. 86400 IN SOA ns1.jprs.co.jp. postmaster.jprs.co.jp. 1402803013 3600 900 (3)AuthorityセクションにSOAレコード 1814400 86400 ヘッダー Question Authority ;; Query time: 1 msec ;; SERVER: 203.0.113.12#53(203.0.113.12) ;; WHEN: Thu May 02 15:20:20 2013 ;; MSG SIZE rcvd: 199 応 答 時 間 サーバーの IPアドレス サイズなど 問 い 合 わせた 名 前 自 体 が 存 在 しないケース Copyright 2015 株 式 会 社 日 本 レジストリサービス 39
dig コマンド 結 果 が 違 う? % dig @localhost jprs.co.jp ; <<>> DiG 9.10.0-P1 <<>> @localhost jprs.co.jp ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19999 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 6 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;jprs.co.jp. IN A ;; ANSWER SECTION: jprs.co.jp. 86400 IN A 202.11.16.167 ;; AUTHORITY SECTION: jprs.co.jp. 86400 IN NS ns1.jprs.co.jp. jprs.co.jp. 86400 IN NS ns2.jprs.co.jp. jprs.co.jp. 86400 IN NS ns3.jprs.co.jp. ;; ADDITIONAL SECTION: ns1.jprs.co.jp. 86400 IN A 202.11.16.49 ns1.jprs.co.jp. 86400 IN AAAA 2001:df0:8::a153 ns2.jprs.co.jp. 86400 IN A 202.11.16.59 ns2.jprs.co.jp. 86400 IN AAAA 2001:df0:8::a253 ns3.jprs.co.jp. 86400 IN A 61.200.83.204 ;; Query time: 934 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Jun 20 00:40:21 JST 2014 ;; MSG SIZE rcvd: 213 % dig @localhost jprs.co.jp ; <<>> DiG 9.10.0-P1 <<>> @localhost jprs.co.jp ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27868 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;jprs.co.jp. IN A ;; ANSWER SECTION: jprs.co.jp. 86400 IN A 202.11.16.167 ;; Query time: 238 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Jun 20 00:49:54 JST 2014 ;; MSG SIZE rcvd: 55 AUTHORITY SECTION ADDITIONAL SECTION がない キャッシュDNSのサーバーの 実 装 設 定 による 右 の 例 はキャッシュDNSサーバーにBIND 9を 用 い minimal-responses オプションを 有 効 にした 場 合 Copyright 2015 株 式 会 社 日 本 レジストリサービス 40
調 査 に 使 えるWebサービス DNSの 設 定 などを GUIで 可 視 化 チェック 可 能 ここでは2 種 類 のツールを 紹 介 します(この 他 にもあります) Squish.net DNS traversal checker( 個 人 提 供 :James 氏 ) DNS 可 視 化 ツール 応 答 のおかしいDNSサーバーなどを 調 べることが 可 能 dnscheck.jp(jprs 提 供 ) 指 定 したドメイン 名 のDNS 設 定 が 適 切 かどうかをチェックできる ドメイン 名 に 加 え 権 威 DNSサーバーも 指 定 できる 権 威 DNSサーバーを 指 定 することで 引 っ 越 し 先 のサーバ 設 定 が 正 しいか の 事 前 チェックなどにも 使 える Copyright 2015 株 式 会 社 日 本 レジストリサービス 41
調 査 に 使 えるWebサービス Squish Squish.net DNS traversal checker http://dns.squish.net/ ルートサーバーから 再 帰 的 に 名 前 解 決 した 結 果 を 視 覚 的 に 表 示 設 定 に 問 題 があるサーバーを 調 査 可 能 サーバーによって 問 い 合 わせ 結 果 が 違 う 権 威 サーバーなのに 再 帰 検 索 可 能 Copyright 2015 株 式 会 社 日 本 レジストリサービス 42
dnscheck.jpの 使 用 例 jprs.jp の 出 力 結 果 Copyright 2015 株 式 会 社 日 本 レジストリサービス 43
困 った!どうしてこうなる? 3.よくあるトラブル 事 例 と トラブルシューティング Copyright 2015 株 式 会 社 日 本 レジストリサービス 44
トラブルシューティングの 前 に トラブルを 事 前 に 防 ぐ 方 法 は? 防 げなくても 最 小 限 に 留 められていたのでは? 問 題 が 発 生 しにくい 設 定 お 作 法 問 題 が 起 きても 被 害 を 最 小 限 に 食 い 止 める 設 定 お 作 法 Copyright 2015 株 式 会 社 日 本 レジストリサービス 45
トラブル 事 前 回 避 設 定 を 事 前 にチェック named-checkconf named.conf の 構 文 チェック $ named-checkconf named 設 定 ファイル 名 named-checkzone $ named-checkzone ゾーン 名 ゾーンファイル 名 ) や ; の 抜 けなどの 文 法 チェック 用 シリアル 番 号 の 上 げ 忘 れ( 後 述 )や ホスト 名 末 尾 の. 付 け 忘 れな どはチェックしてくれない Copyright 2015 株 式 会 社 日 本 レジストリサービス 46
トラブル 事 前 回 避 サーバーの 分 離 とアクセス 制 限 キャッシュDNSサーバーと 権 威 DNSサーバーの 分 離 ドメイン 名 の 浸 透 問 題 の 原 因 になるかも? DNSリフレクター 攻 撃 の 加 害 者 になるかも? DNSキャッシュポイズニング されるかも? 分 離 しましょう 分 離 前 権 威 DNSサーバー キャッシュ DNSサーバー 分 離 後 権 威 DNSサーバー キャッシュ DNSサーバー 外 部 のキャッシュ DNSサーバー 利 用 者 外 部 のキャッシュ DNSサーバー 利 用 者 外 部 ネットワーク 組 織 内 ネットワーク 外 部 ネットワーク 組 織 内 ネットワーク Copyright 2015 株 式 会 社 日 本 レジストリサービス 47
DNSキャッシュポイズニング?DNSリフレクター 攻 撃? DNSキャッシュポイズニング 偽 のDNS 情 報 をキャッシュとして 蓄 積 させる フィッシングサイトなどへ 誘 導 権 威 /キャッシュDNSサーバーの 兼 用 によるDNSポイズニングの 危 険 性 について http://jprs.jp/tech/security/2012-07-04-risk-of-auth-and-recurse.html DNSリフレクター 攻 撃 問 い 合 わせパケットサイズよりも 応 答 パケットサイズが 大 きくなるDNS サーバーの 特 性 を 利 用 した 攻 撃 手 被 害 者 ではなく 加 害 者 になる 可 能 性 がある 技 術 解 説 : DNS Reflector Attacks(DNSリフレクター 攻 撃 ) について http://jprs.jp/tech/notice/2013-04-18-reflector-attacks.html Copyright 2015 株 式 会 社 日 本 レジストリサービス 48
今 日 紹 介 するトラブル 事 例 A) 設 定 がうまくいかない 間 違 えた 1. ゾーン 転 送 がうまくいかない 1. マスタサーバーにDNSが 稼 動 し ていない 2. マスタサーバー 側 のファイアー ウォールでブロックされている 3. マスターサーバー 側 でゾーン 転 送 が 許 可 されていない 2. SOAシリアルを 上 げ 忘 れた B) 名 前 が 引 けない 1. DNSサーバーがダウンしている 2. CNAMEの 循 環 3. ふぞろいのzone 情 報 たち C) 名 前 を 引 くのに 時 間 が 掛 かる 1. 権 威 DNSサーバーの 一 部 が ダウンしている 3. SOAシリアルを 上 げ 間 違 えた (シリアルを 巻 き 戻 したい) Copyright 2015 株 式 会 社 日 本 レジストリサービス 49
DNSトラブル 事 例 A. 設 定 を 間 違 えた Copyright 2015 株 式 会 社 日 本 レジストリサービス 50
1. ゾーン 転 送 がうまくいかない ゾーン 転 送 とは Master Slave 転 送 ゾーンデータ Copyright 2015 株 式 会 社 日 本 レジストリサービス 51
1. ゾーン 転 送 がうまくいかない 正 常 な 例 ゾーン 転 送 要 求 dig コマンド 実 行 Master DNS サーバー ok! 結 果 Slave $ dig +norec @(Master) example.jp. AXFR ; <<>> DiG 9.8.1-P1 <<>> +norec @(Master) example.jp. AXFR ; (1 server found) ;; global options: +cmd example.jp. 10800 IN SOA ( 中 略 ) example.jp. 10800 IN NS ns1.example.jp. ( 中 略 ) example.jp. 10800 IN SOA ns1.example.jp. root.example.jp. ( 中 略 ) ;; Query time: 1 msec ;; SERVER: (Master)#53((Master)) ;; WHEN: Fri Jul 12 17:56:17 2013 ;; XFR size: 31 records (messages 1, bytes 3380) Copyright 2015 株 式 会 社 日 本 レジストリサービス 52
1. ゾーン 転 送 がうまくいかない よくある 原 因 原 因 TCP 53 番 ポートがフィルタされている? ゾーン 転 送 の 設 定 を 間 違 っている? あるいは 他 の 何 か? どう 切 り 分 ける? 調 査 法 dig コマンドを 使 う コマンド 例 $ dig +norec @(マスター) example.jp axfr スレーブサーバー 側 で 実 行 Copyright 2015 株 式 会 社 日 本 レジストリサービス 53
1. ゾーン 転 送 がうまくいかない 調 査 と 具 体 例 1. マスターサーバーでDNSサーバープロセスが 稼 動 していない 場 合 ゾーン 転 送 要 求 dig コマンド 実 行 Master DNS サーバー 結 果 Slave OS そのものは 動 作 実 行 結 果 例 $ dig +norec @(マスター) example.jp axfr ;; Connection to 203.0.113.8 #53(203.0.113.8) for example.jp failed: connection refused. Copyright 2015 株 式 会 社 日 本 レジストリサービス 54
1. ゾーン 転 送 がうまくいかない 調 査 と 具 体 例 1. マスターサーバーでDNSサーバープロセスが 稼 動 していない 場 合 ゾーン 転 送 要 求 dig コマンド 実 行 Master DNS サーバー 結 果 Slave OS そのものは 動 作 DNS サーバープロセスを 立 ち 上 げ 直 す 実 は 気 づかないうちに 落 ちていたのかも 必 ず 原 因 究 明 を 並 行 してすすめること サーバーのログのチェックなど Copyright 2015 株 式 会 社 日 本 レジストリサービス 55
1. ゾーン 転 送 がうまくいかない 調 査 と 具 体 例 2.マスターサーバー 側 のファイアーウォールでブロックされている 場 合 tcp 53 block! ゾーン 転 送 要 求 dig コマンド 実 行 Master DNS サーバー 結 果 Slave 実 行 結 果 例 $ dig +norec @(マスター) example.jp axfr ; <<>> DiG 9.9.2-P2 <<>> +norec @(マスター) example.jp axfr ; (1 server found) ;; global options: +cmd ;; connection timed out; no servers could be reached Copyright 2015 株 式 会 社 日 本 レジストリサービス 56
1. ゾーン 転 送 がうまくいかない 調 査 と 具 体 例 2.マスターサーバー 側 のファイアーウォールでブロックされている 場 合 tcp 53 ok! ゾーン 転 送 要 求 dig コマンド 実 行 Master DNS サーバー 結 果 Slave 実 行 結 果 例 TCP 53 番 ポートへのアクセスを 許 可 する UDP だけの 許 可 かも? そもそもDNSサーバーでは TCP 53 番 のオープンが 必 須! Copyright 2015 株 式 会 社 日 本 レジストリサービス 57
1. ゾーン 転 送 がうまくいかない 調 査 と 具 体 例 3. マスターサーバー 側 でゾーン 転 送 が 許 可 されていない 場 合 ゾーン 転 送 要 求 dig コマンド 実 行 Master DNS サーバー 君 は 許 可 していないよ! 結 果 Slave 実 行 結 果 例 $ dig +norec @(マスター) example.jp axfr ; <<>> DiG 9.9.2-P2 <<>> +norec @(マスター) example.jp axfr ; (1 server found) ;; global options: +cmd ; Transfer failed. Copyright 2015 株 式 会 社 日 本 レジストリサービス 58
1. ゾーン 転 送 がうまくいかない 調 査 と 具 体 例 3. マスタサーバー 側 でゾーン 転 送 が 許 可 されていない 場 合 ゾーン 転 送 要 求 dig コマンド 実 行 Master DNS サーバー 許 可 します! 結 果 Slave ゾーン 転 送 の 設 定 を 見 直 す 許 可 ホストの 設 定 を 間 違 えているかも Copyright 2015 株 式 会 社 日 本 レジストリサービス 59
2. SOAのシリアルを 上 げ 忘 れた $ORIGIN a.example. $TTL 86400 @ IN SOA ns1.example. root.example.jp. ( 2014062001 3600 900 64800 3600 ) マスター/スレーブ を 構 築 している 場 合 スレーブが 情 報 更 新 されない 権 威 DNSサーバーによって 返 す 応 答 が 違 う ゾーンデータの 新 しさは シリアルの 値 の 大 小 のみによって 判 断 ゾーン 情 報 を 書 き 換 えた 後 は $ dig @(スレーブ) domain SOA +norec を 実 行 マスターと 一 致 していることを 確 認! 更 新 したよ! 情 報 新 master (ns1.example.jp) シリアルあがってない 更 新 しなくてよいか 情 報 旧 slave (ns2.example.jp) Copyright 2015 株 式 会 社 日 本 レジストリサービス 60
[ 補 足 ] NOTIFY( 変 更 通 知 )によるゾーン 情 報 の 更 新 権 威 DNSサーバーを 複 数 設 置 ゾーン 情 報 を 全 て 手 作 業 で 更 新 するのは 大 変! 1 台 をマスターにして 残 りのマシンもこれに 追 従 させる NOTIFY( 変 更 通 知 )による zone 情 報 の 更 新 Master (ns1.example.jp) 1. 変 更 通 知 (NOTIFY) 2. 転 送 要 求 (AXFR, IXFR ) 3. ゾーンデータ 転 送 Slave (ns2.example.jp) 外 部 からは 権 威 DNSサーバーのプ ライマリとセカンダリは 区 別 されない 本 スライドでの マスター / スレーブは ゾーン 転 送 のときにのみに 用 いる 概 念 もし シリアルの 上 げ 忘 れ で スレーブへのゾーン 転 送 が 失 敗 していると AXFRはゾーンデータを 全 て 転 送 IXFR は 差 分 転 送 Copyright 2015 株 式 会 社 日 本 レジストリサービス 61
3. SOAのシリアルを 上 げ 間 違 えた シリアルを 上 げよう YYYYMMDDnn (nn : 連 番 )だから 2014062601 2114062601 にしちゃった シリアル 戻 そう! ん?シリアルを 変 更 するには 加 算 するしかないのでは? シリアル 巻 き 戻 し 2 回 上 げテクニックを 使 う Copyright 2015 株 式 会 社 日 本 レジストリサービス 62
3. SOAのシリアルを 上 げ 間 違 えた シリアルの 巻 き 戻 し シリアルを2 度 上 げる 1. マスターで 現 在 の 値 + 2^31-1(=2147483647) をセット 反 映 例 ) 2114062601 + 2147483647 = 4261546248 をセット 2. スレーブへの 反 映 / 確 認 $ dig @(スレーブ) domain SOA +norec 3. マスターで 目 的 の 値 をセット 例 ) 2014062601 をセット 4. スレーブへの 反 映 / 確 認 もう 一 度 dig して 目 的 のシリアル 番 号 になっていることを 確 認 Copyright 2015 株 式 会 社 日 本 レジストリサービス 63
[ 補 足 ] なぜシリアルを 巻 き 戻 せる? - 2114062601 を 2014062601 に 戻 す(1) シリアルは 常 に 加 算 だから 巻 き 戻 せないのでは? SOAシリアルの 数 値 空 間 は 0と2^32が 接 続 されたリング 状 SOAシリアルは 現 在 値 から 相 対 的 に 大 小 判 断 が 行 われる 現 在 の 値 現 在 の 値 から31bit 後 方 小 さい 現 在 の 値 から31bit 前 方 大 きい シリアルの 空 間 は 0 と 4294967296 が 繋 げられ リング 状 になっている RFC 1982 - Serial Number Arithmetic(シリアル 番 号 の 計 算 ) Copyright 2015 株 式 会 社 日 本 レジストリサービス 64
[ 補 足 ] なぜシリアルを 巻 き 戻 せる? - 2114062601 を 2014062601 に 戻 す(2) 4261546248 現 在 の 値 から31bit 後 方 小 さい 現 在 の 値 から31bit 前 方 大 きい 2^32 0 2014062601 2114062600 以 上 より シリアル 上 は 4261546248 < 2014062601 Copyright 2015 株 式 会 社 日 本 レジストリサービス 65
[ 補 足 ] なぜシリアルを 巻 き 戻 せる? - 2114062601 を 2014062601 に 戻 す(3) 4261546248 中 間 点 1 度 目 の シリアル 番 号 加 算 1 度 目 の シリアル 番 号 加 算 2114062601 スタート 地 2114062600 2014062601 目 的 地 Copyright 2015 株 式 会 社 日 本 レジストリサービス 66
DNSトラブル 事 例 B. 名 前 が 引 けない Copyright 2015 株 式 会 社 日 本 レジストリサービス 67
1. 権 威 DNSサーバーがダウンしている example.jpの 権 威 DNSサーバー キャッシュ DNSサーバー クライアント Copyright 2015 株 式 会 社 日 本 レジストリサービス 68
1. 権 威 DNSサーバーがダウンしている example.jpの 権 威 DNSサーバー キャッシュあるから 大 丈 夫 だ 問 題 ない (TTLが 続 くしばらくは) キャッシュ DNSサーバー クライアント キャッシュDNSサーバーのキャッシュで 気 づくのが 遅 れることも Copyright 2015 株 式 会 社 日 本 レジストリサービス 69
2. CNAME の 循 環 - dig の 実 行 結 果 $ dig cname.a.example. @127.0.0.1 ; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> cname.a.example. @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20338 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;cname.a.example. IN A ;; ANSWER SECTION: cname.a.example. 15 IN CNAME cname.b.example. cname.b.example. 15 IN CNAME cname.a.example. ;; Query time: 15 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Thu Jul 18 20:40:32 2013 ;; MSG SIZE rcvd: 69 Copyright 2015 株 式 会 社 日 本 レジストリサービス 70
2. CNAME の 循 環 example1.jpの 権 威 DNSサーバー example2.jpの 権 威 DNSサーバー example1.jp は example2.jp のことだよ example2.jp は example1.jp キャッシュ のことだよ DNSサーバー ぐるぐるぐるぐる クライアント example2.jp は example1.jp で example1.jp は example2.jp? アプリケーションによってはエラーが 出 たり そのまま 固 まったり Copyright 2015 株 式 会 社 日 本 レジストリサービス 71
3. ふぞろいのゾーン 情 報 たち(1) example.jpの 権 威 DNSサーバーたち キャッシュ DNSサーバー キャッシュ DNSサーバー 名 前? 引 けてるよ? あれ? 名 前 引 けない? クライアント クライアント Copyright 2015 株 式 会 社 日 本 レジストリサービス 72
3. ふぞろいのゾーン 情 報 たち(2) slave master slave しばらく 経 過 してキャッシュが 満 了 す ると 再 度 問 い 合 わせる この 際 スレーブに 問 い 合 わせると 名 前 が 引 けなくなる(マスターに 問 い 合 わせていたら 引 けるようになる) キャッシュ DNSサーバー キャッシュ DNSサーバー あれ? 名 前 引 けなく なった? 名 前 引 ける ようになった クライアント クライアント Copyright 2015 株 式 会 社 日 本 レジストリサービス 73
3. ふぞろいのゾーン 情 報 たち(2) slave master slave マスターとスレーブで ゾーン 情 報 の 不 一 致 シリアルの 上 げ 忘 れで スレーブに 新 しいゾーン 情 報 が 伝 わっていない など キャッシュ DNSサーバー キャッシュ DNSサーバー 名 前? 引 けてるよ? あれ? 名 前 引 けない? クライアント クライアント Copyright 2015 株 式 会 社 日 本 レジストリサービス 74
DNSトラブル 事 例 C. 名 前 を 引 くのに 時 間 が 掛 かる Copyright 2015 株 式 会 社 日 本 レジストリサービス 75
権 威 DNSサーバーの 一 部 がダウンしている (1/2) 通 常 の 場 合 jpゾーン example.jp 委 任 example.jpゾーン ns1 ns2 クライアント キャッシュ DNSサーバー Copyright 2015 株 式 会 社 日 本 レジストリサービス 76
権 威 DNSサーバーの 一 部 がダウンしている (2/2) DNSサーバーの 一 部 がダウンしている 場 合 jpゾーン example.jp 委 任 example.jpゾーン ns1 ns2 再 問 い 合 わせ 応 答 が ない クライアント キャッシュ DNSサーバー Copyright 2015 株 式 会 社 日 本 レジストリサービス 77
権 威 DNSサーバーの 一 部 がダウンしている (2/2) DNSサーバーの 一 部 がダウンしている 場 合 キャッシュサーバーに 一 度 キャッシュされてしまえば 遅 延 は 発 生 しない 遅 延 が 発 生 するのは キャッシュされていないときの 問 い 合 わせ 今 回 の 例 の 場 合 ns1 にいきなり 問 い 合 わせに 行 ったら 遅 延 は 発 生 しない 権 威 DNS サーバーの 選 択 に プライマリやセカンダリという 概 念 はない どの 権 威 DNSサーバーに 問 い 合 わせに 行 くかは 各 キャッシュDNSサー バーの 実 装 やネットワークの 状 況 に 依 存 くじ 引 きのようなもの 気 づくのが 遅 れることも Copyright 2015 株 式 会 社 日 本 レジストリサービス 78
まとめ どこを 調 べているのか?を 理 解 しよう 再 帰 問 い 合 わせ? 非 再 帰 問 い 合 わせ? 道 具 の 使 い 方 を 知 ろう dig は 友 達 nslookupはやめよう よくあるトラブル 事 例 まずはログを 確 認! TCPの53 番 ポート 確 認! ファイヤーウォール 確 認! CNAME 確 認! シリアル 確 認! Windowsでも 動 く! @でDNSサーバーを 指 定 +norecオプション 便 利 なWebサービス DNS 可 視 化 の Squish.net DNS traversal checker エラーチェックの dnscheck.jp Copyright 2015 株 式 会 社 日 本 レジストリサービス 79
Q&A Copyright 2015 株 式 会 社 日 本 レジストリサービス 80