2008-08-08 79 views
1

我使用dnsmasq解決家庭網絡上的DNS查詢問題。不幸的是,如果域名不知道,它會將我自己的域名附加到請求中,這意味着我總是最終在瀏覽器中查看我自己的網站。如何防止dnsmasq將我的域名追加到無效的域請求中?

例如,如果我在瀏覽器中輸入http://dlksfhoiahdsfiuhsdf.com,我最終會使用該URL查看我自己的網站。如果我嘗試類似:

host dlksfhoiahdsfiuhsdf.com 

而不是預期的:

Host dlksfhoiahdsfiuhsdf.com not found: 3(NXDOMAIN) 

我得到這個:

dlksfhoiahdsfiuhsdf.com.mydomainname.com has address W.X.Y.Z. 

顯然,的dnsmasq被追加我的域名在一個不可能的名字請求努力解決它們,但我寧願看到沒有找到的錯誤。

我試過玩擴展主機配置設置,但無濟於事。還有什麼我可以嘗試嗎?

回答

0

我試着刪除域需要從我自己的配置,以複製的問題,並沒有產生這種行爲。這是我能找到的唯一可能接近相關的其他參數。

你的hosts文件是什麼樣的?也許有一些奇怪的事情發生在那裏,這使得它認爲所有奇怪的域名都是本地的網絡?

3

嘗試明確設置根尾隨點查詢:

host dlksfhoiahdsfiuhsdf.com. 
3

它可能不是這樣做的dnsmasq,但是當地的解析庫。如果使用unixish,請嘗試從/etc/resolv.conf中刪除「搜索」或「域」行

+0

感謝您的提示。自從我問這個問題以來,我已經停止使用dnsmasq,因此我無法測試您的解決方案。如果它可以幫助別人,我會放棄它。 – yukondude 2008-10-02 23:58:37

1

可能還有其他原因,但最明顯的原因是配置/etc/resolv.conf,以及大多數DNS客戶喜歡對錯誤非常簡潔的事實。

benc$ host thing.one 
Host thing.one not found: 3(NXDOMAIN) 

(好吧,什麼是我使用的DNS配置?)

benc$ cat /etc/resolv.conf 
nameserver 192.168.1.1 

(編輯...)

benc$ cat /etc/resolv.conf 
search test.com 
nameserver 192.168.1.1 
benc$ host thing.one 
thing.one.test.com has address 64.214.163.132 

也懶得做一個數據包跟蹤,可能行爲是它返回了它嘗試的最後一個FQDN的錯誤。

0

你有一個通配符域?

dnsmasq正在將附加名稱轉發到外部DNS服務器並使其通配。

您可以使用--server =/yourinternaldomainhere /來確保您的內部域名查找不會被轉發出去。

語法在這種情況下將是:

--server = /域/ iptoforwardto

在這種情況下離開iptoforwardto領域的空白,你不希望它在任何地方進行轉發。

相關問題