dnsmasq 的服务器选项不适用于特定域

dnsmasq 的服务器选项不适用于特定域

我已经配置dnsmasq为本地 DNS 服务器。现在,由于我的 ISP 无法解析,some-company.sharepoint.com我想使用 Google 的服务器来处理该域sharepoint.com。 (看这里对于 Windows 解决方案。)

$ grep "^[^#]" /etc/dnsmasq.conf 
server=/sharepoint.com/8.8.8.8
server=/sharepoint.com/8.8.4.4
listen-address=127.0.0.1

我已配置ǸetworkManager使用dnsmasq

$ cat /etc/NetworkManager/NetworkManager.conf 
# Configuration file for NetworkManager.
# See "man 5 NetworkManager.conf" for details.
[main]
dns=dnsmasq

并重新启动。

$ sudo systemctl restart NetworkManager

resolv.conf现在的样子是这样的:

$ cat /etc/resolv.conf
# Generated by NetworkManager
search fritz.box
nameserver 127.0.0.1

用于drill测试:

$ drill some-company.sharepoint.com
;; ->>HEADER<<- opcode: QUERY, rcode: NXDOMAIN, id: 21965
...

当谷歌服务器工作时...

$ drill some-company.sharepoint.com @8.8.8.8
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 48098

文档描述该server选项时说该选项是通用的:

Dnsmasq 能够将某些域的 DNS 查询定向到特定的上游名称服务器。添加此功能是为了与 VPN 一起使用,但它是完全通用的。

答案1

我无法重现您遇到的情况。

example.com我假设我使用的解析器无法解析示例域。我配置了 dnsmasq 来发送具有要使用的域的问题8.8.8.8。并且 dnsmasq 的本地实例example.com仅将该域 ( ) 的问题发送到 Google DNS 解析器,而不是我使用的默认解析器。

相关内容