Rescached

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

rescached はインターネットの名前解決・アドレス解決をキャッシュするデーモンです。実行中はローカルメモリに保存し、実行していない間はディスクキャッシュに保存されます。

rescachedBIND などの DNS サーバーの再実装ではありません。rescached の目標はあくまで DNS クエリをキャッシュして外部ネットワークへの不必要なトラフィックを減らすことにあります。個人的・小規模な環境での使用が想定されています。

特徴

現在の特徴の一覧です。

  • UDP と TCP 接続からの要求の処理を有効にする
  • UDP と TCP によるリクエストを提供できるようにする
  • /etc/hosts でアドレスとホストネームをロード・提供。
  • ディレクトリ /etc/rescached/hosts.d/ 内にホスト形式のファイルをロードして提供します
  • /etc/rescached/hosts.d/ のホストリストを通じて広告や悪意のある Web サイトをブロックする
  • /etc/rescached/zone.d からのゾーンファイル形式のロードと提供のサポート
  • openresolv との統合
  • DNS over TLS (DoH) (RFC 7858) をサポート
  • DNS over HTTPS (DoH) (RFC 8484) をサポート

rescached のキャッシュの仕組み

キャッシュ内の各 DNS レコードには、最終アクセス時刻フィールドがあり、メモリ内でキャッシュがどのように順序付けされるかを定義します。最後にクエリされたホスト名はキャッシュリストの最後にあり、クエリされた最も古いホスト名はキャッシュ リストの一番上にあります。

次の表は、メモリ内のキャッシュのリストを示しています。

Accessed At ホスト名
2018-01-01 00:00:01 kilabit.info
2018-01-01 00:00:02 archlinux.org
... ...
2018-01-01 00:01:00 wiki.archlinux.org

キャッシュからの古いレコードのプルーニングは、cache.prune_delay ごと (たとえば 5 分ごと) に行われます。キャッシュ内のレコードの accessed-at 値が current-time + cache.threshold より小さい場合 (cache.threshold の値は負の値である必要があることに注意してください)、キャッシュからレコードが削除されます。

インストール

rescached-gitAUR パッケージをインストールしてください。

設定

デフォルトで設定でデーモンを直接起動できます。

Rescached の設定は /etc/rescached/rescached.cfg に存在します。以下のような設定があります:

  • 親の DNS サーバーの設定:
server.parent の値を使用したい DNS サーバーに変えてください。
  • キャッシュの最大値の設定:
cache.maxcache.threshold の値を必要に応じて変更してください。

設定ファイルを編集したら、resolv.conf ファイルを開いてリゾルバのアドレスを localhost のアドレスで置き換えてください:

nameserver 127.0.0.1

他のプログラムが設定を上書きしてしまうことがあります。詳しくは ドメイン名前解決#/etc/resolv.conf の上書きを見てください。

設定できたら rescached.service起動有効化してください。

OpenResolv との統合

Rescached は、resolvconf によって生成された resolv.conf ファイルの変更を検出できます。 この機能を使用するには、設定ファイルで file.resolvconf/etc/rescached/resolv.conf に設定します。/etc/resolvconf.conf で、同じファイル /etc/rescached/resolv.confdnsmasq_resolvpdnsd_resolv、または unbound_conf のいずれかを設定します。

web ユーザーインターフェース

再キャッシュされたサービスは、http://127.0.0.1:5380 でアクセスできる Web ユーザーインターフェイスを提供します。 最新リリースでは次のユーザーインターフェイスが利用可能です。

フロントページでは、ユーザーがアクティブなキャッシュの監視、キャッシュのクエリ、およびキャッシュの削除を行うことができます。

設定ページでは、再キャッシュされた設定をその場で変更できます。

ホストブロックページでは、ユーザーがホストブロックリストの外部ソースを有効または無効にすることができます。

Hosts.d ページでは、ユーザーは hosts ファイルの管理、新しい hosts ファイルの作成、新しいレコードの作成、またはレコードの削除を行うことができます。

Zone.d ページでは、ユーザーがゾーンファイルを管理や作成をしたり、ゾーンファイル内の新しいリソースレコードを追加または削除したりできます。

参照

  • 詳細と設定については、インストール後に rescached.cfg(5) を参照してください。
  • バグの報告と機能リクエストは GitHub で行うことを推奨します。