我已经在我的 Linux 服务器上设置了绑定 DNS 服务器。但由于某种原因,当没有前缀(如 www)时,它无法解析我的域名的 IP
我尝试使用 nslookup 并将服务器设置为我的 dns 服务器 ip
例如,当我在 www.mydomain.com 上执行 nslookup 时,它会显示我在 bind9 区域文件中定义的 IP,但是当我在 mydomain.com 上执行 nslookup 时,没有返回 IP :(
我的区域文件:
$ORIGIN .
$TTL 86400 ; 1 day
mydomain.com IN SOA ns1.mydomain.com. mail.mydomain.com. (
2017020711 ; serial
28800 ; refresh (8 hours)
7200 ; retry (2 hours)
864000 ; expire (1 week 3 days)
86400 ; minimum (1 day)
)
NS ns1.mydomain.com.
MX 10 mx01.kundenserver.de.
MX 20 mx02.kundenserver.de.
$ORIGIN mydomain.com.
* A 188.***.***.***
www A 188.***.***.***
ability A 5.***.***.***
dyn A 91.44.***.***
nl A 95.46.***.***
ns1 A 188.***.***.***
我希望你能发现我的错误:(
答案1
您需要添加一条记录@
,代表当前的原点。
它看起来应该是这样的:
@ A 188.***.***.***
这是因为通配符(*)记录仅代表子域,而不是主域。
答案2
正如 ConnorJC 所说,您需要一个 @ 记录。这是我在家使用的虚假域名的工作区域文件...请特别注意以下行
@ IN A 192.168.1.2
一旦您添加了它(并增加了您的序列号)并重新启动服务,您就可以开始了。
$TTL 604800
@ IN SOA ns.myhouse.home. root.myhouse.home. (
2016110202 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.myhouse.home.
@ IN A 192.168.1.2
ns IN A 192.168.1.2
router IN A 192.168.1.1
ap IN A 192.168.1.3
server IN A 192.168.1.2
www IN A 192.168.1.2
pi IN A 192.168.1.2