让本地 DNS 和名称服务器可从互联网访问

让本地 DNS 和名称服务器可从互联网访问

我介绍一下背景:我有公共固定 IP,它在 wan 上设置为我的 pfSense;我的局域网上有互联网;在我的局域网中我有一个本地 DNS 服务器(ubuntu 22.04,带有 bind9,ip 为 10.14.14.10),我在其中设置了我购买的实际域名(mm-it.ro)的区域;在注册表上(我从那里购买了域名)。我将域 mm-it.ro 设置为指向我的公共 IP(86.125.220.243);在 pfSense 中,在常规设置中,我输入了内部 DNS 服务器的 IP,在 NAT&Rules 中,将 wan 上端口 53 的所有内容设置为指向我的本地 DNS 服务器 IP。

现在:在局域网中一切正常;我可以从我的局域网中的任何客户端在浏览器中解析:www.mm-it.ro,mail.mm-it.ro。但是从互联网上我无法访问该域名;我在注册网站注册该域名的公共 IP 后,等待了大约 72 小时才进行传播;我没有做任何更改:无法 ping 到 mm-it.ro 或 ns1.mm-it.ro;在 mxtoolbox 的 DNS 查找中显示“DNS 没有有效的名称服务器响应”,在我选择“查找问题”后,它显示Unable to resolve "mm-it.ro" to an IP address

我不知道问题出在哪里:在 pfSense 中还是在我的 dns 服务器设置中,因为在我的本地网络中,一切正常?下面找到我在可能服务器上的设置

db.mm-it.ro (fw)

$TTL    604800
@       IN      SOA     ns1.mm-it.ro. admin.mm-it.ro. (
                              6         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.mm-it.ro.
        IN      MX      10      mail.mm-it.ro.
ns1     IN      A       10.14.14.10
mm-it.ro.       IN      A       10.14.14.10
www     IN      A       10.14.14.11
mail    IN      A       10.14.14.12 

db.10(反向)

$TTL    604800
@       IN      SOA     ns1.mm-it.ro. admin.mm-it.ro. (
                              5         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.
10      IN      PTR     ns1.mm-it.ro.
10      IN      PTR     mm-it.ro.
11      IN      PTR     www.mm-it.ro.
12      IN      PTR     mail.mm-it.ro.

命名的.conf.本地

zone "mm-it.ro" {
        type master;
        file "/etc/bind/db.mm-it.ro";
};

zone "14.14.10.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.10";
};

命名的.conf.选项

acl ips {
        86.125.220.243;
        localhost;
        localnets;
        10.14.14.0/24;
};

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        recursion yes;
        allow-query { ips; };
        allow-query-cache { ips; };
        allow-recursion { ips; };

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        
        dnssec-validation auto;

        listen-on-v6 port 53 { ::1; };
        listen-on port 53 { 127.0.0.1; 10.14.14.10; };
};

在 pfserver 中,有规则将来自 WAN 端口 53 的所有内容重定向到端口 53,再重定向到我的 dns 服务器(其 IP 为 10.14.14.10)。我还禁用了服务Dns ResolverDNS Forwarder

请帮我指出问题可能出在哪里。

答案1

虽然正如其他人所建议的那样,考虑到不同域中的胶水记录或 A 记录已发布,完全可以从域内部为您的域提供服务,但请不要这样做。认真的说。

DNS 托管非常便宜 - 大多数注册商在注册时免费提供它。相反,在互联网上运行任何类型的服务器都需要高水平的技能和投资来强化和持续监控/维护。存在很大的风险,您的 DNS 服务器和您的域名可能会被滥用于非常邪恶的目的,而您对此一无所知,直到警察来敲门。

答案2

谢谢大家的回答。我知道​​我还必须为外部/互联网(分屏视图)设置另一个区域。但我最终在 pfsense 中安装了 bind,并在那里进行了所有设置,现在它可以正常工作了。谢谢。

相关内容