無法在瀏覽器上執行本地版本的 example.com
我希望在我的本地測試伺服器(Win XP)上執行 example.com。為此,我能夠為 example.com 設置 BIND 和配置區域。本地 DNS 伺服器和本地 Apache Web 伺服器都執行良好。但是,當我在瀏覽器上嘗試 example.com 時,它會將我帶到原始 example.com 而不是本地版本。
那麼我在這裡錯過了什麼?為什麼 example.com 不能指向 Apache 中的本地版本。
example.com 的區域記錄
$TTL 3h example.com. IN SOA ns1.example.com. ns2.example.com. ( 1 ; Serial 3h ; Refresh after 3 hours 1h ; Retry after 1 hour 1w ; Expire after 1 week 1h ) ; Negative caching TTL of 1 hour ; ; Name servers ; example.com. IN NS ns1.example.com. ; ; Addresses for the canonical names ; localhost IN A 127.0.0.1 ns1 IN A 192.168.1.2
- ISC BIND 服務正在執行。
- 阿帕奇正在執行。
- 探勘@192.168.1.2 example.com - 顯示預期結果。
- 將我的主 DNS 更改為 192.168.1.2
- 不使用任何代理。一切都在同一個盒子里工作。瀏覽器、DNS 和 Apache。
如何使本地 example.com 工作?
更新:我試過 -
nslookup example.com
得到以下回應 -;; Got recursion not available from 192.168.1.2, trying next server Server: 4.2.2.2 Address: 4.2.2.2#53 Non-authoritative answer: Name: example.com Address: 208.77.188.166
對於 nslookup 192.168.1.2 我得到了 -
;; Got recursion not available from 192.168.1.2, trying next server ;; Got recursion not available from 192.168.1.2, trying next server Server: 4.2.2.2 Address: 4.2.2.2#53 ** server can't find 2.1.168.192.in-addr.arpa.: NXDOMAIN
因為
Dig example.com
,我得到了——; <<>> DiG 9.6.1 <<>> example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 494 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;example.com. IN A ;; AUTHORITY SECTION: example.com. 3600 IN SOA ns1.example.com. ns2.example.com. 1 10800 3600 604800 3600 ;; Query time: 15 msec ;; SERVER: 192.168.1.2#53(192.168.1.2) ;; WHEN: Sat Jul 04 17:05:05 2009 ;; MSG SIZE rcvd: 73
您的網路瀏覽器是否有可能使用一些代理而不是直接網際網路連接?
可能不是——但仍然值得一問。
當您在使用網路瀏覽器的電腦上啟動它時,您的 windows **nslookup會說什麼?**它是否說 192.168.1.2 是唯一的 dns 伺服器?當您輸入 example.com 作為查詢時會發生什麼?
$$ edit: i’m blind.. this one should fix the problem $$ 添加
@ IN A 91.206.245.2 www IN A 91.206.245.2
到您的綁定區域文件,更改序列號並重新載入綁定。
您剛剛安裝和配置的 DNS 伺服器 (BIND) 是權威名稱伺服器。這很好,但您不能將它用作遞歸名稱伺服器,這是您在“將我的主 DNS 更改為 192.168.1.2”時所做的。因此,nslookup 的尖叫聲“從 192.168.1.2 獲得遞歸不可用,嘗試下一個伺服器”。
權威名稱伺服器是……對某些域(此處為 )具有權威性,但
example.com
不是通用解析伺服器。為此,您需要一個遞歸名稱伺服器。兩種解決方案:
- 使您的 BIND 名稱伺服器為您的本地機器遞歸。(基本上,這意味著
recursion yes;
在視圖中添加一個,或者確保您的 BIND 僅偵聽本地 IP 地址。)請注意,讓名稱伺服器既具有遞歸性又具有權威性是不好的做法,但是對於僅用於個人電腦的測試,沒什麼大不了的。- 告訴正常遞歸它必須
example.com
為您的機器轉發請求。我不能說更多,這取決於誰管理它,它執行什麼軟體等。