尝试设置仅权威 DNS 服务器。我的域名未指向该服务器

尝试设置仅权威 DNS 服务器。我的域名未指向该服务器

伙计们,我希望可以在这里找到帮助。

我在设置仅权威 DNS 服务器时遇到了问题。

一台服务器是云虚拟服务器 XL(主服务器和 Web 服务器 - 具有 Plesk),另一台是云虚拟服务器 S(从属服务器)。

请注意,服务器具有不同的 IPS 并且不在同一范围内,但它们是这样的:XL 虚拟服务器(8X.1XX.1XX.2XX)和 S 虚拟服务器(9X.9X.2XX.9X)。

我知道有更多类型的 DNS,但通过一些简单的阅读和谷歌搜索,我发现 Authoritative-Only 最适合我的使用。

我目前遇到的问题是我的域名无法到达我的域名服务器。我收到一条消息称,所有域名服务器均未找到该服务器,但是,主域指向正确,并解析至主机。

我使用的指南:https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-an-authoritative-only-dns-server-on-ubuntu-14-04

我逐字逐句地跟着读,唯一遗漏的部分是反向区域(in-addr.arpa)我不确定如何处理这些问题。不过,我确实在他们的控制面板(1and1 控制面板)中将主机名和反向 DNS 设置为 vps1.xxx.space 和 vps2.xxx.space(希望我的直觉是正确的,这个问题应该可以得到解决?——但我可能又错了)

我的db.xxx.空间文件如下所示:

root@vps1:~# sudo nano /etc/bind/zones/db.xxx.xxx
  GNU nano 2.5.3                    File: /etc/bind/zones/db.xxx.space

; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns1.xxx.space. admin.xxx.space. (
                              5         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
; Name Servers
xxx.space.  IN      NS      ns1.xxx.space.
xxx.space.  IN      NS      ns2.xxx.space.

; A records for name servers
ns1     IN      NS      8X.1XX.1XX.2XX
ns2     IN      NS      9X.9X.2XX.9X

; other A records
@       IN      A       8X.1XX.1XX.2XX
www     IN      A       8X.1XX.1XX.2XX
vps1.xxx.space.     IN      A       8X.1XX.1XX.2XX
vps2.xxx.space.     IN      A       9X.9X.2XX.9X
xxx.space.  IN      MX      10      mail.xxx.space.
mail.xxx.space.     IN      A       8X.1XX.1XX.2XX
ns1.xxx.space.      IN      A       8X.1XX.1XX.2XX
ns2.xxx.space.      IN      A       9X.9X.2XX.9X
www.xxx.space.      IN      CNAME   xxx.space.

我的/etc/bind/named.conf.local文件(主文件):

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "xxx.space" {
        type master;
        file "/etc/bind/zones/db.xxx.space";
        allow-transfer { 9X.9X.2XX.9X; };
};

我的/etc/bind/named.conf.options文件:

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

        recursion no;
        allow-transfer { none; };

        // 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.

        // forwarders {
        //      0.0.0.0;
        // };

        //========================================================================
        // 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;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

我的/etc/bind/named.conf文件:

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

我的/etc/bind/named/conf.local (从属)文件:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "xxx.space" {
        type slave;
        file "slaves/db.xxx.space";
        masters { 8X.1XX.1XX.2XX; }; #ns1 private IP
};

我对应该具有名称服务器的主域 (xxx.space) 的高级 DNS 设置。namecheap.com 的高级面板

其余域名均设置了自定义名称服务器选项并指向 ns1.xxx.space 和 ns2.xxx.space 名称服务器。

我也通过高级 DNS 面板在 namecheap.com 注册了名称服务器!

我的 Plesk DNS 配置:Plesk 截图

如果您还有其他问题,请随时提问。

其他信息:

  • 所有域名(除少数域名外 - 运行不太好)均托管在 namecheap.com
  • 服务器托管于 1and1.com - 德国
  • 服务器上的所有内容都是最新的。(BIND 等)
  • 服务器运行的是 Ubuntu 16.04

我的问题:

  • 什么原因可能导致我出现这些问题?
  • 是否会存在问题,因为我使用的 IP 不在同一范围内?
  • 我应该如何解决文件中两个单个 IP 的反向区域?

我感谢任何帮助、建议或指点!

答案1

正确解决问题。从最底层开始,为了让您的 NS 服务器为您的域提供记录,相关域需要列出它们。

对 执行 whois 查询example.com,列出了哪些 NS 服务器?如果正确,请转到下一步。

您的 NS 服务器的主机名是否example.com也位于(您尝试授权的域)?那么您需要胶水记录。您的那些记录有效吗?测试它们。

.com例如,如果它是一个域名

$ dig +short com. NS
a.gtld-servers.net.
i.gtld-servers.net.
m.gtld-servers.net.
k.gtld-servers.net.
l.gtld-servers.net.
g.gtld-servers.net.
e.gtld-servers.net.
h.gtld-servers.net.
j.gtld-servers.net.
c.gtld-servers.net.
d.gtld-servers.net.
f.gtld-servers.net.
b.gtld-servers.net.

$ dig +norec @h.gtld-servers.net. example.com NS
...
;; QUESTION SECTION:
;example.com.            IN  NS

;; AUTHORITY SECTION:
example.com.     172800  IN  NS  ns1.example.com.
example.com.     172800  IN  NS  ns2.example.com.

;; ADDITIONAL SECTION:
ns1.example.com. 172800  IN  A   10.10.10.1
ns2.example.com. 172800  IN  A   10.10.10.2

如果您的 NS 服务器的主机名不在您所授权的同一域上,请测试这些记录并查看它们是否能解析。

如果您的胶水存在,或者您的 NS 主机名解析正确,那么外界真的可以与您的 NS 服务器通信吗?直接从您没有进行特殊调整的外部主机查询它们。

dig @ns1.example.net example.com

到目前为止,我假设您遇到了问题,因为根据您的数据库文件的内容进行判断,除非您遗漏了信息 - 它看起来不正确,因为它缺少 SOA。

答案2

所以,伙计们,我自己解决了这个问题(在这里发帖几天后)。

1and1 开始在其基于云的服务器上提供基于硬件的防火墙。我的配置是正确的,服务器端的一切都设置正确,但没有端口被允许通过。

手动允许后,服务器开始正常运行。

您可以通过进入 1and1 控制面板、选择您的服务器(在“合同和产品概述”下)、然后选择“选择产品”、再选择“服务器和云”并选择您要编辑的服务器来进行设置。

当另一个面板打开时,选择“网络”和“防火墙策略”,然后您可以在那里修改/创建防火墙策略。当您输入配置时,您也会在那里获得预定义的值。所以您不必谷歌搜索端口等。

这解决了我所有的服务器问题和 DNS 问题。

另外,感谢您的所有帮助,一些评论很有帮助。

相关内容