** 已解决 ** - 谢谢大家,现在可以正常工作了。我还输错了开发箱的 IP >_<
更新2-好的,解析错误已消失,系统日志中不再有错误。我仍然无法使用 dev1 进行 ping,但我可以使用 ip 地址。有什么想法吗?我更新了 /etc/bind/local-network(见下文)。我的 resolv.conf 包含 - nameserver 10.0.1.2
我执行 ping dev1 操作,得到结果为:ping:unknown host dev1,结果会显示在系统日志中。
Jun 1 17:14:50 local-dns named[2892]: network unreachable resolving 'dev1/A/IN': 2001:dc3::35#53
Jun 1 17:14:51 local-dns named[2892]: network unreachable resolving 'dev1/A/IN': 2001:500:3::42#53
Jun 1 17:14:51 local-dns named[2892]: network unreachable resolving 'dev1/A/IN': 2001:503:c27::2:30#53
Jun 1 17:14:53 local-dns named[2892]: network unreachable resolving 'dev1/A/IN': 2001:500:1::803f:235#53
Jun 1 17:14:54 local-dns named[2892]: network unreachable resolving 'dev1/A/IN': 2001:500:2f::f#53
Jun 1 17:14:58 local-dns named[2892]: network unreachable resolving 'dev1/A/IN': 2001:7fd::1#53
Jun 1 17:14:59 local-dns named[2892]: too many timeouts resolving 'dev1/A' (in '.'?): disabling EDNS
关于如何进一步诊断,您有什么想法吗?
更新1-我在我的系统日志中看到这个错误:(我不知道它在哪里认为语法无效)
Jun 1 16:19:08 local-dns named[2402]: dns_rdata_fromtext: /etc/bind/local-network:7: near eol: unexpected end of input
Jun 1 16:19:08 local-dns named[2402]: zone local-network/IN: loading from master file /etc/bind/local-network failed: unexpected end of input
我已经使用 /etc/hosts 一段时间了,管理起来越来越麻烦。我有兴趣在家用局域网的 Linux 服务器上使用 BIND。我希望我的网络上的任何计算机都可以访问服务器“dev1”和“dev2”,而无需在 hosts 文件中进行设置。
以下是我的开发箱的 IP 映射:dev1 -> 10.0.1.50 dev2 -> 10.0.1.51
我将 DNS 服务器设置为使用 10.0.1.2
我在网上查看了一些资源,但还没能让它发挥作用。以下是我目前所拥有的-
这是我的 /etc/bind/named.conf.local 中的内容:
zone "local-network" {
type master;
notify no;
file "local-network";
};
在 /etc/bind/local-network 中:
$TTL 3D
@ IN SOA ns.local-network. ns.local-network. (
199802151 ; serial, todays date + todays serial #
28800 ; refresh, seconds
172800 ; retry, seconds
2419200 ; expire, seconds
86400 ; minimum, seconds
)
;
NS ns.local-network. ; Inet Address of name server
;
localhost IN A 127.0.0.1
ns IN A 10.0.0.2
dev1 IN A 10.0.0.50
dev2 IN A 10.0.0.51
看起来对吗?
然后,一旦设置了 dns 服务器,我需要告诉执行 dhcp 的路由器使用我刚刚设置的内部 dns 服务器而不是我的 IPS,这样 LAN 上的所有计算机都会使用它——对吗?
答案1
是的,大部分情况下。你的SOA 记录但缺少负责人的电子邮件地址。
答案2
使用 dnsmasq。它是一款轻量级 DHCP/DNS 服务器。它会自动将 /etc/hosts 和 DHCP 租约中的内容作为 DNS 条目提供,并将其他所有内容转发到您的 ISP 的 DNS 服务器。
效果非常好,配置也极其简单。
答案3
我将完全限定您的named.conf.local中的文件命令,因此它看起来像
file /etc/bind/local-network
另外我要确保绑定守护进程用户具有区域文件的读取权限。
/var/log/messages 或 /var/log/daemon.log 中是否有任何错误消息?(我已经看到 bind write 到这两个地方。)
$ORIGIN .
$TTL 3600 ; 1 hour
domain.com IN SOA ns1.domain.com. user.domain.com. (
2008123002 ; serial
900 ; refresh (15 minutes)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS ns1.domain.com.
A <ip of host>
$ORIGIN domain.com.
ns2 IN A x.x.x.x
ftp IN A x.x.x.x