我有一個使用 DNSMasq 設定的 DD-WRT(使用 DD-WRT v24SP2-MULTI (03/21/11) std)路由器,用於將某些網域解析為內部位址並傳遞其他所有內容。路由器本身配置為使用 Google 的公共 DNS 伺服器來解析位址。
我的設定畫面如下所示:
我的問題是,當 DHCP 用戶端連接時,它們會獲取路由器以及 Google 的兩個 DNS 伺服器作為分配的 DNS 伺服器:
這是一個問題,因為有時無線用戶端會嘗試解析本應指向內部 IP 位址的網域,但最終卻獲得外部 IP,因為無論出於何種原因,它們的請求都會被傳送到8.8.8.8
路由器而不是路由器。
我不希望路由器只提供自己的 IP 作為 DNS 伺服器來提供任何服務。那可能嗎?
答案1
很高興您使用 DNSMasq。
您可以在其中配置您想要的內容服務 (> 服務)選項卡,在DNSMasq > 其他 DNSMasq 選項框,但首先,您需要清除這些靜態 DNS 欄位。
將以下內容新增至 DNSMasq 選項框中:
dhcp-option= option:dns-server, 192.168.10.10 # DHCP option 006
server = 8.8.8.8 # DNSMasq will use these servers for forwarding the DNS requests that it can't serve
server = 8.8.4.4
答案2
我沒有使用 DDWRT,所以這是一半問題/一半答案。
手冊DNSMasq 作為 DHCP 伺服器在“額外的 DNSMasq 選項”部分中說:
DNSMasq 的 Web 介面中有一些額外選項,您可以透過在「服務」標籤上的其他 DNSMasq 選項中輸入這些選項來設定這些選項。
如果您希望透過 ISP 的 DNS 伺服器,您可以使用下列參數:
dhcp-option=6, x.x.x.x, y.y.y.y
其中 xxxx = DNS1 yyyy = DNS2
這似乎意味著傳遞 ISP 伺服器是可選的,因此找到並刪除上面的行應該將其關閉。
答案3
資料取自 DD-WRT 官方網站:http://www.dd-wrt.com/wiki/index.php/OpenDNS
看來你可以將剩餘的 dns 伺服器設定為不可路由的 IP(在我的例子中10.0.0.0
& 10.0.0.1
),它會用這些不可路由的 IP 擠出你的 ISP DNS 伺服器。到目前為止,對我來說,它似乎在等待不存在的 DNS 伺服器上沒有任何延遲。
答案4
如果您不希望用戶端存取外部 DNS,請勿將其位址放入 DHCP 伺服器設定中。
我想您想要在外部 DHCP 用戶端的配置中新增(最終更快)Google 的 DNS 伺服器(其中 DNSMASQ 將採用其 DNS 用戶端首選項)
額外的:
您必須將額外的(所有)DNS 伺服器新增至 WAN 連結配置。 DNSMasq 將使用它們,並且 DHCP 用戶端永遠不會從提供者處取得它們。