我需要在 ubuntu 服务器上安装本地 dns 服务器来解析本地服务器的名称。我使用了 dnsmasq,但问题是它试图解析所有地址(例如http://serverfault.com) 并用错误的 IP 地址解析它。
我该如何让 dnsmasq 不解析没有 IP 的名称,以便客户端可以使用备用 DNS 服务器?或者,如果我必须使用另一个 DNS 服务器,我该使用哪个?
答案1
你需要定义zones
:
--auth-zone=[,[/][,[/].....]] 定义 dnsmasq 作为权威服务器的 DNS 区域。将提供域中本地定义的 DNS 记录。如果给出了子网,A 和 AAAA 记录必须位于指定子网之一中。
另请注意:
Dnsmasq 是一个 DNS 查询转发器:它无法从根服务器开始递归地回答任意查询,但会将此类查询转发到通常由 ISP 提供的完全递归上游 DNS 服务器。默认情况下,dnsmasq 会读取 /etc/resolv.conf 以发现它应该使用的上游名称服务器的 IP 地址,因为这些信息通常存储在那里。除非使用 --no-poll,否则 dnsmasq 会检查 /etc/resolv.conf 的修改时间(如果使用 --resolv-file,则检查等效时间),并在更改时重新读取它。