更新報告
12時間前にはdownしてましたが、その3時間後のupdateでは復旧してるっぽ
(単純にresponseで見てるだけだから、当時ちゃんとクエリも復旧してたかまではわかんないけど…)
- [Updated: 2016-10-28 14:35:21 UTC (about 12 hours ago)] ((http://dnsviz.net/d/io/WBNiKQ/responses/))
- [Updated: 2016-10-28 18:10:44 UTC (about 9 hours ago)] (http://dnsviz.net/d/io/WBOUpA/responses/) ※復旧済み
実害発生してから約12時間くらいは継続してたことになるのかな。
これオープンソースなのか!使いやすそう。
http://dnsviz.net/
DNSViz - Github
@MasahitoShinoda さんも同様の記事を書かれてます。
こちらのほうが情報の更新が早いです。
.io ドメインがおかしくなったので dig で調べてみた(2016/10/28)
間違いとかご指摘あったらコメントくださいー。
はじめに
ちょっとタイムリーな話。
10/28(金)AM10:20頃、うちが提供しているサービスで名前解決のエラーが発生したのでそのトラブルシュートの様子を書こうと思う。
gusuku - kintoneアプリケーション開発をサポートするプラットフォーム
gusukuのドメインは「.io」ドメイン
今巷で流行りの ccTLD。
ccTLDの説明は以下を参照。
ccTLDとは - JPNIC
何が発生したのか? 「.io」の名前解決ができない!
社内のDNSで名前解決しようと思うと名前解決できない。
**Google Public DNS(8.8.8.8)**を指定して名前解決すると、出来たり出来なかったり。
うちの環境の場合はCloudFrontがある関係で、ちょっとDNSの設定が特殊。
初期の段階では、名前解決が出来なかったレコードが、hoge.gusuku.ioでAレコードでエイリアスレコードを設定してあったサブドメインだったため、問題切り分けのためにAレコードのエイリアスレコードではなく、CNAMEでエイリアスを直書きしてみた。
; ANSWER SECTION:
app.gusuku.io. 59 IN CNAME ********.cloudfront.net.
しかしそれでも名前解決が出来たり出来なかったり。
traceしてみる
社内DNSに入ってhoge.gusuku.ioをトレースしてみた。
…おや?
$ dig app.gusuku.io +trace
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.32.amzn1 <<>> app.gusuku.io +trace
;; global options: +cmd
. 518400 IN NS C.ROOT-SERVERS.NET.
. 518400 IN NS D.ROOT-SERVERS.NET.
. 518400 IN NS E.ROOT-SERVERS.NET.
. 518400 IN NS F.ROOT-SERVERS.NET.
. 518400 IN NS G.ROOT-SERVERS.NET.
. 518400 IN NS H.ROOT-SERVERS.NET.
. 518400 IN NS I.ROOT-SERVERS.NET.
. 518400 IN NS J.ROOT-SERVERS.NET.
. 518400 IN NS K.ROOT-SERVERS.NET.
. 518400 IN NS L.ROOT-SERVERS.NET.
. 518400 IN NS M.ROOT-SERVERS.NET.
. 518400 IN NS A.ROOT-SERVERS.NET.
. 518400 IN NS B.ROOT-SERVERS.NET.
;; Received 508 bytes from 10.0.0.2#53(10.0.0.2) in 8 ms
io. 172800 IN NS ns-a1.io.
io. 172800 IN NS ns-a4.io.
io. 172800 IN NS ns-a3.io.
io. 172800 IN NS ns-a2.io.
io. 172800 IN NS ns-l1.io.
io. 172800 IN NS ns-d1.io.
io. 172800 IN NS ns-y1.io.
;; Received 423 bytes from 202.12.27.33#53(202.12.27.33) in 42 ms
io. 3600 IN SOA ns1.communitydns.net. nicadmin.nic.io. 1477627507 3600 1800 3600000 3600
;; Received 104 bytes from 74.116.179.1#53(74.116.179.1) in 2 ms
**cf.**正常に名前解決出来る場合
$ dig yahoo.co.jp +trace
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.32.amzn1 <<>> yahoo.co.jp +trace
;; global options: +cmd
. 518400 IN NS B.ROOT-SERVERS.NET.
. 518400 IN NS C.ROOT-SERVERS.NET.
. 518400 IN NS D.ROOT-SERVERS.NET.
. 518400 IN NS E.ROOT-SERVERS.NET.
. 518400 IN NS F.ROOT-SERVERS.NET.
. 518400 IN NS G.ROOT-SERVERS.NET.
. 518400 IN NS H.ROOT-SERVERS.NET.
. 518400 IN NS I.ROOT-SERVERS.NET.
. 518400 IN NS J.ROOT-SERVERS.NET.
. 518400 IN NS K.ROOT-SERVERS.NET.
. 518400 IN NS L.ROOT-SERVERS.NET.
. 518400 IN NS M.ROOT-SERVERS.NET.
. 518400 IN NS A.ROOT-SERVERS.NET.
;; Received 508 bytes from 10.0.0.2#53(10.0.0.2) in 8 ms
jp. 172800 IN NS f.dns.jp.
jp. 172800 IN NS g.dns.jp.
jp. 172800 IN NS e.dns.jp.
jp. 172800 IN NS c.dns.jp.
jp. 172800 IN NS d.dns.jp.
jp. 172800 IN NS a.dns.jp.
jp. 172800 IN NS b.dns.jp.
;; Received 425 bytes from 192.228.79.201#53(192.228.79.201) in 167 ms
yahoo.co.jp. 86400 IN NS ns01.yahoo.co.jp.
yahoo.co.jp. 86400 IN NS ns11.yahoo.co.jp.
yahoo.co.jp. 86400 IN NS ns02.yahoo.co.jp.
yahoo.co.jp. 86400 IN NS ns12.yahoo.co.jp.
;; Received 169 bytes from 203.119.1.1#53(203.119.1.1) in 38 ms
yahoo.co.jp. 300 IN A 183.79.135.206
yahoo.co.jp. 300 IN A 182.22.59.229
yahoo.co.jp. 900 IN NS ns12.yahoo.co.jp.
yahoo.co.jp. 900 IN NS ns02.yahoo.co.jp.
yahoo.co.jp. 900 IN NS ns01.yahoo.co.jp.
yahoo.co.jp. 900 IN NS ns11.yahoo.co.jp.
;; Received 201 bytes from 118.151.254.149#53(118.151.254.149) in 2 ms
「.io」のネームサーバーに対してdigってみる
この時点でアウトだったのは以下の2サーバー(10/28 13:22時点)
- ns-a2.io
- ns-a4.io
norecurseオプション大事。
このオプションつけると再帰問い合わせを行わないので、純粋に問い合わせた先のDNSサーバーからの応答が得られる。
正常な場合
委譲先のNSサーバーの応答がある。
$ dig @ns-a1.io app.gusuku.io +norec
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.32.amzn1 <<>> @ns-a1.io app.gusuku.io +norec
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19835
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 0
;; QUESTION SECTION:
;app.gusuku.io. IN A
;; AUTHORITY SECTION:
gusuku.io. 86400 IN NS ns-429.awsdns-53.com.
gusuku.io. 86400 IN NS ns-801.awsdns-36.net.
gusuku.io. 86400 IN NS ns-1045.awsdns-02.org.
gusuku.io. 86400 IN NS ns-1723.awsdns-23.co.uk.
;; Query time: 4 msec
;; SERVER: 194.0.1.1#53(194.0.1.1)
;; WHEN: Fri Oct 28 04:22:46 2016
;; MSG SIZE rcvd: 171
正常でない場合
応答がない。
$ dig @ns-a4.io app.gusuku.io +norec
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.32.amzn1 <<>> @ns-a4.io app.gusuku.io +norec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 55
;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;app.gusuku.io. IN A
;; AUTHORITY SECTION:
io. 3600 IN SOA ns1.communitydns.net. nicadmin.nic.io. 1477628338 3600 1800 3600000 3600
;; Query time: 4 msec
;; SERVER: 74.116.179.1#53(74.116.179.1)
;; WHEN: Fri Oct 28 04:22:54 2016
;; MSG SIZE rcvd: 104
参照してるサーバーによっては名前解決できない問題が発生しているっぽい。
(10/28 15:41現在)まだ事象継続中・・・
(10/28 18:40現在)根本の原因はまだ解決には至ってない模様?
NSサーバーで「.io」ドメインが持ってるゾーン情報
リアルタイムではないけどゾーン情報知るって意味ではけっこう有益な情報
DNS zone details for: io(Date of latest check: Wed, 26 Oct 2016 22:58:07 -0400)
Hacker News に掲載されてる。
[IO domain DNS failure - Hacker News]
(https://news.ycombinator.com/item?id=12813065)
ホストベースじゃなくてIPベースでも確認してみた(一応)
名前解決できないNSサーバー
ns-a2.io. 1248 IN A 194.0.2.1
ns-a4.io. 1242 IN A 74.116.179.1
どっちも connection timed out になる模様。
いつ復旧かなー
$ dig @194.0.2.1 gusuku.io +norec
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.32.amzn1 <<>> @194.0.2.1 gusuku.io +norec
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
$ dig @74.116.179.1 gusuku.io +norec
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.32.amzn1 <<>> @74.116.179.1 gusuku.io +norec
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
そもそもpingも飛ばない。意図的に落としてるかそれとも落ちてるか。。。
$ ping 194.0.2.1
PING 194.0.2.1 (194.0.2.1) 56(84) bytes of data.
--- 194.0.2.1 ping statistics ---
16 packets transmitted, 0 received, 100% packet loss, time 15527ms
$ ping 74.116.179.1
PING 74.116.179.1 (74.116.179.1) 56(84) bytes of data.
--- 74.116.179.1 ping statistics ---
55 packets transmitted, 0 received, 100% packet loss, time 54889ms
ちなみに他の正常なNSサーバーはping応答ある。
;; ANSWER SECTION:
ns-a3.io. 525 IN A 74.116.178.1
$ ping 74.116.178.1
PING 74.116.178.1 (74.116.178.1) 56(84) bytes of data.
64 bytes from 74.116.178.1: icmp_seq=1 ttl=54 time=3.12 ms
64 bytes from 74.116.178.1: icmp_seq=2 ttl=54 time=2.94 ms
64 bytes from 74.116.178.1: icmp_seq=3 ttl=54 time=2.96 ms
64 bytes from 74.116.178.1: icmp_seq=4 ttl=54 time=2.96 ms
^C
--- 74.116.178.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3511ms
rtt min/avg/max/mdev = 2.942/2.998/3.126/0.083 ms