題 NETGEAR DGN2200v2路由器的DNS服務器無法正常工作


我已將DGN2200v2配置為執行以下操作:

  • 保留我的mac的LAN地址 10.0.0.11
  • 使用 10.0.0.11 作為主DNS服務器,和 8.8.8.8 作為次要的

現在我希望路由器能夠向我的計算機詢問DNS請求,但它似乎只是跳過了 10.0.0.11 服務器和用途 8.8.8.8...(我使用Wireshark檢查,我的計算機沒有收到任何請求,頁面加載所以我猜這就是發生了什麼)

這裡有什麼我想念的嗎?我已經檢查過了 ipconfig 我確實擁有IP 10.0.0.11


3
2018-05-27 14:13


起源


您的桌面上配置了DNS服務器?如果這樣做,請將轉發器設置為公共DNS,以便請求可以在某處。你能從你的路由器ping 10.0.0.11嗎? - Citizen
@Citizen由於某種原因有100%的丟包... prntscr.com/b9drhg 我使用wireshark檢查了,這是正在發生的事情: prntscr.com/b9dry4 - Amit Gold
好吧,默認情況下,Windows啟用了防火牆,並將阻止ping(和其他)... - Tom Yan
@VojtěchDohnal怎麼沒有意義?我希望我的路由器將DNS請求轉發到網絡上的計算機,而不是我的ISP告訴它或者 8.8.8.8,然後我的電腦可能會返回一些垃圾IP或可能會問 8.8.8.8。現在我可以使用 nslookup 與服務器一樣 10.0.0.11 它起作用,服務器記錄動作,但在詢問時 10.0.0.138 這應該反過來 10.0.0.11,服務器不記錄任何內容,請求不會被過濾... - Amit Gold
@VojtěchDohnal澄清一下,我正在從另一台連接到同一路由器的設備上做兩個nslookup。 - Amit Gold


答案:


Reserve the LAN address for my mac to 10.0.0.11。所以你做了這樣的事情:

enter image description here

但這與你的問題無關。無論如何,您當然可以通過PC ping這個地址:

enter image description here

(我真的想知道一個操作系統是否會將它路由到路由器,因為它很容易識別出它是自己的地址)

但是,啟用Windows防火牆後,您將無法從路由器ping到PC:

enter image description here

一旦你正確配置它,或者禁用它(用於測試),它將ping正常:

enter image description here


Use 10.0.0.11 as primary DNS server, and 8.8.8.8 as secondary;我不確定你是怎麼做到的,當然,你可以配置 客戶 靜態地:

enter image description here

或通過 LAN端 DHCP 服務器 設置:

enter image description here

但當然,首先你需要在你的PC上建立一個DNS服務器:

enter image description here


2
2018-06-05 09:28



所以基本上我的測試很糟糕我想,我會嘗試從另一台計算機上實際查詢,看它是否有效。我現在不在家,但是期待更新:D - Amit Gold
@AmitGold順便說一下,小心 某些路由器上的DHCP服務器實施不好... - Tom Yan


我認為這裡有一個誤解:DNS查詢不是路由器的一部分 服務 - 所有路由器所做的只是傳達兩者的IP 指定的DNS服務器到您的計算機,它是您的計算機發出 DNS查詢。

那麼你的計算機會嘗試將DNS查詢轉發給自己, 但不幸的是,通過使用它 外部 IP地址, 這意味著連接是通過路由器完成的。 這種類型的連接 除非通過IP 127.0.0.1上的環回接口,否則通常無法工作 (localhost),它不通過路由器。

大多數消費級路由器不支持環回, 這是一台通過路由器自行尋址的計算機。 這樣的路由器將保護自己免受風險 以循環方式永久循環, 或者它的固件根本就沒有跟踪所需的代碼 環回連接。

最終結果是,地址10.0.0.11的DNS服務器在引導時或第一次DNS查詢時被計算機快速標記為不可用 當你啟動Wireshark時,可能已經被忽略了。

結論 :路由器正在為消費級路由器正常工作。

備註 :

通常,擁有兩個DNS服務器是沒用的, 一個主要和另一個輔助,因為Windows將只使用一個。 如果第一個DNS服務器發生故障,則輔助DNS服務器是備份。 您需要在計算機上定義這些DNS服務器,而不是在路由器上定義 但Windows只會使用第一個回答。

必須使用127.0.0.1(localhost)的IP地址定義本地DNS服務器。 如果是當地的 Windows服務器將使用DNS服務器,然後此服務器需要知道如何操作 如果在本地找不到答案,則返回到8.8.8.8的Google服務器 因為Windows不會自動執行此操作。


0
2018-06-01 18:55



這聽起來對我來說是對的。你是如何製作這些dns的?如果請求來自同一台計算機,那就是循環。路由器不需要進行dns查詢,除非它是完全不同的東西。如果有其他設備需要dns,我認為他們應該直接指向dns服務器。如果您的路由器正在宣傳dhcp,那麼內部dns應該是廣告的內容。 - BloodyEl
在我看來,除了“消費者級”部分之外,你應該做的事情應該是可行的。如果你有硬件,你也可以只使用一個Linux機箱作為路由器和防火牆,沒有任何成本,沒有專有的妥協。 - BloodyEl
AFAIK唯一常見的是“消費級”路由器不支持通過其WAN端IP地址(端口是否轉發)從LAN進行尋址。我從未見過你所描述的“環回問題”。 - Tom Yan
因此,當他寫作時,你試圖說出來 ping 10.0.0.11 在他的電腦上,它會失敗,因為他的路由器?從來沒有見過這個。 - Vojtěch Dohnal
@VojtěchDohnal:是的,我認為從我的回答中可以清楚地看到這一點。如果您認為不清楚,請隨意添加。雖然這不僅是一個安全功能 - 路由器需要能夠跟踪它,而簡單的路由器將無法獲得它的代碼。 - harrymc