Google AppsでSPF設定のためにDNSを乗り換え

Google Apps独自ドメインメールを使い始めて1ヶ月になるのですが、その間必要性については理解しつつもスルーしていたのが「Sender Policy Framework」略して「SPF」の設定。国内の携帯電話キャリア各社のキャリアメールに実装されている、いわゆる「なりすましメール」対策のひとつで、DNSにTXTレコードとして設定することで有効になるのですが、自分の利用していたEveryDNSにはTXTレコードの設定がなく、そもそも設定できなかったわけです。
それが、実際にSPFレコードがないせいでメールが届かないという事態に直面してしまったもので、自分のドメインにもSPFを設定すべく、急遽TXTレコード対応のDNSに移ることにしました。
調べてみると、独自(持ち込み)ドメインとダイナミックDNSの両方に対応していてTXTレコードが設定でき、かつ無料のサービスというのは少なくなってきつつありますが、探せば世界中にまだまだあるようです。例えば、国内でも結構多くのユーザーに使われていると思われるZoneEdit *1は、Google Appsのヘルプでも設定方法(MXレコードCNAMEレコード)が紹介されているぐらいメジャーです。今回ZoneEditにもアカウントを作ったのですが、実際にレジストラのネームサーバー設定に組み込んだのは、日本ではあまり使われていなさそうなFreeDNS.afraid.org(長いので以下afraidと略)です。
まず、afraidで注意すべきは、ドメインの登録時です。「Shared State」という項目があり、選択肢は「Public」と「Private」の2つで初期値はPublicのほう。これはドメインをafraidの登録ユーザーなら誰でもサブドメインを付けて使えるように、afraidに自分のドメインを献上する、という意味です。自分のドメインは自分だけで使いたい人がほとんどでしょうから、明らかな意思の下でやる以外、ここは絶対に要確認です。
ここで失敗しさえしなければ、afraidは非常に多機能で素晴らしいサービスだと思います。DDNSに加えてドメインのSubcloning(ドメインAのレコード設定をまるごとドメインBにコピー)とかWeb Forward(以前EveryDNSにあったWebHopと同じく、任意に設定したドメイン名から既存のサイトのURLに転送する機能。ただし使えるのはPublic設定のドメインだけ)、バックアップDNS、それにIPv6逆引きまであります。
afraidを使う場合に問題になりそうなのが、IPアドレスが変わった場合のDDNSの更新方法で、日本で圧倒的に多く使われていると思われるDDNSクライアント「DiCE」がafraidに未対応であることと、afraid自体からリンクで紹介されているDDNSクライアントの多くが、どういうわけかログインできてもIPアドレスの更新がまともにできないものばかりであることです。どれか使えるものはないかと試しているうちに最終的に行き着いたのが、WindowsMacOSLinuxFreeBSDで動く「INADYN」です。Windowsではサービスとして動作しますが、GUIは一切ありません。設定の仕方はコマンドラインとか設定ファイルとかいくつかありますが、Windowsで最も簡単なのはSHA-1でハッシュ化されたafraidのアカウント情報(当然ですが、パスワードを変更するとハッシュも変わります)をレジストリに直接書き込む方法でしょう。
で、SPFのためのTXTレコードが適切に設定され、メールアドレスがSPFに対応できたかどうかを確認する方法として最も手軽なのは、 check-auth@verifier.port25.com 宛にメールを送ることでしょう。結果を自動判定して概ね30秒以内に返信してくれます。SPFがきちんと設定できていれば、結果の部分は以下のような内容になっているはずです。

==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: neutral
Sender-ID check: pass
SpamAssassin check: ham

設定OKならpass、不明(未設定)だとneutralと判定されます。EveryDNSを使っていた時点では、SPFとSender-IDはneutralでした。ちなみに他のメールアドレスでも試してみましたが、iモードメールやmopera Uメール、SBMのS!メール(MMS)では上の例と同じでDomainKeysDKIMがneutral、普通のGmailだと全部passになりました。
以上で晴れて前回不達だった相手にもメールが届くようになりました。携帯電話メアドでなりすまし拒否を設定している相手宛にメールを送る可能性がある場合は、SPFの設定はやっておいたほうがよいと思います。

*1:DNSクエリーのデータ量が200MB(FAQによればクエリー100万回相当)を超えると有料。まあ、個人がGoogle Apps自宅サーバーだけで細々と使う分には100万回超なんてまずありえないと思いますが、掲示板系だとか、収益化してアクセスを稼ぐ方向とかだと達してしまうかも。普通のアクセス以外にも検索エンジンのクロールなどがかなり来るであろう上に、DDoSや総当たり攻撃などに遭遇してしまう可能性もありますから。