由於錯誤未載入 DNS 綁定
這是一項學校作業,我的 DNS 綁定配置有問題。我應該設置一個 DNS 伺服器,我需要設置 SOA、NS 和粘合記錄、www、郵件和子域名稱伺服器的 A 記錄,以及一個 CNAME。
我正在嘗試為以下域設置 DNS 伺服器:mcduckcorp.duckburg.cali。
我有三個不同的數據庫文件,mcduckcorp.db、duckburg.db 和 cali.db。我使用命令“named-checkzone”進行了檢查,結果如下:
mcduckcorp.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
這裡是配置文件:
mcduckcorp.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
我顯然犯了一個(或幾個)錯誤,但我不確定出了什麼問題。任何幫助,將不勝感激!
您的區域文件存在一些明顯的問題:
- 您永遠不應該使用不屬於您的域,即使是範例和作業。它們現在可能不存在,但將來可能存在。
使用
example.org
,example.com
,example.net
例如和家庭作業等。保證這些域永遠不會分配給任何人,並且任何人都可以安全使用。正是為了這個目的而存在。 2.30
行和d
行之間不應有空格$TTL
。 3. 在mcduckcorp.db
你首先定義www.mcduckcorp.duckburg.cali
. 作為 IP 地址為 192.168.1.10 的 A 記錄。稍後您將其定義為指向 的 CNAME
squirrel.mcduckcorp.duckburg.cali
。這是行不通的。CNAME定義指向另一個域名的別名。記錄如下:
alias-name IN CNAME canonical-name
alias-name 不能有任何其他數據記錄,不是
A
orMX
orNS
或其他任何東西——它只是一個指向其他地方的別名(指向規範名稱)。換句話說,別名“繼承”了它所指向的名稱的所有數據,並且不能以任何方式對其進行修改(不能添加、刪除或編輯)。您的作業要求您展示 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 記錄。