Stubby
Stubby はローカル DNS Privacy スタブリゾルバとして機能するアプリケーションです (DNS-over-TLS を使用)。Stubby はクライアントマシンから DNS Privacy リゾルバに送信された DNS クエリを暗号化して、エンドユーザーのプライバシーを守ります。
目次
インストール
設定
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_pinset
の value
を次のように生成します。
$ 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
resolv.conf の編集
リゾルバの選択後、resolv.conf ファイルを編集してリゾルバのアドレスを localhost のアドレスに置き換えてください:
/etc/resolv.conf
nameserver ::1 nameserver 127.0.0.1 options trust-ad
他のプログラムによって上記の設定は上書きされることがあります。詳しくは resolv.conf#DNS 設定の保護 を見てください。
起動
ヒントとテクニック
ローカル 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 キャッシュの設定を見てください。設定は大体同じです。