Stubby

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

Stubby はローカル DNS Privacy スタブリゾルバとして機能するアプリケーションです (DNS-over-TLS を使用)。Stubby はクライアントマシンから DNS Privacy リゾルバに送信された DNS クエリを暗号化して、エンドユーザーのプライバシーを守ります。

インストール

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

設定

stubby を設定するには以下の手順に従ってください。

リゾルバの選択

Stubby には複数のデフォルトリゾルバが存在します。/etc/stubby/stubby.yml で確認・編集することができます。最初から書かれているリゾルバのどれかをコメントアウトすることでデフォルト設定を使うことができます。もしくは こちらのリスト のリゾルバを使用できます。

リゾルバの設定例:

upstream_recursive_servers:

# The Surfnet/Sinodun servers
 - address_data: 145.100.185.15
    tls_auth_name: "dnsovertls.sinodun.com"
    tls_pubkey_pinset:
      - digest: "sha256"
        value: 62lKu9HsDVbyiPenApnc4sfmSYTHOVfFgL3pyB+cBL4=

# The Cloudflare server
- address_data: 1.1.1.1
    tls_port: 853
    tls_auth_name: "cloudflare-dns.com"

間違った tls_pubkey_pinset を要求する警告ログが表示された場合、tls_pubkey_pinset 値が間違っている可能性があり、tls_pubkey_pinsetvalue を次のように生成します。

$ echo | openssl s_client -connect address_data:tls_port 2>/dev/null | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
ノート: Stubby の設定に関する詳細は Configuring Stubby を参照してください。

resolv.conf の編集

リゾルバの選択後、resolv.conf ファイルを編集してリゾルバのアドレスを localhost のアドレスに置き換えてください:

/etc/resolv.conf
nameserver ::1
nameserver 127.0.0.1
options trust-ad

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

起動

stubby.service起動有効化してください。

ヒントとテクニック

ローカル DNS キャッシュの設定

Stubby には DNS キャッシュが組み込まれていないため、毎回クエリを送信・解決するために接続が遅くなる可能性があります。DNS キャッシュを設定するには別の DNS キャッシュデーモンのインストール・設定が必要です。

ポートの変更

ローカルの DNS キャッシュに転送するために、デフォルトの 53 以外のポートを使うように Stubby を設定する必要があります。以下では例としてポート番号 53000 を使っています。1024 よりも大きいポート番号では stubby は root で動かさなくてもかまいません。

/etc/stubby/stubby.yml 内の listen_addresses の値を以下のように編集:

listen_addresses:
  - 127.0.0.1@53000
  -  0::1@53000
dnsmasq

ローカル DNS キャッシュとして dnsmasq を設定します。Stubby を使用するようにする基本設定は以下のとおりです:

/etc/dnsmasq.conf
no-resolv
proxy-dnssec
server=::1#53000
server=127.0.0.1#53000
listen-address=::1,127.0.0.1

変更を適用するには dnsmasq.service再起動してください。

他の DNS キャッシュ

他の DNS キャッシュについては DNSCrypt#ローカル DNS キャッシュの設定を見てください。設定は大体同じです。