使用自定义名称服务器

使用自定义名称服务器

在GoDaddy我有一个域名example1.com和www.example1.com使用有效的 A 记录到我的 Centos 7 服务器的 IP。

我已经为该域创建了主机名,ns1.example1.com,ns2.example1.com,具有相同的服务器IP。

我在 Godaddy 中还有另一个域名 example2.com,我想在其中使用自定义名称服务器。因此,我在名称服务器字段中输入了 ns1.example1.com 和 ns2.example1.com。

在我的服务器的named.conf中

  zone "example2.com" IN {
     type master;
     file "/etc/named/foo.zone";
     allow-update { none; };
 };

在 foo.zone 中:

 $TTL 600
 @                    3600 SOA   example2.com (
        example2.com.     ; address of responsible party
        2016072701                 ; serial number
        3600                       ; refresh period
        600                        ; retry period
        604800                     ; expire time
        1800                     ) ; minimum ttl
        86400 NS    example2.com.
        14400 A 1.2.3.4
        mail  14400 A     1.2.3.4

我预计 example2.com 和 mail.example2.com 会解析为 1.2.3.4。

我究竟做错了什么 ?

多谢。

答案1

评论太长了


我究竟做错了什么 ?

您可以使用以下方式验证区域文件的语法named-checkzone zone-name /path/to/zone.fileIE

named-checkzone example2.com  /etc/named/foo.zone 

named.conf 您可以使用以下方式验证配置文件的语法named-checkconf

named-checkconf /path/to/named.conf

笔记有效的语法仍然可能导致逻辑/功能错误和资源记录行为不正确。


@                    3600 SOA   example2.com (  ;<=== MISSING FIELD

在里面 SOA 记录缺少一个字段。

第一个字段称为 MNAME 记录。MNAME 记录必须是能够为您的域名做出权威响应的名称服务器。

第二个字段是 RNAME 记录,即负责此区域的管理员的电子邮件地址。(通常,电子邮件地址被编码为名称。电子邮件地址中 之前的部分@成为名称的第一个标签; 之后的域名@成为名称的其余部分。在区域文件格式中,标签中的点用反斜杠转义;因此电子邮件地址[email protected]在区域文件中将表示为john\.doe.example.com.


小心区域文件速记

      86400 NS    example2.com. ; STARTING A LINE WITH A BLANK IS VALID SHORTHAND

@  IN 86400 NS    example2.com. ; This is less likely to misbehave

它可能是您格式化问题的一种产物,但区域文件的格式是有意义的(例如,以空白名称开头的行会使该行成为前一个资源记录名称的延续)并且与之对齐 mail14400错误的。

      14400 A 1.2.3.4
      mail  14400 A     1.2.3.4  ; this alignment is incorrect
mail  14400 A     1.2.3.4        ; there should be no space/tab before mail

相关内容