在 CentOS 上使用绑定的 DNS 服务器 - 无法解析

在 CentOS 上使用绑定的 DNS 服务器 - 无法解析

我正在尝试为标准局域网区域设置 DNS。我现在已经阅读了所有可用的信息,但 DNS 服务器仍然无法通过 nslookup 或 dig 进行解析,例如“nslookup router.local.lan”=> ** 服务器找不到 router.local.lan:NXDOMAIN

named.conf 文件:

options {
    directory   "/var/named";
    dump-file   "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        // Forward any unresolved requests to DNS of ISP
    allow-recursion {
        localhost;
        192.168.1.0/24;
        };
        forwarders {
        217.237.151.51;
        };
};

zone "local.lan" {
        type master;
        file "lan.zone";
        notify yes;
};

lan.zone 文件

$TTL 3600
@ IN     SOA    romeo0.local.lan. admin.local.lan. (
            2013061001  ; Serial
            3H          ; refresh after 3 hours
            1H          ; retry after 1 hour
            1W          ; expire after 1 week
            1D)         ; minimum TTL of 1 day
@   IN  NS  romeo0.
@      IN      A        192.168.1.160
router   IN      A      192.168.1.1
romeo1   IN      A      192.168.1.161

有人能帮我找出我犯的错误吗?任何帮助我都非常感谢。

编辑:我找到了解决方案:resolve.conf 中的 DNS 服务器是错误的,我需要删除 yoonix 指出的点

答案1

yoonix 是正确的,此行中的“。”:

@   IN  NS  romeo0.

不正确。另外,你有 romeo0 的 A 记录吗?我猜是这样的,但我认为你想要的是:

         IN      NS     romeo0.local.lan.
romeo0   IN      A      192.168.1.160
router   IN      A      192.168.1.1
romeo1   IN      A      192.168.1.161

从:http://www.zytrax.com/books/dns/ch8/origin.html

符号 @ 强制替换 $ORIGIN 的当前值(或合成值)。@ 符号被替换为 $ORIGIN 的当前值。

相关内容