tinydns 的稳定性吗?

tinydns 的稳定性吗?

我正在使用 dnscache 后面的 tinydns 来解析 LAN 上的计算机名称,就像在 Ubuntu 10.04 LTS 上安装的那样。时不时地,网络上的任何计算机都无法解析本地名称,这没有任何解释。似乎 tinydns 不再响应。重新启动服务器有时会有所帮助,但这不是我运行 Unix 服务器的方式。关闭 tinydns 有时似乎也有效,但并非总是如此。

我尝试运行本地 DNS 服务器的总体体验并不好,需要仔细调整 resolv.conf 文件,而且 tinydns 似乎会随机出现故障。如果其他人在使用 djbdns 时遇到问题,请告诉我。DNS 诊断提示也很有用。

更新:

快速检查日志会显示有关 I/O 故障的投诉,然后是有关无法绑定到给定地址的投诉。有时日志中没有任何报告,应用程序只是停止响应。

只是关于设置的一个说明,它本身存在问题。dnscache 在一个 IP 地址的 eth0 上运行,tinydns 最初在另一个 IP 地址的 eth0:0 上运行。(在 127.0.0.1 设置 tinydns 根本不起作用,尽管 djb 说应该可以。)但是,此设置(eth0:0)在重启时不起作用,因为 Ubuntu 在自动启动 eth0:0 时遇到了一些问题。将别名更改为 eth0:1 允许接口在重启时自动启动。对于一个看似简单的任务来说,这比预期的更具冒险性。

目前,我正在完全独立的服务器上尝试 tinydns,如果它稳定的话,我会报告。

答案1

调试这个并不是最容易的,特别是从 UDP 和 tinydns(硬编码端口 53)开始。

首先确保基本配置正确:

  1. 确保 dnscache 和 tinydns 在两个不同的 IP 地址上运行(这样它们就不会窃取彼此的套接字)
  2. 确保您的 127.0.0.1:53 是空闲的,即系统没有其他守护进程在那里监听(netstat -n
  3. 在 127.0.0.1 上运行 tinydns 并使用 手动查询dig yr-authoritative-dom.com @127.0.0.1。这必须始终可靠地工作
  4. 在公共 eth0 IP 地址上运行 dnscache。在 root/servers/ 目录中,将 yr-authoritative-dom.com 指向 127.0.0.1 。在 root/ip 中输入 192.168(或您查询的任何地址前缀)

如果此方法不起作用,请考虑以下可能性:

  • 存在一些资源耗尽问题。尝试暂时禁用 dnscache 日志记录(重命名为“log/run”)并观察问题是否再次出现。
  • 其他一些进程正在将 IP:53 套接字重新绑定到 dnscache 之外。

相关内容