为什么本地虚拟机不能按照我所想的方式通过 DNS 和 NSLookup 进行解析?

为什么本地虚拟机不能按照我所想的方式通过 DNS 和 NSLookup 进行解析?

我试图了解 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 条目进行测试。

最后,我像以前一样通过腻子对其进行了测试,正向和反向查找均已解决。

谢谢大家的时间,我很感激。

相关内容