私はいくつかの大きなWebホストのDNSサーバーの監視を設定するプロセスです。私の目標は、pingに対する応答を追跡することにより、DNSサーバーの応答時間を比較することです。
その過程で、Bluehostネームサーバーがpingに応答しないことを発見しました。 bluehost.comのPingdom DNS Check を実行して詳細情報を取得しようとしたところ、次のエラーが発生しました。
ネームサーバーns1.bluehost.com(74.220.195.31)は、TCP経由のクエリに応答しません。
ネームサーバーは、TCP経由で送信されたクエリに応答できませんでした。これはおそらく、ネームサーバーが正しくセットアップされていないか、ファイアウォールでの構成が誤っているためです。 DNSがゾーン転送を提供しない限り、DNSにTCPが必要でないというのはかなり一般的な誤解です-おそらく、ネームサーバー管理者はTCPが通常は要件であることを認識していません。
以下について知りたいのですが。
Pingdomからの診断テキストは正確です。 TCP is notゾーン転送のみ。
DNSサーバーの実装are TCPをサポートするために(RFCが何かを必要とするのと同様に) "必須" RFC 5966 に従って、DNSトランスポートがTCP-実装要件」。
これはサーバーソフトウェアの実装の要件であり、notはすべてのサーバーの操作に厳密に適用されます。操作の実践はカバーされていません。
つまり、特定のDNSサーバーがTCPをサポートするように構成されていない場合、またはTCPがブロックされている場合、長期的な影響により、DNSSECを正しくサポートできなくなります。同様に、512バイトを超える応答を引き起こす他のDNSデータはブロックされる可能性があります。
ob免責事項:私はそのRFCを書きました。
[〜#〜] edit [〜#〜]RFC 5966は RFC 7766 に置き換えられました
TCPおよびUDP-TCPは512バイトを超える応答サイズ用です(ゾーン転送を含む))(私が読んだものによると、とにかく、私は通常TCPおよび実行しているNSのUDPを有効にします...)