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レコードを入力したところです

このように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」のボタンをクリックします。

SPFツールの入力画面です

実行すると以下のような検証結果が表示されます。

SPFレコードの検証結果です

すべてのテスト項目で問題ありませんでした。もし何か問題あればツールが報告してくれます。

まとめ

TXTレコードを複数設定する方法を紹介致しましたが、TXTレコードを改行区切りで複数の値を設定するという情報も見つけました。参考にしたのは「DNSレコードの登録ルール」です。

こちらの方法も試してみましたが、うまく設定できませんでした。しかし前述した方法でもしもうまくいかなかったら、こちらの方法も試してみる価値はあるかもしれません。