それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

mydns 関連のドメインが 1.1.1.1 のpublic dns から引けない問題(DNSフィルタリング・規制か?)

twitter を見ていると、MyDNSが引けないというツイートを見かけた。

引いてみた。

takuya@untitled1$ dig aaaaaa.mydns.jp @1.1.1.1

; <<>> DiG 9.10.6 <<>> mydns.jp @1.1.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 25043
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1452
;; QUESTION SECTION:
;mydns.jp.          IN  A

;; Query time: 2209 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Mon Jul 01 16:00:36 JST 2019
;; MSG SIZE  rcvd: 37

ちゃんと引ける。ほかのところからも引ける。

takuya@untitled1$ dig +short xyz.mydns.jp   @dns-a.bbtec.net
163.44.151.xxx
takuya@untitled1$ dig +short xyz.mydns.jp   @8.8.8.8
168.235.75.xxx
takuya@untitled1$ dig +short xyz.mydns.jp   @1.0.0.1
takuya@untitled1$ dig +short xyz.mydns.jp   @1.1.1.1

Cloudflare から引けない問題。。。

これはDNSフィルタリングなんだろうか。public DNS がフィルタリングを始めたとなると本当に怖い世の中になったと思う。

追記:あとで確認したらTRACEはできる。

1.1.1.1 にたいして、何度かdig +trace を投げつけておくと、キャッシュされるみたい。+trace 後は通常通りDNSレコードを応答してくれる

takuya@untitled1$ dig +short a.mydns.jp   @1.1.1.1
takuya@untitled1$ for i in {1..10}; do echo $i; dig a.mydns.jp   @1.1.1.1 +trace > /dev/null  ;sleep 0.1  ; done
1
2
3
4
5
6
7
8
9
10
takuya@untitled1$ dig +short a.mydns.jp   @1.1.1.1
168.235.75.38
210.197.74.203
46.19.34.8
107.191.99.190
163.44.151.204
takuya@untitled1$

不思議で仕方ないので少し考えてみた。

ここから考えると、Cloudflare自体のDNSに問題はなく、mydns側の ns レコード(ns[0-2].mydns.jp)の設定に難があってCloudflareがうまくDNSをたどってないのではないか

そう考えると、ns レコードを引けていないので、たぶんmydns 側とcloudflareが使ってる再帰サーバーがうまく引けないのかもしれない。

takuya@untitled1$ dig mydns.jp    ns  @8.8.8.8 +short
ns1.mydns.jp.
ns2.mydns.jp.
ns0.mydns.jp.
takuya@untitled1$ dig mydns.jp    ns  @1.1.1.1 +short
takuya@untitled1$

いずれにせよ、特定のDNSサーバーを参照すると、DNSによる名前解決が止まってしまうのは困った問題だと思う(止められているならもっと怖い。)