Debian 7 + Bind 9 - 全新安装
我购买了 elfoip.net(为了实验,所以它是我的,并且仅用于了解 dns,所以请不要指责我隐藏广告!)
我的注册商告诉我,我的 elfoip.net 域名设置为对任何 elfoip.net 子域名具有权威性。
首先,我只是想尝试访问我的 www。
[切]
对吗?www.elfoip.net 没有响应。我该如何诊断问题所在?
编辑 1:应用了您的所有建议后更新文件,但仍然不起作用:
root@elfoip:/etc/bind# cat named.conf.local
zone "elfoip.net" {
type master;
file "/etc/bind/elfoip.net.db";
};
root@elfoip:/etc/bind# cat elfoip.net.db
$TTL 2d
$ORIGIN elfoip.net.
@ IN SOA ns1.elfoip.net. hostmaster.elfoip.net. (
2003080801 ; se = serial number
12h ; ref = refresh
15m ; ret = update retry
3w ; ex = expiry
2h ; min = minimum
)
@ IN NS ns1.elfoip.net.
@ IN NS ns2.elfoip.net.
elfoip.net IN A 127.0.0.1
@ IN A 109.168.99.6
www IN CNAME elfoip.net.
实际上不工作
root@elfoip:/etc/bind# dig @localhost www.elfoip.net
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @localhost www.elfoip.net
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 18850
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.elfoip.net. IN A
;; Query time: 1 msec
;; SERVER: ::1#53(::1)
;; WHEN: Fri Jun 21 14:49:44 2013
;; MSG SIZE rcvd: 32
whois 查询结果:ispeed 是我购买 elfoip.net 的地方
root@elfoip:/etc/bind# whois elfoip.net|grep 'Name Server'
Name Server: NS01.ISPEED.IT
Name Server: NS02.ISPEED.IT
编辑:从运行 bind9 的同一台机器添加这个简单的 ping 测试
root@elfoip:/etc/bind# ping www.elfoip.net
ping: unknown host www.elfoip.net
root@elfoip:/etc/bind# ping elfoip.net
ping: unknown host elfoip.net
编辑:结论:我要求我的注册商在 opensrs 上为我的域名创建一个名称服务器。现在一切正常!该死
但是:我发帖时配置文件确实有错,所以我对所有答案都投了赞成票,并选择了得票最多的答案作为最佳答案。谢谢大家。
答案1
您的配置中仍然有“example.com”,对吗?此外,.net 名称服务器告诉我,ns01.ispeed.it 和 ns02.ispeed.it 由注册商配置为您的域名的名称服务器。这些名称服务器响应 elfoip.net,但不响应您显示的数据,这些似乎是意大利提供商的名称服务器,而不是您的名称服务器。
您的注册商需要更改您的域名的 NS 记录,或者您需要开始使用他们的名称服务器。
% whois elfoip.net|grep 'Name Server'
Name Server: NS01.ISPEED.IT
Name Server: NS02.ISPEED.IT
% dig ns elfoip.net @d.gtld-servers.net|grep '^elfoip'
elfoip.net. 172800 IN NS ns01.ispeed.it.
elfoip.net. 172800 IN NS ns02.ispeed.it.
% dig +short SOA elfoip.net @ns01.ispeed.it.
ns01.ispeed.it. postmaster.elfoip.net. 2013052402 43200 3600 1209600 3600
答案2
您当前的配置有 NS 记录,但这些 NS 记录的目标没有 A 记录。这种错误可能最终对某些人(仅使用胶水 IP)有效,而对其他仅使用胶水查找权威服务器的人则失败。
记录看起来应该是这样的:
@ IN NS ns1.elfoip.net.
@ IN NS ns2.elfoip.net.
ns1 IN A 109.168.99.6
ns2 IN A 109.168.99.7
还请注意,RFC 指出您应该拥有 2 到 5 个名称服务器,并且它们应该尽可能分开(不同的网络、不同的大洲、不同的服务提供商等)以提高其可用性。您可以对此持保留态度,但在单个 VPS 上运行一个名称服务器可能会导致比分布更广的设置更多的停机时间。
答案3
您需要在 dns 中的 fqdn 末尾添加 .。这样就可以了。您还需要添加 A 记录,以便 bind 知道 elfoip.net ip 应该是什么
@ IN A 1.2.3.4
www IN CNAME elfoip.net.
如果在结尾处没有句点www.elfoip.net.elfoip.net
,bind 会使主机名终止,因此它会停止在www.elfoip.net
还
zone "example.com" {
应该
zone "elfoip.net" {
答案4
看起来这里有几件事。
正如之前的帖子所说,您需要在 cname 后包含。
如果您没有 elfoip.net 的记录,www 也无法正常工作。您需要 A 记录,或者如果您要将其发送到其他域,则可以使用其他 CNAME。
IN A 127.0.0.1
当然,请将 127.0.0.1 替换为您的真实 IP。您会注意到,此条目没有前缀,这告诉 DNS 这是主域 elfoip.net 的条目。
一旦您的 DNS 条目正确无误,您将需要更改您的名称服务器以指向您与注册商一起设置的服务器。不过在此之前,您可以使用 dig 测试您的设置。
挖掘@localhost www.elfoip.net