Ubuntu 22.04
Sponsored Link

BIND : DNS over HTTPS クライアントの設定 : Ubuntu
2022/04/26
 
DNS over HTTPS サーバーを参照するための Ubuntu クライアントの設定です。
[1]
dnscrypt-proxy をインストールして設定します。
事前に、dnscrypt-proxy で設定する DNS Stamp を、下記サイトで確認しておきます。
⇒ https://dnscrypt.info/stamps/
以下のように 選択/入力 します。そこで [Stamp] に表示された [sdns://***] の値をメモしておきます。
* Protocol : DNS-over-HTTPS (DoH)
* IP Address : 自身の DNS-over-HTTPS サーバーの IP アドレス
* Host Name : 自身の DNS-over-HTTPS サーバーのホスト名
* Path : 自身の DNS-over-HTTPS サーバーで設定した [endpoints] のパス
[2] Ubuntu クライアントで 自身の DoH サーバーを参照するよう設定します。
root@node01:~#
apt -y install dnscrypt-proxy
root@node01:~#
vi /etc/dnscrypt-proxy/dnscrypt-proxy.toml
# Empty listen_addresses to use systemd socket activation
listen_addresses = []
# 自身の DoH サーバーに変更
server_names = ['dlp.srv.world']

[query_log]
  file = '/var/log/dnscrypt-proxy/query.log'

[nx_log]
  file = '/var/log/dnscrypt-proxy/nx.log'

# 以下 全行コメント化
#[sources]
#  [sources.'public-resolvers']
#  url = 'https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md'
#  cache_file = '/var/cache/dnscrypt-proxy/public-resolvers.md'
#  minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
#  refresh_delay = 72
#  prefix = ''

# 以下 追記
# [stamp] の値は [1] で確認した Stamp 値を設定
[static]
  [static.'dlp.srv.world']
  stamp = 'sdns://AgcAAAAAAAAACTEwLjAuMC4zMAANZGxwLnNydi53b3JsZAovZG5zLXF1ZXJ5'

root@node01:~#
systemctl restart dnscrypt-proxy
root@node01:~#
vi /etc/netplan/01-netcfg.yaml
# 名前解決の参照先を dnscrypt-proxy がリスンする IP アドレスに変更

    nameservers:
        addresses: [127.0.2.1]

root@node01:~#
netplan apply
# DoH サーバー登録済みのホストが解決可能か確認

root@node01:~#
dig www.srv.world.


; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> www.srv.world.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35021
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.srv.world.                 IN      A

;; ANSWER SECTION:
www.srv.world.          86373   IN      A       10.0.0.31

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sat Nov 26 11:22:22 JST 2022
;; MSG SIZE  rcvd: 58

BIND : DNS over HTTPS クライアントの設定 : Windows
 
DNS over HTTPS サーバーを参照するための Windows クライアントの設定です。Windows 11 を例にします。
[3] Powertshell を管理者権限で起動し、以下のように [Get-DNSClientDohServerAddress] とコマンド投入すると、既知の DoH (DNS over HTTPS) サーバーが確認できます。自身の DoH サーバーを参照したい場合は、この既知のリストに登録する必要があります。
[4]
自身の DoH サーバーを登録します。
以下のようにコマンド投入します。
PS > Add-DnsClientDohServerAddress -ServerAddress '(DoH サーバーの IP アドレス)' -DohTemplate '(HTTP クエリーのエンドポイント)' -AllowFallbackToUdp $False -AutoUpgrade $True
[HTTP クエリーのエンドポイント] ⇒ https://(自身の DNS サーバーのホスト名)/(named.conf で設定した [endpoints] の設定値)
追加後は、再度、既知の DoH サーバーを表示して正常に登録されたか確認しておきましょう。
[5] DNS の参照先をします。ネットワークの設定画面を開いて、DNS サーバーの項目で編集ボタンをクリックします。
[6] 自身の DNS サーバーの IP アドレスを入力します。ここで、入力された IP アドレスが既知の DoH サーバーのリストに存在する場合、[DNS 暗号化] が選択できるようになります。リストから [DNS over HTTPS] を選択して OK します。以上で OK です。
[7] 設定後は、正常に名前解決可能か確認しておくとよいでしょう。
関連コンテンツ