Fedora 37
Sponsored Link

BIND : DNS over HTTPS クライアントの設定 : Fedora2022/11/18

 
DNS over HTTPS サーバーを参照するための Fedora クライアントの設定です。
[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] Fedora クライアントで 自身の DoH サーバーを参照するよう設定します。
[root@node01 ~]#
dnf -y install dnscrypt-proxy
[root@node01 ~]#
mv /etc/dnscrypt-proxy/dnscrypt-proxy.toml /etc/dnscrypt-proxy/dnscrypt-proxy.toml.org

[root@node01 ~]#
vi /etc/dnscrypt-proxy/dnscrypt-proxy.toml
# 新規作成

listen_addresses = ['127.0.0.1:53']
ipv4_servers = true
ipv6_servers = false
dnscrypt_servers = false
doh_servers = true
odoh_servers = false
require_dnssec = false
max_clients = 250
keepalive = 30
use_syslog = true
log_files_max_size = 10
log_files_max_age = 7
log_files_max_backups = 1
reject_ttl = 10
cache = true
cache_size = 4096
cache_min_ttl = 2400
cache_max_ttl = 86400
cache_neg_min_ttl = 60
cache_neg_max_ttl = 600

# 自身の DoH サーバー
server_names = ['dlp.srv.world']

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

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

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

[root@node01 ~]#
systemctl enable --now dnscrypt-proxy
# 名前解決の参照先を dnscrypt-proxy がリスンする IP アドレスに変更

[root@node01 ~]#
nmcli connection modify enp1s0 ipv4.dns 127.0.0.1

[root@node01 ~]#
nmcli connection up enp1s0
# DoH サーバー登録済みのホストが解決可能か確認

[root@node01 ~]#
dig www.srv.world.


; <<>> DiG 9.18.8 <<>> www.srv.world.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21374
;; 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.          86400   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 12:51:36 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] 設定後は、正常に名前解決可能か確認しておくとよいでしょう。
関連コンテンツ