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指的是.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

黑名單:將導致查詢立即收到拒絕回應的名稱或模式。

參考:

相關內容