DNSのTXTレコードに複数の値を設定する必要に迫られて、その方法を調べましたので紹介いたします。
TXTレコードにに設定したいのは次の2つです。
- SPFレコード
- Google Search Consoleの認証コード
SPFレコードはメールの送信ドメイン認証に使われるもので、メールサーバを運用していたので元々設定してありました。
そして今回、新たに追加したかったのがGoogle Search Consoleの認証コードです。これはGoogle Search ConsoleでWebサイトの所有者であることを証明するために必要なもので、TXTレコードに設定する必要があります。
TXTレコードに複数の値を設定する
私が利用しているいくつかのDNSサーバーのサービスでは、DNSサーバーの設定画面でTXTレコードを複数登録することができます。おそらくほとんどのDNSサーバーのサービスでも同じように設定できると思います。
それでは実際に設定をしてみましょう。
2つのTXTレコードを設定する
次の画面はさくらのVPSのDNSサービスの設定画面で、2つのTXTレコードを入力したところです。
このようにTXTレコードを個別に追加することができます。追加したら設定を保存しましょう。
次に設定した内容を、実際にDNSサーバーへ問い合わせて確認します。Web上でDNSレコードを確認できるサイトがありますので、そこで確認するがもっとも簡単です。「DNS レコード 確認」などで検索すれば、そのようなサイトがすぐ見つかるでしょう。
ここではCLIコマンドで確認した結果を載せておきます。Windowsならnslookpuコマンドで確認します。
>nslookup -type=txt example.com ... 権限のない回答: example.com text = "v=spf1 +ip4:160.XXX.XXX.XXX/23 -all" example.com text = "google-site-verification=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
上記の結果はドメインなどを変更していますが、「text=」が2つあり、それぞれ設定した値が表示されるのがわかります。
LinuxやMacならdigコマンドで確認できるます。
$ dig monologu.com txt ... ;; ANSWER SECTION: example.com. 3600 IN TXT "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" example.com. 3600 IN TXT "v=spf1 +ip4:160.XXX.XXX.XXX/23 -all" ...
このようにTXTレコードは設定した通りに別々なものとして扱われるようですね。
設定したTXTレコードを確認する
DNSサーバへの設定は確認できましたので、今度はその設定が正しく機能しているか確認します。今回設定したのはSPFレコードとGoogle Search Consoleの認証コードですので、それぞれ機能しているか確認します。
Google Search Consoleは管理画面にログインしてサイトが認証されるか確認します。実際に確認したところ問題なく認証できました。
SPFレコードの確認については「送信ドメインを認証するためのSPFレコードに詳しくなろう」の「SPFレコードのテスト方法」にいくつか方法が載っています。
今回は「SPF Record Check – Lookup SPF Records」を使います。これはSPFレコードのチェックと検証を実施してくれるツールです。
サイトにアクセスしたら「Domain Name」の欄にSPFレコードを使うドメイン名を入力し、「SPF Record Lookup」のボタンをクリックします。
実行すると以下のような検証結果が表示されます。
すべてのテスト項目で問題ありませんでした。もし何か問題あればツールが報告してくれます。
まとめ
TXTレコードを複数設定する方法を紹介致しましたが、TXTレコードを改行区切りで複数の値を設定するという情報も見つけました。参考にしたのは「DNSレコードの登録ルール」です。
こちらの方法も試してみましたが、うまく設定できませんでした。しかし前述した方法でもしもうまくいかなかったら、こちらの方法も試してみる価値はあるかもしれません。