DNS 无法访问

DNS 无法访问

我想知道在 RedHat 上设置 DNS 服务器时我做错了什么。 DNS 服务器仅解析内部网络内的名称。示例:server1.test.net 将解析 -> 172.16.32.100.. 依此类推。

我目前只能解析服务器内的名称,使用服务器进行 nslookup,它可以在 127.0.0.1 上解析,但是使用同一网络上的另一台计算机,我得到“服务器无响应” - 特别是来自窗户机器。

目前在推出之前在虚拟机上运行它。

在 Linux 防火墙上,我允许 tcp/udp 53。


//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
    listen-on port 53 { 140.38.85.250; 127.0.0.1; };
    listen-on-v6 port 53 { none; };
    #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; };

    /* 
     - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
     - If you are building a RECURSIVE (caching) DNS server, you need to enable 
       recursion. 
     - If your recursive DNS server has a public IP address, you MUST enable access 
       control to limit queries to your legitimate users. Failing to do so will
       cause your server to become part of large scale DNS amplification 
       attacks. Implementing BCP38 within your network would greatly
       reduce such attack surface 
    */
    recursion yes;

    dnssec-enable no;
    dnssec-validation no;
    dnssec-lookaside auto;

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";

    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
    type hint;
    file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

zone "sads.com" {
    type master;
    file "/var/named/sads.com.hosts";
    };

编辑 1:我确实使用 webmin 来配置服务器,因为我似乎无法真正正确地编辑和创建文件。

答案1

/etc/named.conf 的一些问题

没有理由避免监听 IPv6 ::1。这是 IPv4 127.0.0.1 的 IPv6 等效项。取消注释:

#listen-on-v6 port 53 { ::1; };

如果服务器要:

仅解析内部网络内的名称

您不想只回答任何源 IP,而只回答内部网络中的 IP。设置(例如):

allow-query { 172.16.0.0/12; 192.168.196.0/24; localhost; };

另外,你也做不是需要激活递归。如果要启用递归,服务器将连接到互联网来查找和解析外部名称(不仅仅是 172.16.xx 中的名称(aRFC 1918地址))。

为了简单起见,只需设置:

recursion no

如果您将来需要此服务器解析其他 Internet 名称,则需要创建水平分割 dns 服务器(相当复杂)。

无需设置 dnssec(可能您的本地名称不使用它们)。
但特别的是,没有理由启用DLV。在根域进行 DNSSEC 签名之前,这是一个旧的解决方案。那件事发生在2010年7月左右。只需注释所有dnssec行和bindkeys行即可。

现在,您需要设置一个权威的本地域名。您可以将其称为company.priv.site.internal.或其他名称。避免使用该something.local.名称,因为 Apple Bonjour 系统为此类域名提供了特定用途。

我没有看到任何与您提供的文件中的内容非常相似的内容。

看起来您正在遵循甚至不适用于私有本地域的旧指南。在互联网上搜索“将绑定服务器设置为本地域权威”以查找帮助。

这个链接可能就是你所需要的。

设置 DNS 服务器(特别是几个权威服务器)是不是5分钟的工作。它需要一些时间的工作和测试。

相关内容