Rescached

提供: ArchWiki
移動先: 案内検索

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

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

特徴

  • UDP と TCP によるリクエストを処理可能。
  • ディスクにキャッシュを保存・ロード。
  • /etc/hosts でアドレスとホストネームをロード・提供。

rescached のキャッシュの仕組み

メモリにおけるキャッシュの順番は使用頻度によって決まります。頻繁に問い合わせがされるホストネームはキャッシュリストの一番上になり、問い合わせが少ないホストネームはキャッシュリストの下に沈みます。ユーザーの習慣を元にキャッシュリストが作成され、解決速度が高速になります。

# ホスト名
529 www.reddit.com
233 www.google.com
... ...
1 www.kilabit.info

rescached で保存されるキャッシュエントリの数は設定ファイルの cache.max の値によって決まります。cache.max の上限に達すると、デーモンは 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起動有効化してください。

参照