我正在尝试在我的 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