Rescached
関連記事
rescached はインターネットの名前解決・アドレス解決をキャッシュするデーモンです。実行中はローカルメモリに保存し、実行していない間はディスクキャッシュに保存されます。
rescached は BIND などの 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.max
やcache.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.conf
、dnsmasq_resolv
、pdnsd_resolv
、または unbound_conf
のいずれかを設定します。
web ユーザーインターフェース
再キャッシュされたサービスは、http://127.0.0.1:5380 でアクセスできる Web ユーザーインターフェイスを提供します。 最新リリースでは次のユーザーインターフェイスが利用可能です。
フロントページでは、ユーザーがアクティブなキャッシュの監視、キャッシュのクエリ、およびキャッシュの削除を行うことができます。
設定ページでは、再キャッシュされた設定をその場で変更できます。
ホストブロックページでは、ユーザーがホストブロックリストの外部ソースを有効または無効にすることができます。
Hosts.d ページでは、ユーザーは hosts ファイルの管理、新しい hosts ファイルの作成、新しいレコードの作成、またはレコードの削除を行うことができます。
Zone.d ページでは、ユーザーがゾーンファイルを管理や作成をしたり、ゾーンファイル内の新しいリソースレコードを追加または削除したりできます。
参照
- 詳細と設定については、インストール後に rescached.cfg(5) を参照してください。
- バグの報告と機能リクエストは GitHub で行うことを推奨します。