我在 CentOS 虚拟机中配置了一个 DNS 服务器,该服务器连接到 vmnet2(仅主机)IP 192.168.0.0/24。它工作正常。然后我设置了另一个适配器并将其设置为 NAT 以获取互联网连接。然后我尝试了 nslookup 命令,它尝试使用 isp dns 服务器进行解析。我的要求是,首先它应该尝试使用本地 dns 进行解析,如果不行,它应该转发到 isp 端,我的 nat iprange 是 192.168.205.0/24。
我的 resolv.conf
# Generated by NetworkManager
#search server
search sithila.server
nameserver 192.168.0.10
[ other commented material deleted ]
具有一个网卡(vmnet2)的 nslookup 输出
[sithila@sithila ~]$ nslookup www.sithila.server
Server: 192.168.0.10
Address: 192.168.0.10#53
Name: www.sithila.server
Address: 192.168.0.10
具有两个网卡(vmnet2 和 NAT)的 nslookup 输出
[sithila@sithila ~]$ nslookup www.sithila.server
Server: 192.168.205.2
Address: 192.168.205.2#53
** server can't find www.sithila.server: NXDOMAIN
答案1
好的,根据上面的评论主题,我们现在已经确定您的服务器询问了错误的服务器,因为 中列出了错误的服务器/etc/resolv.conf
。这很好,它应该为您提供一个方便的实例课程,即当你测试某些东西(例如文件的内容)以查看它是否会导致问题时,你应该在问题发生时执行测试!
至于你的第二个问题,我认为没有办法通过 来实现这一点resolv.conf
。相反,你应该配置本地名称服务器以使用上游名称服务器作为转发器; 中的条目named.conf
看起来应该类似于
zone "." {
type forward ;
forwarders {
192.168.205.2 ;
} ;
} ;
这会告诉您的本地名称服务器将其无法回答的任何问题转发到上游服务器;然后,您可以只在中列出您的本地名称服务器resolv.conf
,它应该会相应地处理所有查询。