如何将我的 BIND DNS 服务器公开?

如何将我的 BIND DNS 服务器公开?

我有一个 BIND 服务器,运行一个使用桥接网络的虚拟机。我已允许它通过防火墙:sudo firewall-cmd --zone=public --add-port=53/udp并在路由器上添加了端口转发配置:

我正在运行 CentOS 8。我的主要目标是使 DNS 服务器可从网络外部访问,并且如果您使用的是其他 DNS 服务器(例如 Google 的公共 DNS)。以下是我的配置文件:

named.conf

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

options {
        listen-on port 53 { 127.0.0.1; 192.168.1.20; };
//      listen-on-v6 port 53 { ::1; };
        forwarders { 8.8.8.8; 8.8.4.4; };
        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     { localhost; 192.168.1.0/24 };
        recursion yes;


        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;


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


        managed-keys-directory "/var/named/dynamic";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};

zone "jpac14.io" IN {
        type master;
        file "jpac14.io.zone";
};

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

Zone Config: jpac14.io.zone

$TTL 1D
@   IN SOA  epc.jpac14.io.   root.epc.jpac14.io. (
                                       2020032001      ; serial
                                       1D              ; refresh
                                       1H              ; retry
                                       1W              ; expire
                                       3H )            ; minimum

$ORIGIN         jpac14.io.
jpac14.io.              IN      NS      epc.jpac14.io.
epc                     IN      A       127.0.0.1
beastpanel              IN      A       51.81.24.156

答案1

我不知道这是否属实,但如果您想将域名添加到网络,则需要拥有 ICANN 许可证。您可以创建一个公共 DNS 服务器,但只有使用该 DNS 服务器的人员才能访问这些记录。如果您希望其他 DNS 服务器(例如 Google 的公共 DNS)获取您的 DNS 服务器记录,则需要注册 ICANN 许可证,而获得许可证需要花费一大笔钱。我不知道这是否完全属实,但很想听听您的反馈。您可以创建一个 DNS 服务器,但它只是一个缓存服务器,如果不购买 ICANN 许可证,它就不会像 Google 的公共 DNS 那样将新域名附加到互联网。我想我不会创建 DNS 服务器,而只会处理内部事务,最好购买 Namecheap 域名。

相关内容