BIND 服务器无法正确识别我的区域

BIND 服务器无法正确识别我的区域

我对 BIND 还很陌生,所以我希望有人可以帮助我理解为什么我无法解决。怎么了?

命名配置文件

options {
        listen-on port 53 { localhost; 10.30.0.10; };
        listen-on-v6 port 53 { ::1; };
        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";
        allow-query     { any; };
        recursion no;
        version "0";


        channel query.log {
                file "/var/log/query.log";
                severity debug 3;
                print-severity yes;
                print-time yes;
        };
        category queries { query.log; };
};
acl "Tele-Subnet" { 10.100.0.0/16; };
view "Tele" {
        match-clients { "Tele-Subnet"; };

        zone "example.net" IN {
                type master;
                file "/var/named/example.net.db";
                allow-update { none; };
                allow-query { any; };
                notify yes;
        };

};

示例.net.db

ORIGIN example.net.
$TTL 86400

example.net.       IN      SOA     10.30.0.10.      admin.example.net. (
                        2012081901      ; serial number YYMMDDNN
                        28800           ; Refresh
                        7200            ; Retry
                        864000          ; Expire
                        86400           ; Min TTL
                        )
        IN      A       10.30.0.10
                NS      10.30.0.10.
                NS      10.30.0.10.






backup    IN       A      10.10.11.230  ; Engine

所以当我查询服务器时,我只能在日志中看到:

2012 年 8 月 19 日 14:45:09.566 信息:客户端 10.100.0.13#5682:查看 Telenor:查询:backup.example.net IN A + (10.30.0.10)

答案1

您的命名配置存在许多问题。我可以挑选的:

  • NS 记录开头缺少“IN”关键字
  • IP 地址不应以点结尾(如前所述)
  • 您的域名服务器应该有一个适当的 FQDN(完全限定域名)。在您的配置中,您当前已设置10.30.0.10为名称服务器的域名。所以bind将转换10.30.0.10.10.30.0.10.example.net.您的域名服务器的 FQDN 应该类似于ns1.example.net..

您可以尝试以下一些 dns 故障排除技巧(如果您还没有这样做):

  • runnamed-checkconfnamed-checkzone实用程序(它们应该是您安装的绑定包的一部分)。像这样运行命令:

    named-checkconf -jpz

    named-checkzone example.net /var/named/example.net.db

运行这些命令后显示的警告/错误消息是什么?

  • 运行 dig 命令(对于基于 debian 的操作系统,您可能需要安装 dnsutils,对于基于 redhat 的操作系统,您可能需要安装 bind-utils)。运行类似这样的命令进行测试:

    dig backup.example.net @localhost
    
  • DNS 服务侦听 udp 端口​​ 53。因此,请确保您的防火墙流量配置为允许 dns 流量。

  • 查看以下网站以获取 dns 配置示例的精彩片段:

http://www.server-world.info/en/note?os=CentOS_6&p=dns&f=1

https://help.ubuntu.com/community/BIND9ServerHowto

答案2

你漏掉了几个点,你确定这不是一个错字吗?

ORIGIN example.net.
$TTL 86400

example.net.       IN      SOA     10.30.0.10.      admin.example.net. (
                        2012081901      ; serial number YYMMDDNN
                        28800           ; Refresh
                        7200            ; Retry
                        864000          ; Expire
                        86400           ; Min TTL
                        )
        IN      A       10.30.0.10.
                NS      10.30.0.10.

backup    IN       A      10.10.11.230.  ; Engine

相关内容