自定义 dns 解析器并非特定于域

自定义 dns 解析器并非特定于域

我有一个自定义 DNS 解析器,类似于 Consul 提供 DNS 的方式。他们已经给你设置好了像这样的系统解决

# File /etc/systemd/resolved.conf.d/consul.conf
[Resolve]
DNS=127.0.0.1:8600
DNSSEC=false
Domains=~consul

听起来这应该只转到此 DNS 解析器(侦听端口 8600)以查找以.consul.然而,我自己使用这个设置和一些代码(不是 Consul)并在收到查询时进行记录,我可以看到所有 DNS 查询(例如dig example.com)最终都被发送到该程序!

我不确定我缺少什么来只处理特定域的查询。以下是相关文件:

/etc/resolv.conf(是的,AWS EC2 服务器):

nameserver 127.0.0.53
options edns0 trust-ad
search us-east-2.compute.internal

文件 /etc/systemd/resolved.conf.d/service.conf

[Resolve]
DNS=127.0.0.1:8600
DNSSEC=false
Domains=~service

命令输出resolvectl

(是的,我正在使用.service而不是.consul)。

#$ resolvectl status

Global
         Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
  resolv.conf mode: stub
Current DNS Server: 127.0.0.1:8600
       DNS Servers: 127.0.0.1:8600
        DNS Domain: ~service

Link 2 (ens5)
    Current Scopes: DNS
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 10.0.0.2
       DNS Servers: 10.0.0.2
        DNS Domain: us-east-2.compute.internal

我是否需要创建另一个[Resolve]部分Domains=~.?也许将其指向默认网关(10.0.0.2在我的例子中或类似的情况下8.8.8.8)。

理想情况下,我可以继续使用这些 ec2 实例的默认 DNS 设置并“挂钩”其中,但也许我需要将其炸毁。

相关内容