我在 Windows 7 上运行着 Apache。现在,我正在尝试让 Bind DNS 工作。
这是我的 db.eg.com.txt 文件
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.eg.com. root.eg.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.eg.com.
@ IN A 172.16.5.1
ns IN A 172.16.5.1
和我的named.conf文件:
options {
directory "c:\named\zones";
allow-transfer { none; };
recursion no;
};
zone "eg.com" IN {
type master;
file "db.eg.com.txt";
allow-transfer { none; };
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
我这样做很盲目,因为我不知道在 db.eg.com.txt 文件中应该用什么替换“ns.eg.com”中的“ns”和“root.eg.com”中的“root”。当我访问 eg.com 时,它只会带我到 127.0.0.1,而不是 172.16.5.1
知道哪里出了问题吗?
答案1
检查并从 hosts 文件中删除 eg.com
重启绑定
验证 Bind 是否监听 53 端口
nslookup
> server localhost
> eg.com
答案2
您的 named.conf 将域列为,eg.com
但SOA
文件中列出的记录ns.eg.com.
不匹配。将文件SOA
中的记录更改为并重新启动 BIND(或重新加载其配置)。db.eg.com.txt
eg.com.
本质上,您在这里所做的是定义区域主机名的权限起始点,而不是区域本身。如果没有SOA
区域的正确记录,BIND 将无法正确加载区域的配置。