我的简单的 dnsmasq 设置有什么问题?

我的简单的 dnsmasq 设置有什么问题?

我在服务器上运行 dnsmasq(其 IP 是 10.10.31.22),假设它的主机名是mydns以下 dnsmasq.conf:

domain-needed
bogus-priv
local=/argonath.mydomain.com/
interface=eth0
listen-address=127.0.0.1
no-hosts
addn-hosts=/etc/dnsmasq.hosts
expand-hosts
domain=argonath.mydomain.com

这是 dnsmasq.hosts:

10.10.31.8  mithrandir

注意,我仅将 dnsmasq 用于 DNS,而不是 DHCP。

现在我有一台 Linux 和一台 Windows 机器,它们都使用 dnsmasq 服务器作为 DNS。如果我在 Linux 机器上这样做,nslookup mithrandir我会得到:

Server:     10.10.31.22
Address:    10.10.31.22#53

Name:   mithrandir
Address: 10.10.31.8

在 Windows 上我得到了这个:

Server: UnKnown
Address: 10.10.31.22

*** UnKnown can't find mithrandir: Non-existent domain

然而nslookup mithrandir.argonath.mydomain.com在windows系统上却可以工作:

Server: UnKnown
Address: 10.10.31.22

Name: mithrandir.argonath.jhgfs.com.au
Address: 10.10.31.8

我的第一个问题是,为什么我在 Linux 机器下看不到mydns“服务器”?当然,我的第二个问题是为什么 Windows 机器会失败?我认为这与服务器未正确报告其名称有关。我设置错了什么?

答案1

解决了。​​Windows 在查询末尾添加了域后缀,因此它实际上是在请求mithrandir.companydomain.com

(这是在公司内部,所有工作站都放在 company.com 域上)。

失败之后,Windows 尝试访问 mithrandir.com,但它访问了更广泛的网络,结果显示不存在。

不确定如何解决这个问题,但至少我知道这是 Windows 工作站的问题,而不是我的 dnsmasq 配置的问题。

相关内容