LAN 的 DNS 服务器

LAN 的 DNS 服务器

** 已解决 ** - 谢谢大家,现在可以正常工作了。我还输错了开发箱的 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

相关内容