「Rescached」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎特徴: 情報を更新)
24行目: 24行目:
 
== rescached のキャッシュの仕組み ==
 
== rescached のキャッシュの仕組み ==
   
メモリにおけるキャッシュの順番は使用頻度によって決まります。頻繁問い合わせがされホストネームはキャッシュリストの一番上り、問い合わせが少ないホストネームはキャッシュリストの下に沈みます。ユーザーの習慣を元にキャッシュリストが作成され、解決速度が高速ります。
+
キャッシュ内の各 DNS レコードには、最終アクセス時刻フィールドがあり、メモリ内でキャッシュがどように序付けされるかを定義します。最後クエリされホストはキャッシュリストの最後り、クエリされた最も古いホストはキャッシュ リストの一番上ります。
  +
  +
次の表は、メモリ内のキャッシュのリストを示しています。
   
 
{| class="wikitable"
 
{| class="wikitable"
  +
! Accessed At
! #
 
 
! ホスト名
 
! ホスト名
 
|-
 
|-
  +
| 2018-01-01 00:00:01
| 529
 
  +
| kilabit.info
| www.reddit.com
 
 
|-
 
|-
  +
| 2018-01-01 00:00:02
| 233
 
  +
| archlinux.org
| www.google.com
 
 
|-
 
|-
 
| ...
 
| ...
 
| ...
 
| ...
 
|-
 
|-
  +
| 2018-01-01 00:01:00
| 1
 
  +
| wiki.archlinux.org
| www.kilabit.info
 
 
|-
 
|-
 
|}
 
|}
   
  +
キャッシュからの古いレコードのプルーニングは、{{ic|cache.prune_delay}} ごと (たとえば 5 分ごと) に行われます。キャッシュ内のレコードの accessed-at 値が {{ic|current-time + cache.threshold}} より小さい場合 (''cache.threshold'' の値は負の値である必要があることに注意してください)、キャッシュからレコードが削除されます。
rescached で保存されるキャッシュエントリの数は設定ファイルの ''cache.max'' の値によって決まります。''cache.max'' の上限に達すると、デーモンは ''cache.threshold'' に設定されている閾値よりもアクセスが少ないキャッシュエントリを全て削除します。
 
   
 
== インストール ==
 
== インストール ==

2024年1月9日 (火) 00:39時点における版

関連記事

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

他のプログラムが設定を上書きしてしまうことがあります。詳しくは resolv.conf#DNS 設定の保護を見てください。

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

Integration with OpenResolv

Rescached can detect change on "resolv.conf" file generated by resolvconf. To use this feature set the "file.resolvconf" to "/etc/rescached/resolv.conf" in configuration file. In "/etc/resolvconf.conf" set either "dnsmasq_resolv", "pdnsd_resolv", or "unbound_conf" to point to the same file "/etc/rescached/resolv.conf".

Web user interface

The rescached service provide a web user interface that can be accessed at http://127.0.0.1:5380. The following user interfaces are available on the latest release,

The front page allow user to monitor active caches, query the caches, and removing the caches.

The Environment page allow user to modify the rescached configuration on the fly.

The Hosts Blocks page allow user to enable or disable the external sources of hosts blocks list.

The Hosts.d page allow user to manage hosts file, creating new hosts file, create new record, or delete a record.

The Zone.d page allow user manage zone file, creating new zone file, adding or deleting new resource record in the zone file.

参照