のSPF仕様言う:
特定のドメイン名に対して公開された SPF レコードは、そのドメイン名に対するクエリの結果が 512 オクテット以内に収まる程度に小さくする必要があります。そうでない場合、DNS プロトコルの制限を超える可能性があります。
…
TXT 形式のクエリへの応答のサイズを計算するときは、ドメイン名で公開されている他の TXT レコードも考慮する必要があることに注意してください。
また、最近の DNS 仕様ではより大きな UDP 応答が許可されていることも指摘されています (SPF 仕様では DNS over TCP の動作に依存してはならないとされているため、これが制限の理由です) が、これは実際には「すべき」という主張を覆すものではないようです。
問題は、非常に多くの組織が検証の目的で同じドメインに TXT レコードを必要とするため ( facebook-domain-verification
、、、など)、TXT RRset の合計サイズがすぐに 512 バイトをはるかに超える可能性があることgoogle-site-verification
ですatlassian-domain-verification
。adobe-sign-verification
大規模な組織の大多数はこれに準拠しているようですが、それを超えている組織もいくつかあります。
% dig +noall +stats netflix.com TXT | grep 'MSG SIZE'
;; MSG SIZE rcvd: 593
% dig +noall +stats linkedin.com TXT | grep 'MSG SIZE'
;; MSG SIZE rcvd: 632
% dig +noall +stats twitter.com TXT | grep 'MSG SIZE'
;; MSG SIZE rcvd: 642
% dig +noall +stats microsoft.com TXT | grep 'MSG SIZE'
;; MSG SIZE rcvd: 1459
( のようなコマンドを実行すると、切り捨てが発生する可能性を確認できますdig +notcp +noedns +ignore microsoft.com TXT
。)
6 か月間、ギリギリのところまで追い詰められてきましたが、今度は新しいベンダーの検証レコードを追加しなければならなくなり、512 バイトをはるかに超えることになります。SPF レコードを統合するためにできる限りのことをしましたが、既存の検証レコードを削除できないようにしました。
ここで何をすべきでしょうか? 検証レコードがないわけにはいきませんが、SPF 仕様を無視したくもありません。とはいえ、Microsoft はそれを無視しているようで、メールが拒否されることはないと思います。
答え1
SPF仕様を再読した後、TXT RRsetのサイズに関する懸念は、クライアントが両方EDNSをサポートしていませんそしてクライアントは DNS over TCP をサポートしていません。DNS over TCP は常に DNS の必須部分であり、警告は壊れた DNS に関するものと思われます。(公平を期すために言うと、特に過去には、DNS over TCP が壊れていた場所がたくさんありました。)
しかし、私の DNS サーバーは TCP 経由でアクセスできることはわかっています。また、他の人の DNS が実際に壊れていることよりも、(比較的) 新しい DNS 仕様をサポートしていることを確認することの方がはるかに心配です。