2011-09-23 49 views
0

我剛在我家使用私有IP設置了一臺服務器。Apache無法訪問本地DNS IP地址

我可以訪問我的服務器使用我的域名從外部網絡/外面從我家。

但我無法使用我的域或我的私有IP地址從本地網絡訪問它。

這可能是什麼問題?它是Apache的設置?

(我可以訪問它,如果我編輯/ etc/hosts文件)

+0

在非標準端口上運行?綁定到具有多個IP的機器,只有一些可以從外部訪問?什麼讓你覺得你不能看到服務器(你試過'挖'?) – Rudu

回答

0

您是否在hosts文件中使用內部或外部IP來使其工作?如果是外部IP,可能是DNS issue。如果是內部IP,則問題可能出在路由器NAT上。

一些路由器/設置將僅對遍歷外部面向互聯網接口的數據包應用其NAT規則。

    ____________   
       |   |  
Server ---IntIf-|IntIP--ExtIP|-ExtIf--- Internet 
       |____________|  

這有點簡化,但基本上,當你從內部網絡訪問外部IP包,以下的虛線所示,到達路由器的外部IP之前可以在ExtIf被施加的NAT規則,然後路由器無法找到任何聽取拒絕/丟棄連接的內容。

確認它是否是DNS問題。從本地和外部盒子運行nslookup $domain,看看它們是否返回相同的IP地址。如果IP是相同的,但仍然無法工作,則需要仔細觀察路由器,希望這是可能的。如果不是,您可能需要一個內部DNS服務器,可以使用它知道的任何域的內部IP地址進行響應,然後從外部轉發任何其他請求。

NAT問題稱爲NAT Loopback,Hairpinning或Reflection。看到這裏爲linux solution

0

如果當你把在/ etc/hosts中的條目,您可以訪問它,那麼有可能是相關的DNS。我假設你正在公開(外部IP),而不是內部IP進行測試。

如果您最近更新了DNS,那麼您的本地路由器(或ISP的DNS服務器)可能仍舊具有舊的IP緩存或者沒有緩存DNS記錄設置的事實。您可以重新啓動路由器以嘗試清除緩存的條目,但它可以緩存到ISP,並且只能等到它在那裏更新(通常在24小時以內,通常只有幾個小時)。但是,您可以將計算機配置爲使用其他DNS服務器一段時間 - 例如。 8.8.8.8或4.4.4.4均由Google運行。

+0

我剛剛重新啓動我的路由器,它仍然無法正常工作,我會嘗試等待24小時 – bbnn