pi-holeにDNS over HTTPS環境を構築

Facebooktwittermail

pi-holeにDNS Over HTTPSの環境を構築してみました。

Raspberry PiにPi-Holeをインストール

1.1.1.1 を DNS over HTTPS で試す
https://blog.nic.ad.jp/2018/1742/

以下のサイトの手順で構築できます。
Configuring DNS-Over-HTTPS on Pi-hole
https://docs.pi-hole.net/guides/dns-over-https/

環境
・Raspberry Pi type B
・Raspbian GNU/Linux 10 (buster)
・pi-hole
Pi-hole version is v5.1.2 (Latest: v5.1.2)
AdminLTE version is v5.1.1 (Latest: v5.1.1)
FTL version is v5.2 (Latest: v5.2)

Cloudflared releases Archives
https://dl.equinox.io/cloudflare/cloudflared/stable/archive

  1. binary download
  2. armhf architectureのバイナリをダウンロードします。
    armhf architecture (32-bit Raspberry Pi)
    https://docs.pi-hole.net/guides/dns-over-https/#armhf-architecture-32-bit-raspberry-pi

    実行してみましたがSegmentation faultで動作しません。

    調べたら下記のサイトが見つかりました。
    DNS over HTTPS – cloudflared has a segmentation fault
    https://www.reddit.com/r/pihole/comments/94spyp/dns_over_https_cloudflared_has_a_segmentation/

    なんと!

    2018.7.2 is the last version that works for me:
    https://bin.equinox.io/a/4SUTAEmvqzB/cloudflared-2018.7.2-linux-arm.tar.gz

    cloudflared-2018.7.2-linux-arm.tar.gzをダウンロードして実行すると動きました。

  3. プログラムのコピー
  4. プログラムを /usr/local/bin にコピーします。

  5. ユーザcloudflaredの作成
  6. デーモンを実行するためのユーザcloudflaredを作成します。

  7. cloudflaredの構成ファイルの作成
  8. cloudflaredをポート5053で動作させ、cloudflareのDNS 1.1.1.1と1.0.0.1を指定しています。

  9. ユーザcloudflaredにOwner変更
  10. /etc/default/cloudflared, /usr/local/bin/cloudflared のOwner変更します。

  11. systemd scriptの作成
  12. 自動起動の設定と起動
  13. 確認
  14. 名前解決はできているようです。

  15. pi-holeのDNS設定
  16. Custom 1 (IPv4)“に”127.0.0.1#5053“を設定します。


本当にDNS Over HTTPSが使われているのかtcpdumpで見てみました。
tcpdumpが無い場合はインストールして下さい。

pi-holeと1.1.1.1(https://one.one.one.one/)の間でhttpsが使われていました。

ちなみにpi-holeのDNS設定の[save]で前回の直接編集したConditional forwardingの設定が消えたので再設定しました。
pi-holeのアップデートなどでも消える可能性があるので注意しないと。

help

Leave a Reply