由于错误,DNS 绑定未加载

由于错误,DNS 绑定未加载

这是一项学校作业,我的 DNS 绑定配置遇到问题。我应该设置一个 DNS 服务器,我需要设置 SOA、NS 和粘合记录、www、邮件和子域名称服务器的 A 记录,以及 CNAME。

我正在尝试为以下域设置 DNS 服务器:mcduckcorp.duckburg.cali。

我有三个不同的数据库文件:mcduckcorp.db、duckburg.db 和 cali.db。我使用命令“named-checkzone”进行了检查,结果如下:

麦克杜克公司.db:

dns_master_load: /etc/bind/mcduckcorp.db:1: extra input text
dns_master_load: /etc/bind/mcduckcorp.db:16: www.mcduckcorp.duckburg.cali: CNAME and other data
zone mcduckcorp.duckburg.cali/IN: loading from master file /etc/bind/mcduckcorp.db failed: extra input text
zone mcduckcorp.duckburg.cali/IN: not loaded due to errors

鸭堡.db:

dns_master_load: /etc/bind/duckburg.db:1: extra input text
zone duckburg.cali/IN: loading from master file /etc/bind/duckburg.db failed: extra input text
zone duckburg.cali/IN: not loaded due to errors

卡利数据库

dns_master_load: /etc/bind/cali.db:1: extra input text
zone cali/IN: loading from master file /etc/bind/cali.db failed: extra input text
zone cali/IN: not loaded due to errors

这是配置文件:

麦克杜克公司.db:

$TTL 30 d
$ORIGIN mcduckcorp.duckburg.cali. 
@ IN SOA ns1.mcduckcorp.duckburg.cali. mail.mcduckcorp.duckburg.cali. (
            2019092700 ;serial
            86400 ;refresh
            7200 ;retry
            3600000 ;expiration
            172800) ;minimum

@ IN NS ns1.mcduckcorp.duckburg.cali.
ns1.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10
mail.mcduckcorp.duckburg.cali.  IN   A   192.168.1.10
www.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10

www   IN   CNAME   squirrel

鸭堡.db:

$TTL 30 d
$ORIGIN duckburg.cali.
@ IN SOA ns1.duckburg.cali. mail.duckburg.cali. (
                        2019092700 ;serial
                        86400 ;refresh
                        7200 ;retry
                        3600000 ;expiration
                        172800) ;minimum

@ IN NS ns1.duckburg.cali.
ns1.duckburg.cali.              IN   A   192.168.1.10
mail.mcduckcorp.duckburg.cali.  IN   A   192.168.1.10
www.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10

subdomain   IN   NS   ns1.mcduckcorp.duckburg.cali.
ns1.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10

www   IN   CNAME   squirrel

卡利数据库:

$TTL 30 d
$ORIGIN cali.
@ IN SOA ns1.cali. mail.cali. (
                        201909700 ;serial
                        86400 ;refresh
                        7200 ;retry
                        3600000 ;expiration
                        172800) ;minimum

@ IN NS ns1.cali.
ns1.cali.                       IN   A   192.168.1.10
mail.mcduckcorp.duckburg.cali.  IN   A   192.168.1.10
www.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10

subdomain   IN   NS   ns1.duckburg.cali.
ns1.duckburg.cali.              IN   A   192.168.1.10

www   IN   CNAME   squirrel

我显然犯了一个(或几个)错误,但我不确定出了什么问题。任何帮助,将不胜感激!

答案1

您的区域文件存在一些明显的问题:

  1. 您永远不应该使用不属于您的域,即使是示例和作业也是如此。它们现在可能不存在,但将来可能会存在。

    使用example.orgexample.comexample.net作为示例和家庭作业等。保证这些域名永远不会分配给任何人,并且任何人都可以安全使用。正是为了这个目的而存在。

  2. 行中的30和之间不应有空格。d$TTL

  3. mcduckcorp.db你首先定义www.mcduckcorp.duckburg.cali.作为 IP 地址 192.168.1.10 的 A 记录。

    稍后您将其定义为指向 的 CNAME squirrel.mcduckcorp.duckburg.cali。这是行不通的。

    A别名记录定义指向另一个域名的别名。记录看起来像:

    alias-name IN CNAME canonical-name
    

    别名不能有任何其他数据记录,不能有AMXNS或其他任何东西 - 它只是指向其他地方(指向规范名称)的别名。换句话说,别名“继承”全部它所指向的名称的数据,并且不能以任何方式修改它(不能添加、删除或编辑)。

您的作业要求您显示 A 记录和 CNAME 记录的示例。尝试为域本身创建 A 记录,然后创建www指向它的别名。例如

    @   IN A     192.168.1.10
    www IN CNAME @

www@将“继承”与($ORIGIN、域本身)关联的所有记录。这包括 A 记录以及任何 NS 或 MX 或 TXT 以及可能存在的任何其他记录。

NS 记录在这里大多无关紧要,但 MX 记录可能会很有用,例如,如果 的邮件服务器domain.example.com配置为也处理 的邮件www.domain.example.com

或者,您可以为 制作一条 A 记录www,然后制作squirrel一个指向该记录的别名。例如

    www      IN A     192.168.1.10
    squirrel IN CNAME www

在这里,squirrel 继承了 的所有内容www,而 仅有一条 A 记录。

相关内容