DNS-over-HTTPS
関連記事
DNS-over-HTTPS は DNS 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