web-dev-qa-db-ja.com

ローカル配信とGoogleApps配信の両方を許可するための正しいSPFレコードは何ですか

最近、サーバースタックを新しいデータファームに移動しました。一部のクライアントでは、GAppsアカウントから送信されるメールで問題が発生しています。サーバーを移動する前は問題はありませんでしたが、IPの変更などが関係しているのではないかと思います。

一部のドメインのSPFヘッダーが正しくなく、GoogleSPFレコードが含まれていないことが問題であることがわかりました。

以下のすべてのドメインにTXTレコードを追加しましたv=spf1 include:_spf.google.com ~allこれで配信可能性の問題は解決しましたが、DNSテンプレートのすべてのTXTレコードに問題がないかどうかを知るには、SPFを十分に理解していません。

ドメインがメールの送信にGoogleAppsを使用している場合、そのドメインのローカルメールルーティングを無効にして、内部メールが通過しないようにし、GAppsMX以外のすべてのレコードを削除します。

現在、各ドメインで以下が設定されています。

domain.com.      TXT v=spf1 +a +mx -all
domain.com.      TXT v=spf1 include:_spf.google.com ~all
mail.domain.com. TXT v=spf1 ip4:xxx.xxx.xxx.xxx a mx a:mail.domain.com mx:domain.com ?all

だから私の質問は:

サーバーに追加されるすべてのドメインのグローバルとして、上記のレコードは正常ですか(一部のSPFテストはポジティブに戻り、他はネガティブになります)?

上記の2つのdomain.comDNSレコードを1つに連結できますか?

Google Apps経由で送信していないドメインのSPFレコードをGoogleに含めても大丈夫ですか?

Google Appsを使用している場合、他のTXTレコードを削除する必要がありますか。メールが発信されていないため、mail.domain.comレコードを削除する必要があるとは思いません。そこからですが、存在する場合は問題が発生する可能性があります。

1つのサーバースタックで100以上のドメインが実行されており、それらすべてを更新するのは楽しいことではありませんが、正しく実行したいと思います。

前もって感謝します。

7
Byron Rode

ホスト名にはSPFレコードが1つしかないため、2つを1つに組み合わせる必要があります。 SPFは基本的に、メカニズム(何かに一致する)とそのメカニズムに対して実行するアクションのリストです。これらのメカニズムは、SPFレコードに必要な数だけ含めることができます。 domain.comの場合、これが必要です。

domain.com. IN  TXT "v=spf1 include:_spf.google.com +a +mx -all"

これは、以下がチェックされることを意味します(最初のマッチングメカニズムが結果になります)。

  • _spf.google.comでSPFレコードを取得し、評価します(include:)。 GoogleのSPFレコードは次のようになります。

    _spf.google.com descriptive text "v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all"
    
  • SMTPクライアントのIPがそれらのIPv4サブネット内にあるかどうかを受け入れます(ipv4:

  • SMTPクライアントのIPがドメインのAレコードであるかどうかを受け入れます(+a

  • SMTPクライアントのIPがドメインのMXレコードであるかどうかを受け入れます(+mx
  • すべてを拒否します(-all

mail.domain.comのSPFレコードは、おそらく次のように簡略化できます。

mail.domain.com.    IN  TXT "v=spf1 ip4:xxx.xxx.xxx.xxx a mx:domain.com ?all"

mail.domain.com自体にMXレコードがないと仮定します。 MXレコードがある場合は、mx用語を(allの前に)追加し直します。

5
mgorven

なぜ3つの異なるSPFレコードがあるのですか?また、なぜmail.domain.comの個別のレコードがあるのですか、そのドメイン名のメールを受け入れますか?基本的に、単一のdomain.com TXT v=spf1 include:_spf.google.com +a +mx ~allで十分です。

2
Alex