我尝试使我的子域名在 Centos 5 和 Tinydns 上运行。我添加了:
+en.mydomain.com:ip_address:3600
保存并执行:
make
没有错误。但 ping 不显示此子域。我该怎么做才能使用子域使我的子域正常工作以及如何诊断现在出了什么问题?
根据@womble 的说法,我提供了“检查您的计算机地址”的结果: http://cr.yp.to/djbdns/run-server.html
- 反向查找:12 my_ip.in-addr.arpa:(不好?)。
- 我得到了一些 netstat 结果
- Tinydns-get 大小为 92,因此小于 512。
- 在我的服务器 ip 上发出的 en.mydomain.com 上的 dnsq 返回有效答案
- Dnsqr en.mydomain.com 没有返回答案(这不太好吧?)
- /var/tinydns/log/main 文件夹是空的,所以我无法诊断日志文件(如何启用它?)
Dnstrace显示:
0:.:.:开始:NS:.:. 0:.:.:开始:A:.:my_ip 1:en.mydomain.com:.:my_ip:tx 1:en.mydomain.com:.:my_ip:A:en.mydomain.com:my_ip 1:en.mydomain.com:.:my_ip:NS:mydomain.com:ns.lxlabs.com 1:en.mydomain.com:.:my_ip:NS:mydomain.com:ns1.lxlabs.com 1:en.mydomain.com:.:my_ip:answer:en.mydomain.com 86400 A my_ip 1:ns.lxlabs.com:.:my_ip:tx 1:ns.lxlabs.com:.:my_ip:ALERT:查询失败;超时 1:ns1.lxlabs.com:.:my_ip:tx 1:ns1.lxlabs.com:.:my_ip:ALERT:查询失败;超时
希望这有助于提供答案。
答案1
不要使用 ping。直接使用 nslook、dig、dnsq 或任何您喜欢的工具查询有问题的名称服务器。
此外,“检查计算机的地址”部分http://cr.yp.to/djbdns/run-server.html告诉您如何直接查询tinydns数据。
编辑:尝试查看 tinydns 是否在正确的接口上监听,运行:
netstat -an |删除 ".53 "
这将显示在端口 53 上侦听的所有进程。应该有一个外部接口的条目,而不仅仅是环回。
答案2
您可以尝试与权威 DNS 服务器本身进行通信,而不是通过解析器:
dig en.mydomain.com @IP-of-TinyDNS
对于 DNS,如果您认为您做对了,通常只需等待所有其他解析器(对于 DJBdns 程序集,那将是 dnscache)清除,或者您可以强制它(“svc -t /service/dnscache”)清除。
但是 Ping 并不是正确的说法 - 应该是上面的‘dnsip’或较旧的‘dig’。
答案3
您说您运行了 make 但是您是否用 重新启动了服务器svc -t /service/tinydns
?
当然,更改 /service/tinydns 路径以匹配您的设置。