最近 をインストールしました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/hosts
のblacklist
両方のエントリにリストされている場合dnscrypt-proxy.toml
、 のもの/etc/hosts
が優先されます。また、対応するエントリが に存在せず/etc/hosts
、 dnscrypt-proxy に存在する場合blacklist
、応答 が発生しますrefused
。dnscrypt-proxy GitHub wiki ページから引用:
ブラックリスト: クエリに対して即座に REFUSED 応答が返される原因となる名前またはパターン。
参考文献: