LoginSignup
0
1

More than 3 years have passed since last update.

DNS over TLS(unbound)

Last updated at Posted at 2020-12-01

IIJ Public DNSサービス(ベータ版)
IIJさんが、DoT,DoHを試験サービスとして提供してくれています。
2022年3月31日までの予定だそうです。
DoT,DoHの普及へ向けた、大事なテストですね。
Androidでも利用させていただいています。

今回はLaptopでWifiのみの接続での利用です。
ルーター経由でインターネットに接続しています。
Linux Mint 20 "Ulyana" - MATE (64-bit) をインストールしたところから始まります。
インストール直後の起動では、grubのメニューが立ち上がらず、

set root=(hd0,gpt6)
set prefix=(hd0,gpt6)/boot/grub
insmod normal
normal

これでgrubメニューが表示され、無事に立ち上がりました。
次回からも無事立ち上がるように、grubを再インストールします。
UEFIなので、下記のような感じになりました。

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Mint --recheck
sudo update-grub

シャットダウンして、電源入れ直し。LaptopでLinux Mintが無事、立ち上がりました。

さて本題。
DNS over TLSをクライアントとして利用するために、unboundを用いました。

sudo apt install unbound

インストールされたunboundには2つの設定ファイルが用意されていました。

qname-minimisation.conf
root-auto-trust-anchor-file.conf

そこに設定ファイルを1つ追加します。

dns-over-tls.conf
server:
        tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt

forward-zone:
        name: "."
        forward-tls-upstream: yes  #DoT

        #IIJ DoT 
        forward-addr: 2001:300::5@853#public.dns.iij.jp
        forward-addr: 2001:300::6@853#public.dns.iij.jp
        forward-addr: 103.2.57.5@853#public.dns.iij.jp
        forward-addr: 103.2.57.6@853#public.dns.iij.jp

tls-cert-bundleに、ca-certificatesパッケージのca-certificates.crtを指定します。(memo: dpkg -L ca-certificates)
@でdomain-sのポート853を指定しています。
#public.dns.iij.jpでtlsで認証証明書のチェックをするドメイン名を指定しています。
※設定しているIPアドレスは、2020/12/01時点でのpublic.dns.iij.jpのアドレスです。

sudo cp dns-over-tls.conf /etc/unbound/unbound.d/
service unbound restart

設定ファイルを追加後、unboundを再起動。
これで名前解決にDNS over TLSを利用できる状態になりました。
ただWifi接続のみのため、DHCPで付与されたルーターのDNSがおそらくそのまま使われます。
そこでwifi接続の設定でDNSにローカルアドレスを追加します。

Mintのメニューだと
[コントロールセンター]
[インターネットとネットワーク]
[高度なネットワーク設定]
から設定できます。

ipv4設定、ipv6設定の「追加のDNS」にローカルリンクアドレスを追加します。

ipv4 ipv6
127.0.0.1 ::1

これでwifi接続のみのlaptopから、IIJさんへDNS over TLSで名前解決リクエストを送って、tls handshakeを経て、名前解決がされている、と思います。
syslogにはtls handshakeのエラーもなく、無効なドメインの場合には、NXDOMAINが通知されています。

もし、おかしな点、間違っているところなどありましたら、ご指摘いただけると助かります。

参考サイト。
https://www.ctrl.blog/entry/unbound-tls-forwarding.html
https://nlnetlabs.nl/documentation/unbound/unbound.conf/

その2
knot-resolverへ移行しました。
パッケージは公式サイトのものを使いました。
公式サイトの最新ドキュメントと参考サイトの情報を合わせて、必要な機能だけをオンにしました。
今の所、問題なく動作してくれています。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1