01 / 本文
レコードを入れたのに、1件も反映されない
GitHub Pages で公開したサイトに独自ドメインを割り当てるため、お名前.comの管理画面でAレコードを4本入れた。設定完了のメールも届いた。
ところが数時間たっても、名前解決の結果は変わらなかった。
Aレコードが 150.95.255.38 のまま。これはお名前.comのパーキングページのIPで、取得しただけで何も設定していないドメインが返す値だった。
02 / 本文
管理画面が2つあることに気づいていなかった
お名前.comには、似た名前の設定画面が2つある。
- ネームサーバーの設定 … そのドメインがどのDNSサーバーを使うかを決める
- DNSレコード設定(DNS機能) … 01〜04.dnsv.jp を使っているドメインの A / CNAME / TXT を編集する
レコードを入れたのは後者だった。しかしドメインが見ていたのは前者で指定された dns1.onamae.com と dns2.onamae.com で、こちらは取得時の既定値だった。
別のDNSサーバーに設定を書いて、ドメインは違うDNSサーバーを見ている。 だから1件も反映されない。画面の中では正しく保存されているので、保存側を見ている限り永久に気づけない。
03 / 本文
1コマンドで判別できる
どちらのネームサーバーを使っているかは、権威サーバーに聞けば一発で分かる。
curl -s -H 'accept: application/dns-json' \n 'https://dns.google/resolve?name=example.jp&type=NS'04 / 本文
返ってくる値の読み方
- 01.dnsv.jp 〜 04.dnsv.jp … DNSレコード設定が効く。正常に動いているドメインはすべてこれ
- dns1.onamae.com / dns2.onamae.com … 効かない。先にネームサーバーを切り替える必要がある
Aレコードが 150.95.255.38 ならパーキング状態と考えてよい。
「DNSを設定した」という事実と、「設定が効いている」という事実は別物。 設定完了のメールは前者しか保証しない。
05 / 本文
公開リゾルバによって答えが違う時間帯がある
ネームサーバーを切り替えた直後は、リゾルバごとに答えが割れる。実際に次のような状態になった。
dns.google dns1.onamae.com, dns2.onamae.com ← 古いNSをまだ持っている
cloudflare-dns.com 01.dnsv.jp 〜 04.dnsv.jp ← 新しいNSを見ている06 / 本文
1つのリゾルバだけ見て判断しない
片方だけを見て「切り替わっていない」と判断すると、実際には進んでいる作業を止めてしまう。2つ以上のリゾルバで引き比べる。
レジストリ側の委任を直接見るなら RDAP が確実で、キャッシュを経由しない。
07 / 本文
同じ状態のドメインが19件あった
1件だけの話ではないと思い、管理している144ドメインのNSを一括で取得した。
19件が dns1/dns2.onamae.com のままで、全件がパーキングページを返していた。 そのうち実際にサイトを載せるつもりのものは1件だけで、残り18件は意図して使っていないものだった。
つまりこの状態自体は異常ではない。異常なのは「設定したのに効いていない」組み合わせのほう。 一括で見ると、その組み合わせだけを抜き出せる。
08 / 本文
切り替えたあとに踏む順序がある
ネームサーバーを 01〜04.dnsv.jp に切り替えると、入れてあったレコードがそのまま効き始める。
ただし GitHub Pages のカスタムドメインは、設定する順序を間違えると証明書が発行されない。デプロイ済みであることを github.io 側で200を確認してから、ドメインを設定する。
この順序を守ったところ、ドメイン設定から 25秒 で証明書が approved になった。
09 / 本文
まとめ
- お名前.comは「ネームサーバーの設定」と「DNSレコード設定」が別画面
- ネームサーバーが dns1/dns2.onamae.com のままだと、レコードを何件入れても効かない
- 判別は NS を引くだけ。dnsv.jp なら効く、onamae.com なら効かない
- Aレコードが 150.95.255.38 ならパーキング
- リゾルバは2つ以上で引き比べる
コメント
この記事へのコメント
お名前だけで投稿できます。アカウント登録やログインは不要です。 いただいたコメントは確認のうえ公開します。