Linux
BIND/命名 DNS 區域文件:不使用 www 無法訪問網站
對於我們的小型企業網路,我們託管我們自己的內部 DNS(命名/綁定)伺服器。但是,我們的公司網站由 GoDaddy 外部託管。
如果我們使用 ,我們可以訪問我們的外部網站
http://www.ourcompany.com
。但是如果我們在沒有 wwwhttp://ourcompany.com
的情況下嘗試它,瀏覽器將無法解析該地址。我還注意到,在命令提示符下,我們可以成功 pingwww.ourcompany.com
但不能ourcompany.com
. 這些問題似乎只是我們公司網路內部的問題。無論如何,這是我們命名區域文件的一部分:
$ORIGIN ourcompany.com. ourcompany.com IN A 173.201.XXX.XXX www IN A 173.201.XXX.XXX server1 IN A 192.168.0.10 server2 IN A 192.168.0.11 serverA IN CNAME server1.ourcompany.com. serverB IN CNAME server2.ourcompany.com. etc...
(注:
173.201.XXX.XXX
是我們網站託管的 GoDaddy 地址)那麼我在這裡的 DNS 配置有什麼問題呢?我需要張貼我的
named.conf
嗎?另外,有沒有辦法讓 DNS 記錄所有 DNS 請求,以便我可以查看日誌並確切了解當有人發出請求時正在使用哪個區域配置/區域文件?
您忘記了ourcompany.com 名稱末尾的一個點。實際上,在這裡,您創建了一個帶有 ORIGIN 標記的地址 ourcompany.com.ourcompany.com
嘗試在以下行中在 ourcompany.com 末尾添加一個點:
ourcompany.com IN A 173.201.XXX.XXX
即做到:
ourcompany.com. IN A 173.201.XXX.XXX
或者改變
ourcompany.com IN A 173.201.XXX.XXX
到
IN A 173.201.XXX.XXX
我認為使用您目前的配置 ourcompany.com.ourcompany.com 會起作用。
原因是您在 A 和 CNAME 記錄中指定的名稱附加了在 ORIGIN 中定義的域/名稱,即它們是相對於 ORIGIN 的,除非您將它們設為完全限定的域名。
放一個 . ourcompany.com 的結尾使其完全合格。