1

我使用dnsmasq来解析家庭网络上的 DNS 查询。不幸的是,如果一个域名未知,它会将我自己的域名附加到请求中,这意味着我最终总是在浏览器中查看我自己的网站。

例如,如果我在浏览器中输入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 将我的域名附加到不可能的名称请求中以解决它们,但我宁愿看到 not found 错误。

我尝试过使用扩展主机配置设置,但无济于事。还有什么我可以尝试的吗?

4

5 回答 5

3

尝试使用尾随点查询以显式设置根:

host dlksfhoiahdsfiuhsdf.com.
于 2008-08-08T14:17:08.760 回答
3

它可能不是 dnsmasq 做的,而是你本地的解析器库。如果您使用 unixish,请尝试从 /etc/resolv.conf 中删除“搜索”或“域”行

于 2008-10-02T00:06:52.970 回答
1

您有通配符域?

dnsmasq 将附加的名称转发到外部 dns 服务器并使用通配符。

您可以使用 --server=/yourinternaldomainhere/ 来确保您的内部域名查找不会被转发出去。

这种情况下的语法是:

--server=/domain/iptoforwardto

在这种情况下,将 iptoforwardto 区域留空,因为您不希望它转发到任何地方。

于 2014-02-22T22:48:21.780 回答
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 的错误。

于 2008-12-04T23:54:48.750 回答
0

我尝试从我自己的配置中删除domain-needed以复制您的问题,但它没有产生这种行为。这是我能找到的唯一可能接近相关的其他参数。

您的主机文件是什么样的?也许那里发生了一些奇怪的事情,使它认为所有奇怪的域都在您的网络中?

于 2008-08-08T13:36:01.230 回答