[gusuku] 「.io」도메인 - DNS에 의한 이름해결이 불안정하게 된 이야기(복구 완료 확인)
업데이트 보고서
io | DNSViz
12시간 전에는 down하고 있었지만, 그 3시간 후의 update에서는 복구하고 있는 듯
(단순히 response로 보고 있을 뿐이니까, 당시 제대로 쿼리도 복구했는지까지는 모르지만…)
Updated: 2016-10-28 18:10:44 UTC (about 9 hours ago) ※복구 완료
실해 발생하고 나서 약 12시간 정도는 계속하고 있었던 것일까.
이것 오픈 소스인가! 사용하기 쉽다.
ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ
DNSViz - Github
@ 마사히토시노다 씨도 비슷한 기사를 쓰고 있습니다.
이쪽이 정보의 갱신이 빠릅니다.
.io 도메인이 이상해졌기 때문에 dig로 조사해 보았다 (2016/10/28)
실수와 바구니 지적이 있으면 코멘트하십시오.
소개
조금 적시의 이야기.
10/28(금) AM10:20경, 우리가 제공하고 있는 서비스로 이름해결의 에러가 발생했으므로 그 트러블 슛의 모습을 쓰려고 한다.
gusuku - kintone 애플리케이션 개발을 지원하는 플랫폼
구수쿠의 도메인은 '.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 시점)
지금 날씬하고 유행하는 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 시점)
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
호스트 기반이 아닌 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
Reference
이 문제에 관하여([gusuku] 「.io」도메인 - DNS에 의한 이름해결이 불안정하게 된 이야기(복구 완료 확인)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rocca0504/items/725d083460a8ea54f5f9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)