dnscrypt-proxy 的配置是否替换 /etc/hosts?

dnscrypt-proxy 的配置是否替换 /etc/hosts?

我最近安装了dnscrypt-proxy。它的配置文件中/etc/dnscrypt-proxy/dnscrypt-proxy.toml有一个黑名单部分,我目前正在使用:

[blacklist]

  ## Path to the file of blocking rules (absolute, or relative to the same directory as the executable file)

blacklist_file = '/etc/dnscrypt-proxy/CustomIgnores.txt'

我想知道此选项是否取代了 /etc/hosts 的重定向?或者两者都使用?
/etc/hosts 文件到底属于什么?dnscrypt 的黑名单选项如何工作(我假设它也只是重定向到本地主机)?谢谢。

答案1

进行 DNS 查询时,查找顺序由Name Service Switch中的配置决定/etc/nsswitch.conf。您可以通过以下方式检查您的顺序:

cat /etc/nsswitch.conf | grep -i hosts

例如,它可能会输出以下内容:

hosts: files dns

这里files指的是本地 hosts 文件 ( /etc/hosts),dns 指的是 中指定的服务器/etc/resolv.conf。查找按照它们的写入顺序进行,因此/etc/hosts在本例中将首先处理 。如果在文件中找不到域名,则它将尝试 中的服务器/etc/resolv.conf

回到您的案例,如果您的nsswitch.conf文件files在 之前有值,并且特定域在和中的条目dns中都列出,则 中的那个将优先。此外,如果 中不存在相应的条目,但在 dnscrypt-proxy 中存在,则将导致响应。引用自 dnscrypt-proxy GitHub wiki 页面:/etc/hostsblacklistdnscrypt-proxy.toml/etc/hosts/etc/hostsblacklistrefused

黑名单:会导致查询立即收到 REFUSED 响应的名称或模式。

参考:

相关内容