对于我们的小型企业网络,我们托管自己的内部 DNS(命名/绑定)服务器。但是,我们的公司网站由 GoDaddy 进行外部托管。
如果我们使用 ,我们就可以访问我们的外部网站http://www.ourcompany.com
。但是如果我们尝试不使用 www http://ourcompany.com
,浏览器将无法解析地址。我还注意到,在命令提示符下,我们可以成功 ping ,www.ourcompany.com
但不能ourcompany.com
。这些问题似乎只是我们公司网络内部的问题。
无论如何,这是我们的命名区域文件的一部分:
$ORIGIN ourcompany.com.
ourcompany.com IN A 173.201.XXX.XXX
www IN A 173.201.XXX.XXX
server1 IN A 192.168.0.10
server2 IN A 192.168.0.11
serverA IN CNAME server1.ourcompany.com.
serverB IN CNAME server2.ourcompany.com.
etc...
(注:173.201.XXX.XXX
是我们的网站托管的 GoDaddy 地址)
那么我这里的 DNS 配置哪里错了?我需要发布我的吗named.conf
?
此外,有没有办法让 DNS 记录所有 DNS 请求,以便我可以查看日志并准确了解有人发出请求时正在使用哪个区域配置/区域文件?
答案1
您忘记了名称 ourcompany.com 末尾的一个点。实际上,您在此处创建了一个地址 ourcompany.com.ourcompany.com,并带有 ORIGIN 标记
答案2
尝试在以下行中在 ourcompany.com 的末尾添加一个点:
ourcompany.com IN A 173.201.XXX.XXX
即:
ourcompany.com. IN A 173.201.XXX.XXX
或者改变
ourcompany.com IN A 173.201.XXX.XXX
到
IN A 173.201.XXX.XXX
我认为,使用您当前的配置,ourcompany.com.ourcompany.com 就可以工作。
原因是您在 A 和 CNAME 记录中指定的名称附加了 ORIGIN 中定义的域/名称,即,它们是相对于 ORIGIN 的,除非您将它们设为完全限定的域名。
在 ourcompany.com 末尾添加 . 使其完全合格。