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 のブラックリスト オプションはどのように機能するのでしょうか (これも localhost にリダイレクトするだけだと思います)。ありがとうございます。

答え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、特定のドメインが と/etc/hostsblacklist両方のエントリにリストされている場合dnscrypt-proxy.toml、 のもの/etc/hostsが優先されます。また、対応するエントリが に存在せず/etc/hosts、 dnscrypt-proxy に存在する場合blacklist、応答 が発生しますrefused。dnscrypt-proxy GitHub wiki ページから引用:

ブラックリスト: クエリに対して即座に REFUSED 応答が返される原因となる名前またはパターン。

参考文献:

関連情報