この件に関してRFCが何を言っているかを知ることは良いことであり、そのことについてはすでに正式な回答がありますが、実際的な目的のために、DJBDNSの著者であるDaniel J.
http://cr.yp.to/djbdns/tcp.html#why(2003-01-16)
TCPクエリはいつ送信されますか?
次のいずれかの状況にある場合は、TCPクエリに応答するようにDNSサーバーを構成する必要があります。
- 512バイトを超えるレコードセットを公開します。(これはほとんどの場合間違いです。)
- たとえば、サードパーティのサーバーへの発信ゾーン転送を許可したい。
- TCPサービスをセットアップするまで、親サーバーは名前の委任を拒否します。
これらの状況のいずれにも該当しない場合、TCPサービスを提供する必要はないため、セットアップしないでください。DNS-over-TCPはDNS-over-UDPよりもはるかに遅く、本質的にサービス拒否攻撃に対してはるかに脆弱です。(これはBINDにも適用されます。)
彼はDNSSECの明示的な言及を省略していることに注意してください。その理由は、DJBによると、DNSSECは「常に間違い」のカテゴリに分類されるからです。詳細については、https://cr.yp.to/djbdns/forgery.htmlを参照してください。DJBには、DNSCurveと呼ばれる代替標準(http://dnscurve.org/)があります。これは、一部のプロバイダー(OpenDNSなど)で既に独立して採用されています。興味深いのは/security/45770/if-dnssec-is-so-questionable-why-is-it-ahead-of-dnscurve-in-adoptionです。
上記のDJBDNSセットアップに関するドキュメントがその機能を示すものである場合、AXFR for TCPのみをサポートしているように見えることに注意してください。多くのプロバイダーはまだDJBDNSを使用しているため、追加の努力なしにTCPを介したDNSをサポートする可能性は低いでしょう。
PS DJBは実際、彼が説教することを実践していることに注意してください。彼自身のサーバー(1)はDNSCurveを実行し、(2)TCPに適切に応答しません。のみ+notcp
成功します(デフォルト):
% dig +trace @ordns.he.net +notcp cr.yp.to | tail
yp.to. 86400 IN NS uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.ns.yp.to.
yp.to. 86400 IN NS uz5jmyqz3gz2bhnuzg0rr0cml9u8pntyhn2jhtqn04yt3sm5h235c1.yp.to.
;; Received 300 bytes from 216.74.32.100#53(tonic.to) in 151 ms
cr.yp.to. 600 IN A 131.155.70.11
cr.yp.to. 600 IN A 131.155.70.13
yp.to. 3600 IN NS uz5jmyqz3gz2bhnuzg0rr0cml9u8pntyhn2jhtqn04yt3sm5h235c1.yp.to.
yp.to. 3600 IN NS uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.yp.to.
;; Received 244 bytes from 131.155.70.13#53(uz5jmyqz3gz2bhnuzg0rr0cml9u8pntyhn2jhtqn04yt3sm5h235c1.yp.to) in 14 ms
、一方、+tcp
失敗します(選択されたサーバーに応じて、明らかに異なるエラーメッセージが表示されます):
% dig +trace @ordns.he.net +tcp cr.yp.to | tail
yp.to. 86400 IN NS uz5hjgptn63q5qlch6xlrw63tf6vhvvu6mjwn0s31buw1lhmlk14kd.ns.yp.to.
;; Received 300 bytes from 216.74.32.100#53(tonic.to) in 150 ms
;; Connection to 131.155.71.143#53(uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.ns.yp.to) for cr.yp.to failed: connection refused.
;; communications error to 131.155.70.13#53: end of file
;; Connection to 131.155.71.143#53(uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.ns.yp.to) for cr.yp.to failed: connection refused.
;; communications error to 131.155.70.13#53: end of file
;; Connection to 131.155.71.143#53(uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.ns.yp.to) for cr.yp.to failed: connection refused.
;; communications error to 131.193.32.147#53: end of file
;; connection timed out; no servers could be reached