我正在实现一个 dns 客户端,我在其中尝试连接到本地 dns 服务器,但 dns 服务器返回错误代码为 5 的消息,这意味着它拒绝连接。
关于为什么会发生这种情况的任何想法?谢谢
最佳答案
DNS 响应错误代码 5(“拒绝”)并不意味着与 DNS 服务器的连接被拒绝。 这意味着 DNS 服务器拒绝提供您要求的任何数据,或拒绝执行您要求它执行的任何操作(例如动态更新)。
既然你提到“连接”,我假设你使用的是 TCP? DNS 主要使用 UDP,一些 DNS 服务器将拒绝所有通过 TCP 的请求。 因此,解决方案可能与切换到 UDP 一样简单。
否则,假设您是从头开始构建自己的 DNS 客户端,我的第一个猜测是您的请求格式不正确。尽管 DNS 协议(protocol)看起来相当简单,但很容易出错。
最后,DNS 服务器当然可以简单地配置为拒绝您提出的任何请求。
关于DNS 服务器拒绝连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1696407/