DNS-over-HTTPS

提供: ArchWiki
2024年1月29日 (月) 18:51時点におけるKgx (トーク | 投稿記録)による版 (→‎Client configuration: 翻訳)
ナビゲーションに移動 検索に移動

関連記事

DNS-over-HTTPSDNS over HTTPS の実装です。スタブリゾルバとして使用できます。

インストール

dns-over-https パッケージを インストール して下さい。

クライアントの起動

ポート 53 にバインドされているすべてのサービスを無効にする

ポート 53 を使用しているプログラムがあるかどうかを確認するには、次のコマンドを実行します。

$ ss -lp 'sport = :domain'

出力に列名の最初の行以上が含まれている場合は、ポート 53 を使用しているサービスを無効にする必要があります。上記のコマンドが次の行のみを出力したら、続行する準備ができています:

Netid State   Recv-Q  Send-Q   Local Address:Port     Peer Address:Port Process

システムの DNS サーバーを変更する

システムの DNS サーバーを、設定ファイルの listen = セクションのアドレスに変更します。何をしているのかわからない場合は、127.0.0.1 をお勧めします。

これは、ネットワークマネージャ または :/etc/resolv.conf の編集を通じて実行できます。

起動

doh-client.service起動/有効化 して下さい。

テスト設定

システムの DNS が機能するかどうかをテストするには、コマンドラインに nslookup www.google.com と入力します。これをインストールする前に DNS 設定があった場合、これは DNS-over-HTTPS が設定される前に機能することに注意してください。

クライアント設定

デフォルトでは、クライアント設定ファイルは /etc/dns-over-https/doh-client.conf です。

優先する上流 DNS サーバーを選択します

優先 DNS サーバー を選択するには、プロファイルの 1 つのコメントを解除します。

優先サーバーがリストにない場合は、[upstream] セクションで次のテンプレートを使用できます。

/etc/dns-over-https/doh-client.conf
[[upstream.upstream_ietf]]
    url = "https://[IP or web address]/dns-query"
    weight = 20

Troubleshooting

Service does not start properly in wired connection

As explained by the developer:

ArchLinux doesn’t come with a default network management framework, thus systemd comes without online detection pre-configured.
If you are on Wi-Fi, I suggest making sure systemd’s online detection can function properly. I believe your system have already installed some network management framework such as NetworkManager to help you manage Wi-Fi passwords.
Or, if you are on wired network, simply modifying the .service file to disable online detection would be the easiest solution. Installing NetworkManager for a non-mobile machine might be against the K.I.S.S. principle, and we don’t want it.

Upstream suggests to use a drop-in snippet to your service file to:

/etc/systemd/system/doh-client.service.d/override.conf
[Unit]
After=multi-user.target

[Service]
Type=idle