本地站点的 Mac OS X Lion BIND DNS 设置不起作用

本地站点的 Mac OS X Lion BIND DNS 设置不起作用

我正在尝试在我的 Mac 上设置一个 Web 应用,以便我的网络上的人员可以通过http://custom.local/

我可以在 Mac 上访问它,因为我已经设置了 Apache VirtualHost,并且在/etc/hosts

127.0.0.1       custom.local

我运行后$ named-checkconf /etc/named.conf什么也没返回,

我跑$ named-checkzone custom.local /var/named/custom.local.zone

返回

zone hercules.local/IN: loaded serial 2012032301
OK

但网络上的其他人仍然无法访问该域。

我有/var/named/custom.local.zone

;BIND db file for custom.local

$ORIGIN custom.local.
$TTL 86400

@       IN      SOA     custom.local. root.custom.local.    (
                        2012032301      ; serial number as yymmddnn
                        15      ; refresh
                        3600    ; retry
                        3000000 ; expire
                        86400   ; min ttl
        )

        NS      custom.local.
custom.local. IN      A       127.0.0.1

以及/etc/named.conf

zone "custom.local" IN {
        type master;
        file "custom.local.zone";
};

当我跑步时$ rndc reload$ rndc flush我得到

WARNING: key file (/private/etc/rndc.key) exists, but using default configuration file (/private/etc/rndc.conf)
server reload successful

我错过了什么?

答案1

您尝试连接的其他计算机是否运行 OS X 或其他操作系统?如果是其他操作系统,则需要配置它们以使用您的 Mac 作为其 DNS 服务器(否则对 custom.local 的查找永远不会发送到您计算机上的 BIND)。

如果您尝试从其他 OS X 计算机访问它,情况会有所不同,因为 OS X 使用多播 DNS 而不是标准 DNS 查找来解析 *.local。要实现此功能,请转到(服务器)Mac 上的“系统偏好设置”,打开“共享”窗格,然后单击顶部附近的“编辑”按钮,将 Mac 的 mDNS 名称更改为 custom.local。

答案2

127.0.0.1 是回送地址,这是专门供机器引用自身的。

网络上的任何其他机器都无法将 127.0.0.1 解析到您的机器,因为它已经指向他们自己的机器!

您需要将 IP 更改为您机器在网络上的外部 IP 地址(例如 192.168.1.5)。

另外,要生成 rndc 密钥,请使用:

sudo rndc-confgen -a

相关内容