Mac OSX 服务器 10.5 外部 DNS 问题

Mac OSX 服务器 10.5 外部 DNS 问题

我买了一个旧的 xserve,服务器版本是 10.5。我按照网上的所有书籍和教程操作,但似乎没有一个解释如何设置名称服务器以供我的网络之外使用(我想运行一个其他人可以使用的开发服务器)

我有一个 2wire 调制解调器,它插入到本地网络的交换机中。我的服务器和客户端都连接到此交换机。2wire 设置为将任何 DNS(端口 53)和 http 流量发送到我的服务器 192.168.1.120(此服务器是否应设置在 DMZ 下??)

我的服务器 DNS 设置如下:主区域 - mydomain.com.,server1.mydomain.com. - 机器 - 192.168.1.120,www - 别名 - server1.mydomain.com。反向显示:192.168.1.120 - server1.mydomain.com

我正在运行 Web 服务并尝试了许多设置,但最终又恢复了默认设置,以便任何发送到 192.168.1.120 的 http 请求都会返回默认页面。

我访问了 godaddy.com,为了更改域名的名称服务器,我需要添加主机。因此,我添加了指向我的静态 IP 的 ns1.mydomain.com 和 ns2.mydomain.com,并将名称服务器从 godaddy 更改为 ns1 和 ns2。

由于我的服务器上没有任何东西可以处理 ns1 和 ns2,因此我在主区域 mydomain.com 下的服务器上添加了名称服务器 ns1.mydomain.com。和 ns2.mydomain.com。

现在我可以在任何浏览器中输入 ns1.mydomain.com 或 ns2.mydomain.com,并获得网络内部或外部的默认页面。

我只能从网络内部访问 www.mydomain.com 或 server1.mydomain.com,当我使用 whatsmydns.com 检查这些 DNS 时,不知为何它显示内部 IP 为 192.168.1.120。这就可以解释为什么我无法访问它。

当我从我的网络内部或外部尝试访问 mydomain.com 时,什么也没有得到,并且 whatsmydns.com 也没有显示任何 DNS 值。

所以现在我真的很困惑问题出在哪里。由于 ns1.mydomain.com 可以工作而 mydomain.com 不行,几乎看起来 mydomain.com 根本没有被转发到我的名称服务器。除了我可以看到 server1.mydomain.com 指向内部网络。我在这里做错了什么?为什么现在在 godaddy 上用作名称服务器的任何东西似乎都指向内部 ip?

抱歉,帖子太长了,如果能提供任何帮助我非常感激。

答案1

Server Admin.app 中的 DNS 接口不适合进行水平分割 DNS 配置。它根本没有展现完成此类配置所需的 bind 的所有灵活性。

如果您仔细查看 OS X Server 上的绑定配置文件,您将能够看到 Apple 如何设置它们,以便您可以直接编辑它们而不会混淆 GUI。 /var/命名包含您可以编辑的区域文件,它们包括相应的文件/var/named/zones你不应该编辑它。他们也做过类似的事情/etc/named.conf以及/etc/dns/

话虽如此,我建议不要在您的服务器上同时进行内部和外部水平分割 DNS 解析,主要因为:

  1. 它有点复杂,而且你失去了以前使用 GUI 时的所有便利

  2. 你有 NAT,这让事情变得更加复杂

  3. 第三方提供的解决方案性能更好、价格便宜/免费,而且更强大

在我的组织中,我们广泛使用 Mac OS X Server 中的 DNS 作为水平分割设置的内部部分。我们使用网络解决方案帐户的“高级 DNS”部分作为外部部分。它随我们购买的域名免费提供,并且冗余度和速度远远高于我自己托管少量域名或外部解析域名所能承受的速度。

答案2

这实际上不是一个 MacOS X 问题,而是一个 NAT 和分割 DNS 问题。

您需要重新配置 BIND 以使用具有两个不同版本区域文件的“视图”,这样从网络内部的访问将提供 192.168.1/24(内部)地址,但从外部转发的请求(通过您的 2-Wire 路由器)将提供您的静态公共 IP。

acl internal {
    127.0.0.0/8;
    192.168.1.0/24;
};

view "internal" {
    match-clients { internal; };
    zone "mydomain.com" {
        type master;
        file "/etc/bind/internal/db.mydomain.com";
     };
};

view "external" {
    match-clients { any; };
    zone "mydomain.com" {
        type master;
        file "/etc/bind/external/db.mydomain.com";
    };
};

此示例摘自http://www.howtoforge.com/two_in_one_dns_bind9_views,其中还有更多信息。

相关内容