我希望首先处理传入的 DNS 查询,并且仅在 dnsmasq 本身没有答案时才dnsmasq
将问题转发。systemd-resolved
要非常清楚:我知道如何禁用systemd-resolved
“DNSStubListener”,所以这dnsmasq
是我的系统上运行的唯一DNS 服务器,但这不是我要问的。
据我所知,这意味着我需要systemd-resolved
运行 的存根解析器,但我还需要确保在响应systemd-resolved
之前不会响应入站 DNS 查询dnsmasq
。但是该怎么做呢?
(至于原因:我想使用 DHCP 指向的 DNS 服务器进行“正常”的 Internet 流量,这意味着我无法在dnsmasq
配置文件中对上游 DNS 服务器进行硬编码。但我还想处理dnsmasq
DNS 阻止、本地运行的虚拟机的特殊主机名、通过 VPN 连接路由部分但不是全部流量,或类似情况。)
我是否可以对 使用“DNSStubListener=no”选项systemd-resolved
,同时定义“DNSStubListenerExtra=....”,使用 localhost 作为 IP 地址,但使用非标准端口号,并使用该地址作为dnsmasq
的主上游 DNS 服务器?这种设置是否稳定?
编辑(在已经提供答案之后):这是在 Ubuntu 24.04 桌面上。