可以通过 IP 地址 ping 通,但不能通过主机名 ping 通

可以通过 IP 地址 ping 通,但不能通过主机名 ping 通

我有 3 个 Debian VM。1)DNS 2)DHCP 3)客户端

DHCP 看起来不错。我在 DNS 和客户端上获得了我想要的固定地址。

当我尝试 ping 每个 @ip 时,它都会响应。如果我尝试:

ping dhcp

但我得到了一个:

unknown host dhcp

nas 也一样。

我不知道它来自哪里,因为我已经正确设置了我的区域和数据库文件。

命名的.conf.本地

//
// Do any local configuration here
//
zone "pro.lan" {
     type master;
     file "/etc/bind/db.pro.lan";
};

zone "84.168.192.in-addr.arpa" {
     type master;
     file "/etc/bind/db.pro.lan.inv";
};


// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

数据库.pro.lan

$TTL 604800
@ IN SOA dns.pro.lan. root.pro.lan. (
  2015052401
  604800
  86400
  2419200
  604800
)

pro.lan IN NS   dns.pro.lan.

dns     IN A    192.168.84.50
dhcp    IN A    192.168.84.51
nas     IN A    192.168.84.10

数据库.pro.lan.inv

$TTL 604800
@ IN SOA dns.pro.lan. root.pro.lan. (
  2015052401
  604800
  86400
  2419200
  604800
)

IN      NS      dns.pro.lan.
50      IN PTR  dns
51      IN PTR  dhcp
10      IN PTR  nas

编辑:我修改了文件,感谢@Eric Renouf

named-checkconf 

看起来不错,但是

named-checkzone pro.lan db.pro.lan
zone pro.lan/IN: has no NS records

与 rDNS 文件相同。

答案1

我认为问题可能出NS在 db.pro.lan 中的记录上。您的行以 which 开头,pro.lan而不是以 a 结尾,因此.pro.lan自动添加 ,bind因此您的域将变成pro.lan.pro.lan.which ,这不是您想要的。

如果您只是删除,pro.lan您应该会从该区域获得所需的内容。因此,您的 NS 记录现在将如下所示:

    IN NS dns.pro.lan.

确保增加计数器(2015052401在你的情况下,应该变成2015052501)然后执行rndc reload

答案2

当您运行“ ping dhcp”时,执行名称查找的库代码将查找您的本地域名,并将其/etc/resolv.conf附加到“ dhcp”中,以使dhcp.pro.lan

如果“ ping dhcp.pro.lan”有效而“ ping dhcp”无效,则需要添加:

domain pro.lan
search pro.lan

/etc/resolv.conf

相关内容