我最近安装了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/hosts
blacklist
dnscrypt-proxy.toml
/etc/hosts
/etc/hosts
blacklist
refused
黑名单:会导致查询立即收到 REFUSED 响应的名称或模式。
参考: