我试图了解 DNS 和 nslookup 如何工作,我有点困惑。
这是一个测试设置,我有一个带有 IP 192.168.102.159
(A Cent OS VM)的 DNS 服务器,该 DNS 配置了一个区域abc.i
。
当我 nslookup 时,abc.i
结果显示的服务器地址192.168.102.2
是 VM Workstation 的默认网关的 IP 地址,这让我很困惑,我的 DNS 正常工作吗?
它不是应该返回 DNS 服务器地址吗192.168.102.159
?
上面屏幕截图中的 nslookup 查询是在 PuTTY 中运行的,通过它我以 root 用户身份登录到 DNS 服务器,基本上我在 DNS 服务器本身上运行 DNS 查询,查询它自己的 IP。
如果有人可以稍微澄清一下,那真的很令人困惑。
此外,如果这不是测试的方法,我还能用什么方法测试它?
答案1
“它不是应该返回 DNS 服务器地址 192.168.102.159 吗?”
是的你是对的。
另一方面,我认为您误解了 nslookup 命令的输出。根据您发布的图片,您的 DNS 服务器找不到您请求的记录,因此显示NXDOMAIN
。
我还注意到你说你配置了一个名为的区域abc.i
并要求ns1.abc.ie
而不是ns1.abc.i
如果您使用的是 VMware Workstation,并且虚拟机的网卡设置为 NAT,VMWare 将通过 DHCP 分配一个 IP,默认情况下,该 IP 通常以 192.168.x.2 结尾。您可以在文件中更改客户端虚拟机正在查询的 DNS 服务器/etc/resolv.conf
。
语法如下:
search abc.i
nameserver 192.168.102.159
我希望这有帮助。
答案2
您误解了您的结果nslookup
。
服务器未针对您的请求返回任何内容。它未返回192.168.102.2
。
它实际上说的是,它查询了192.168.102.2
处的DNS 服务器ns1.abc.ie
,但响应的域名不存在。换句话说, 处的服务器192.168.102.2
对 一无所知ns1.abc.ie
。
运行时,nslookup
它默认查询网络设置中配置的 DNS 服务器。显然,您的服务器配置了 DNS 服务器 IP 地址192.168.102.2
。您可以在 中检查/etc/resolv.conf
。
如果您想查询不同的服务器,则需要使用服务器指令。
nslookup
server 192.168.102.159
ns1.abc.ie
但是,您没有提到您的区域文件中是否确实有 A 记录ns1
。如果不存在,您将得到相同的响应NXDOMAIN
。
如果您想为您的服务器配置静态 DNS 服务器。这与目前的问题并不相关。请阅读此处:http://ask.xmodulo.com/configure-static-dns-centos-fedora.html
答案3
这个问题已经解决了,显然,我太关注它了,甚至忘记了我正在使用一个没有正确配置的客户端机器来检查 DNS,尽管客户端和 Cent OS 一样处于 NAT 网络中,但它并没有由 Cent OS 服务器发出 DHCP,因此它也没有任何 DNS 配置,我正在通过客户端手动添加 DNS 条目进行测试。
最后,我像以前一样通过腻子对其进行了测试,正向和反向查找均已解决。
谢谢大家的时间,我很感激。