更新區域文件 - 添加 CNAME 記錄 - 如何排除故障/我哪裡出錯了?
我提前為這個新手問題道歉。我之所以求助,是因為我似乎無法在此網路或其他地方找到足夠多的密切相關的查詢*,而且 BIND 9.9 ARM 對新手並不完全友好。
- 我應該說我發現了很多相關的查詢,但他們的答案往往涉及語法更正等。
無論如何,我的經理正在嘗試為我們的網站設置一些行銷自動化軟體。他要求我將一些 CNAME、MX 和 TXT 記錄添加到域的區域文件中。我們在 Debian 8 系統上使用 BIND 9。
我大致了解更新區域文件的過程。我知道我必須增加文件的序列號,並且我知道如何重新載入區域、重新啟動 BIND 等。
我也知道我可以使用 . 檢查區域文件的語法
named-checkzone
。為了說明這種情況,這裡是我們區域文件的一個近似模擬:
$TTL 300 @ IN SOA ns1.example.com. jack.example.com. ( 2017122708 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 10800 ) ; Minimum example.com. IN NS ns1.example.com. example.com. IN NS ns2.example.com. ns1.example.com. IN A 199.195.xxx.yyy ns2.example.com. IN A 199.195.xxx.yyy ipv4.example.com. IN A 199.195.xxx.yyy example.com. IN A 199.195.xxx.yyy remote.example.com. IN A 173.9.zz.ccc ftp.example.com. IN CNAME example.com. www.example.com. IN CNAME example.com. @ IN MX 0 example-com.mail.protection.outlook.com. autodiscover IN CNAME autodiscover.outlook.com. sip IN CNAME sipdir.online.lync.com. lyncdiscover IN CNAME webdir.online.lync.com. msoid IN CNAME clientconfig.microsoftonline-p.net. enterpriseregistration IN CNAME enterpriseregistration.windows.net. enterpriseenrollment IN CNAME enterpriseenrollment.manage.microsoft.com. _dmarc.example.com. IN TXT "v=DMARC1; p=none" example.com. IN TXT "v=spf1 +a +mx +a:example.com include:spf.protection.outlook.com -all" _sip._tls IN SRV 100 1 443 sipdir.online.lync.com. _sipfederationtls._tcp IN SRV 100 1 5061 sipfed.online.lync.com. ; I've been directed to add the records below: 34783aoauth._domainkey.example.com. IN CNAME dkim.act-on.com. mailer.example.com. IN TXT "v=spf1 include:_spf.act-on.net -all" mailer.example.com. IN MX 10 est-mta.b2b-mail.net. marketing.example.com. IN CNAME example.actonservice.com.
我被指示添加最後四個記錄。根據我對 DNS 的基本了解,我想我正在嘗試分配
34783aoauth._domainkey.example.com
例如dkim.act-on.com
. 所以,我認為,假設我按照上面的方法正確更新了區域,我可以nslookup
像這樣執行:jack@example:~$ nslookup 34783aoauth._domainkey.example.com Server: 127.0.0.1 Address: 127.0.0.1#53 ** server can't find 34783aoauth._domainkey.example.com: NXDOMAIN
相反,我得到了
NXDOMAIN
錯誤。我以為那不好。所以,我想您可以總結一下我的問題,即**如何解決我的配置問題,以便我可以解決該 CNAME(加上其他 3 條記錄)?**此外,我應該如何檢查它是否正確解析?我的
nslookup
方法合適嗎?dig
例如,我會得到更好的服務嗎?我意識到整個區域文件有點亂。我最初是自己設置的,並且來自軟體開發背景,我不經常涉足這種系統管理,但到目前為止它執行得很好。
困擾我的一件事是輸出
named-checkzone
:jack@example:~$ sudo named-checkzone example.com /etc/bind/zones/master/db.example.com zone example.com/IN: 'example.com' found SPF/TXT record but no SPF/SPF record found, add matching type SPF record zone example.com/IN: 'mailer.example.com' found SPF/TXT record but no SPF/SPF record found, add matching type SPF record zone example.com/IN: loaded serial 2017122708 OK
它似乎在抱怨兩條 SPF 文本記錄,但我不確定它說我需要添加匹配的 SPF 記錄是什麼意思。BIND 9.9 ARM 似乎沒有提到這一點,我不確定擁有“不匹配”記錄的影響是什麼。也許這與我的問題有關,但也許本質上是巧合。
雅各布·埃文斯(Jacob Evans)問輸出
sudo named-checkconf -z
是什麼。這是該輸出(儘管請注意,自原始文章以來,我已經編輯了區域文件以及其序列號):jack@example:~$ sudo named-checkconf -z zone example.com/IN: 'example.com' found SPF/TXT record but no SPF/SPF record found, add matching type SPF record zone example.com/IN: 'mailer.example.com' found SPF/TXT record but no SPF/SPF record found, add matching type SPF record zone example.com/IN: loaded serial 2017122715 zone 0.168.192.in-addr.arpa/IN: loaded serial 1 zone localhost/IN: loaded serial 2 zone 127.in-addr.arpa/IN: loaded serial 1 zone 0.in-addr.arpa/IN: loaded serial 1 zone 255.in-addr.arpa/IN: loaded serial 1
事實證明,BIND 已設置為與 Plesk 一起使用,並且它從與我預期不同的位置獲取區域文件。當我對正確的區域文件進行更改時,一切都按預期工作。
感謝 Jacob Evans 和 Patrick Mevzek 幫助我解決這個問題!