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