bind9 DNS 在 OSX 机器上可预测地工作,但在 Windows 机器上则不然。

bind9 DNS 在 OSX 机器上可预测地工作,但在 Windows 机器上则不然。

我已经使用 bind9 设置了 DNS 服务器。目的是创建一个区域,这样开发人员就可以浏览他们的工作,只要 Apache2 配置中有匹配的虚拟主机,任何地方都可以something.dev.disomething

这在我的 OSX 机器上按预期运行。但在 Windows 8.1 机器上测试时产生了令人困惑的结果。

我有一个虚拟主机,其中服务器名称设置是example_site.dev.di- 这在 OSX 机器上运行良好,但在 Windows 机器上我得到“未找到服务器”。

因此我做了一些随机测试,发现几个地址在 OSX 上可以运行,但在 Windows 上却不行。

例如,在 OSX 上,test.dev.di 可以正常运行,它会按预期显示默认网站,因为没有等效的虚拟主机。但在 Windows 上,它会失败。

其他在 OSX 上运行但在 Windows 上运行不成功的示例:

something.dev.di(但anything.dev.di确实有效),,testing.dev.dia.dev.diy.dev.di确实有效),实际上除了“t”和“y”以及数字 6 和 8 之外,所有单个字符都失败。

以下是我对 bind9 配置所做的唯一更改:

我在/etc/bind/named.conf.local空白处添加了一些评论:

zone "dev.di" {
        type master;
        file "/etc/bind/db.dev.di";
};

我创建了一个名为的文件/etc/bind/db.dev.di并输入以下内容:

;
; BIND data file for development server
;
$TTL 14400
@ IN  SOA dev.di. root.dev.di. (
            2014072001   ; Serial
                 86400   ; Refresh
                  7200   ; Retry
               3600000   ; Expire
                 86400 ) ; Negative Cache TTL
;
@ IN  NS  dev.di.
@ IN  A 192.168.1.201
* IN  A 192.168.1.201
@ IN  AAAA  ::1

我不知道如何解决这个问题,因为成功/失败似乎是如此随机。

答案1

嗯……令人困惑……我找到了解决这个问题的方法。我仍然不明白最初的问题是什么,但当我执行以下操作时,它就消失了:

我已经在用于测试的每台机器上设置了 DNS 服务器,因为我不想惹恼今天早上全力攻击互联网的“超级用户”。超级用户指的是我的妻子。

无论如何,当她离开她的机器时,我在路由器上设置了 DNS 服务器并从所有本地机器上删除了对它的引用,然后重新启动了一切。

现在它正常工作了。而且我的妻子甚至没有注意到我关闭了网络。我认为总体来说效果不错!

相关内容