「Rescached」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(翻訳)
 
 
(2人の利用者による、間の10版が非表示)
1行目: 1行目:
[[Category:Domain Name System]]
+
[[Category:ドメインネームシステム]]
 
[[en:Rescached]]
 
[[en:Rescached]]
  +
{{Related articles start}}
  +
{{Related|ドメイン名前解決}}
  +
{{Related articles end}}
 
[https://github.com/shuLhan/rescached rescached] はインターネットの名前解決・アドレス解決をキャッシュするデーモンです。実行中はローカルメモリに保存し、実行していない間はディスクキャッシュに保存されます。
 
[https://github.com/shuLhan/rescached rescached] はインターネットの名前解決・アドレス解決をキャッシュするデーモンです。実行中はローカルメモリに保存し、実行していない間はディスクキャッシュに保存されます。
   
7行目: 10行目:
 
== 特徴 ==
 
== 特徴 ==
   
  +
現在の特徴の一覧です。
* UDP と TCP によるリクエストを処理可能。
 
  +
* ディスクにキャッシュを保存・ロード。
 
  +
* UDP と TCP 接続からの要求の処理を有効にする
  +
* UDP と TCP によるリクエストを提供できるようにする
 
* {{ic|/etc/hosts}} でアドレスとホストネームをロード・提供。
 
* {{ic|/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 のキャッシュの仕組み ==
 
== 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'' に設定されている閾値よりもアクセスが少ないキャッシュエントリを全て削除します。
 
   
 
== インストール ==
 
== インストール ==
57行目: 70行目:
 
nameserver 127.0.0.1
 
nameserver 127.0.0.1
   
他のプログラムが設定を上書きしてしまうことがあります。詳しくは [[resolv.conf#DNS 設定保護]]を見てください。
+
他のプログラムが設定を上書きしてしまうことがあります。詳しくは [[ドメイン名前解決#/etc/resolv.conf の上書き]]を見てください。
   
 
設定できたら {{ic|rescached.service}} を[[起動]]・[[有効化]]してください。
 
設定できたら {{ic|rescached.service}} を[[起動]]・[[有効化]]してください。
  +
  +
== OpenResolv との統合 ==
  +
  +
Rescached は、[[resolvconf]] によって生成された [[resolv.conf]] ファイルの変更を検出できます。
  +
この機能を使用するには、設定ファイルで {{ic|file.resolvconf}} を {{ic|/etc/rescached/resolv.conf}} に設定します。{{ic|/etc/resolvconf.conf}} で、同じファイル {{ic|/etc/rescached/resolv.conf}}、{{ic|dnsmasq_resolv}}、{{ic|pdnsd_resolv}}、または {{ic|unbound_conf}} のいずれかを設定します。
  +
  +
== web ユーザーインターフェース ==
  +
  +
再キャッシュされたサービスは、http://127.0.0.1:5380 でアクセスできる Web ユーザーインターフェイスを提供します。
  +
最新リリースでは次のユーザーインターフェイスが利用可能です。
  +
  +
* [https://raw.githubusercontent.com/shuLhan/rescached-go/master/_doc/images/Screenshot_wui_frontpage.png The front page]
  +
フロントページでは、ユーザーがアクティブなキャッシュの監視、キャッシュのクエリ、およびキャッシュの削除を行うことができます。
  +
  +
* [https://raw.githubusercontent.com/shuLhan/rescached-go/master/_doc/images/Screenshot_wui_environment.png The environment page]
  +
''設定''ページでは、再キャッシュされた設定をその場で変更できます。
  +
  +
* [https://raw.githubusercontent.com/shuLhan/rescached-go/master/_doc/images/Screenshot_wui_hosts_blocks.png The Hosts Blocks page]
  +
ホストブロックページでは、ユーザーがホストブロックリストの外部ソースを有効または無効にすることができます。
  +
  +
* [https://raw.githubusercontent.com/shuLhan/rescached-go/master/_doc/images/Screenshot_wui_hosts_d.png The hosts.d page]
  +
Hosts.d ページでは、ユーザーは hosts ファイルの管理、新しい hosts ファイルの作成、新しいレコードの作成、またはレコードの削除を行うことができます。
  +
  +
* [https://raw.githubusercontent.com/shuLhan/rescached-go/master/_doc/images/Screenshot_wui_zone_d.png The zone.d page]
  +
Zone.d ページでは、ユーザーがゾーンファイルを管理や作成をしたり、ゾーンファイル内の新しいリソースレコードを追加または削除したりできます。
   
 
== 参照 ==
 
== 参照 ==
   
* 設定について詳しくは rescached の man ページを参照してください。
+
* 詳細と設定については、インストール後に {{man|5|rescached.cfg|url=}} を参照してください。
  +
* バグの報告と機能リクエストは [https://github.com/shuLhan/rescached-go/issues GitHub] で行うことを推奨します。
* 簡単な説明は [http://kilabit.info/journal/2009/12/04__rescached_is_here/index.html こちら] を参照。
 
* [http://kilabit.info/projects/rescached/doc/user/index.html ユーザードキュメント]
 
* [https://github.com/shuLhan/rescached/issues github]
 

2024年8月15日 (木) 13:40時点における最新版

関連記事

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 で行うことを推奨します。