Ubuntu Server 24.04 上で Pi-hole アップストリーム DNS を暗号化する

この例では、Linh は Ubuntu Server 24.04 上で Pi-hole を実行し、Pi-hole がアップストリームに送信する DNS リクエストを暗号化したいと考えています。 をインストールしdnscrypt-proxy、 にバインドし127.0.0.1:5053、DNS-over-HTTPS (DoH) リゾルバを選択し、そのローカルプロキシをテストしてから、Pi-hole をそのプロキシに向けます。このチュートリアルは、Pi-hole が既にインストールされ、動作していることを前提としています。Linh は架空の例であり、実際のインストールやテスト レポートではありません。

現在のDoHメソッドを選択してください

Pi-hole自体は、アップストリームのリゾルバに対してDoH通信を行いません。通常は、DNSをIPアドレスとポートに転送します。ローカルプロキシが2つのプロトコルを橋渡しします。Pi-holeは標準DNSをプライベートなローカルリスナーに送信し、プロキシは暗号化されたリクエストを選択されたリゾルバに送信します。この例では、Linhはdnscrypt-proxy同じサーバー上でプロキシを使用し、リスナーをループバックに設定しているため、他のデバイスはプロキシに直接接続できません。

古いレシピで新規インストールを開始しないでくださいcloudflared proxy-dns。Pi-hole の現在の cloudflared ページには、この機能は 2025 年 11 月に Cloudflare によって非推奨となり、それを使用した新規インストールは推奨されないと記載されています。Pi-hole の dnscrypt-proxy の手順では、メンテナンスされている代替手段が提供されています。Ubuntu Noble パッケージのリストには現在 が含まれています。dnscrypt-proxyパッケージのバージョンはアーキテクチャによって異なり、更新が公開されると変更される場合があります。

Ubuntu Serverのターミナルプロンプトで、sudo apt install dnscrypt-proxyコマンドを実行します。
Nobleパッケージリポジトリからdnscrypt-proxyをインストールするためのUbuntuターミナルコマンド。

1. Ubuntuパッケージをインストールします

APTのパッケージリストを更新し、Nobleリポジトリパッケージをインストールします。

sudo apt update
sudo apt install dnscrypt-proxy

パッケージはUbuntuのUniverseコンポーネントに含まれています。APTがパッケージを見つけられない場合は、Universeが有効になっていることを確認し、再度実行してくださいsudo apt update。リポジトリ構成の問題を回避するために、無作為にサードパーティ製のビルドをダウンロードしないでください。

続行する前に、UbuntuがPi-holeの手順で使用されるsystemdソケットユニットをインストールしていることを確認してください。

systemctl list-unit-files dnscrypt-proxy.socket

Ubuntu Noble パッケージファイルリストには が含まれておりdnscrypt-proxy.socket、Pi-hole の手順では、Pi-hole 自身のポート 53 サービスと競合することなくローカル DNS リスナーを提供するために、そのソケットを使用します。

Nanoエディタで、ポート5053で127.0.0.1にバインドされたsystemdソケットのオーバーライドを表示
TCPとUDPの両方のリスナーを持つソケットオーバーライドがクリアされ、ポート5053のlocalhostに再バインドされました。

2. プロキシをlocalhostのポート5053にバインドします。

Pi-holeのFTL DNSサービスは通常ポート53を使用します。dnscrypt-proxyに別のポートを割り当て、サーバー自体にのみバインドします。systemdオーバーライドを作成します。

sudo systemctl edit dnscrypt-proxy.socket

空のオーバーライドファイルに以下の行を追加し、保存して終了してください。

[Socket]
ListenStream=
ListenDatagram=
ListenStream=127.0.0.1:5053
ListenDatagram=127.0.0.1:5053

空欄の割り当ては、新しいアドレスが追加される前に、ソケットユニットの元のポート53リスナーをクリアします。リスナーを に維持すること127.0.0.1が重要です。この同一ホスト構成では、 に変更しないでください0.0.0.0。変更すると、プロキシがすべてのネットワークインターフェイスに公開されてしまいます。

Nanoエディタで、ソケットアクティベーションとcloudflare-securityリゾルバで構成されたdnscrypt-proxyを表示
systemdソケットアクティベーションを使用し、Cloudflare Securityリゾルバーを選択するdnscrypt-proxyのTOML設定。

3. DoHリゾルバーを選択します

パッケージ設定ファイルを開きます。

sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

パッケージに含まれるその他の設定はそのままにして、以下の値を設定してください。

listen_addresses = []
server_names = ['cloudflare-security']

空のlisten_addressesリストを指定すると、dnscrypt-proxy は systemd ソケットの有効化を使用します。名前付きの Cloudflare Security リゾルバは、Pi-hole の dnscrypt-proxy ガイドで使用されている例です。Pi-hole 独自のブロックリストに加えて、リゾルバのマルウェアフィルタリングが適用されます。別のプロバイダを使用したい場合、または追加のセキュリティフィルタリングが不要な場合は、管理されている公開リゾルバ リストから最新の DoH リゾルバを選択し、その正確なサーバー名を使用してください。利用可能な名前とリゾルバ ポリシーは変更される可能性があるため、古い投稿から古い名前をコピーするのではなく、最新のエントリを確認してください。

オーバーライド設定とTOML設定を有効にするには、ソケットとサービスを再起動してください。

sudo systemctl restart dnscrypt-proxy.socket
sudo systemctl restart dnscrypt-proxy.service

Pi-holeのアップストリームを変更する前に、ローカルリスナーをテストしてください。

dig @127.0.0.1 -p 5053 example.com

DNS応答と終了ステータスがゼロであれば、ローカルプロキシがクエリに応答したことを示します。選択したアップストリームがDoHを使用していることを確認するには、最近のサービスメッセージを調べて、次のマークが付いたリゾルバを探してくださいOK (DoH)。

sudo journalctl -u dnscrypt-proxy.service -n 50 --no-pager
がインストールされていない場合はdig、Ubuntu のdnsutilsパッケージをインストールしてください。クエリがタイムアウトした場合、またはログに DoH リゾルバが表示されない場合は、sudo systemctl status dnscrypt-proxy.socket dnscrypt-proxy.service続行する前にサービス ジャーナルを調べてください。

Ubuntuのターミナルプロンプトに、Pi-holeコマンドで127.0.0.1のポート5053をアップストリームDNSとして設定する画面が表示されています。
Pi-holeのCLIコマンドを使用して、ローカルの暗号化DNSプロキシをアップストリームリゾルバとして設定します。

4. Pi-holeをローカルプロキシに向ける

ローカルテストが正常に動作した後でのみ、Pi-holeのアップストリームリストをローカルリスナーに置き換えてください。

sudo pihole-FTL --config dns.upstreams '["127.0.0.1#5053"]'
sudo systemctl restart pihole-FTL.service

この値は、Pi-hole のカスタム アップストリーム形式を使用します。127.0.0.1はローカル ホスト、 は非標準の DNS ポートを指定します。Pi-hole 管理インターフェースの[設定] > [DNS] > [カスタム アップストリーム DNS サーバー]から#5053も入力できます。プリセットのパブリック アップストリームのチェックを外して保存してください。そうしないと、Pi-hole は DoH を使用せずに一部のリクエストを直接送信し続ける可能性があります。127.0.0.1#5053

完全なパスを確認してください

Pi-hole自体に問い合わせるには、以下のLANアドレスの代わりに以下のアドレスを使用しますPIHOLE_IP。

dig @PIHOLE_IP example.com

検索が成功したことを確認してください。Pi-holeのクエリログにクライアントからのリクエストが表示され、dnscrypt-proxyのサービスステータスまたはログに、選択したアップストリームに到達可能であることが示されています。結果として、クライアントからLAN経由でPi-holeへ、次にPi-holeからlocalhostプロキシへ、そしてプロキシからDoHリゾルバへと経路が繋がります。これはサーバーからリゾルバへの経路を暗号化するものであり、LAN上のクライアントとPi-hole間の通常のDNSトラフィックを暗号化したり、選択したリゾルバからクエリを隠蔽したり、Pi-holeをVPNに変えたりするものではありません。

コマンドとバージョンの詳細については、Pi-hole dnscrypt-proxy ガイド(2026 年 2 月 16 日)、Cloudflared の非推奨通知(2026 年 2 月 12 日)、Ubuntu のNoble dnscrypt-proxy パッケージ記録、および現在の公開 DoH および DNSCrypt リゾルバ一覧を参照してください。いずれかのサービスが非アクティブになっている場合は、ローカルクエリテストが成功するまで Pi-hole をプロキシに切り替えないでください。

コメントを残す

Ubuntu Server 24.04 上で Pi-hole アップストリーム DNS を暗号化する

Ubuntu Server 24.04 上で Pi-hole アップストリーム DNS を暗号化する

Ubuntu 24.04 上で、ローカルホスト専用のリスナー、リゾルバの選択、および DNS 切り替え前のチェック機能を備えた dnscrypt-proxy を Pi-hole のローカル DoH ブリッジとして設定します。

Wayland上でUbuntu 24.04のタッチパッドジェスチャーを動作させる方法

Wayland上でUbuntu 24.04のタッチパッドジェスチャーを動作させる方法

アプリやハードウェアのトラブルシューティングを行う前に、Ubuntuのタッチパッド設定を確認し、Waylandが有効になっていることを確認し、GNOMEに組み込まれているスワイプ操作をテストしてください。

mdadmを使用してDebian 12のRAID 1ミラーを構築する

mdadmを使用してDebian 12のRAID 1ミラーを構築する

2台のディスクで構成されるDebian 12 RAID 1データアレイを作成および検証し、安全にフォーマットした後、再起動後にアセンブルおよびマウントされるように構成します。

Debian 12のスワップ領域を起動ごとに新しいキーで暗号化する

Debian 12のスワップ領域を起動ごとに新しいキーで暗号化する

既存の Debian 12 スワップパーティションにランダムキー暗号化を設定し、アクティブな dm-crypt マッピングを確認し、ハイバネーションのトレードオフを理解する。

Ubuntu 24.04でSSHユーザーを特定のディレクトリに制限する方法(SFTP Chrootガイド)

Ubuntu 24.04でSSHユーザーを特定のディレクトリに制限する方法(SFTP Chrootガイド)

Ubuntu 24.04 の SSH アカウントを、chroot、適切なパーミッション、マッチルール、および安全なテストを使用して、指定された SFTP フォルダーに制限し、シェルアクセスを許可しないようにします。

UbuntuのAPTロックを安全に解除してアップデートを完了する

UbuntuのAPTロックを安全に解除してアップデートを完了する

Ubuntuのdpkgフロントエンドロックを所有しているプロセスを特定し、パッケージの処理を完了させ、ロックファイルを削除せずに中断されたインストールを修復します。

UbuntuデスクトップでBtrfsの自動スナップショットを設定する方法

UbuntuデスクトップでBtrfsの自動スナップショットを設定する方法

Timeshiftを使用してUbuntu Desktop上でBtrfsシステムの定期的なスナップショットを設定し、Ubuntuのサブボリュームレイアウトを確認し、保持期間を選択し、スナップショットで保護できないものを理解する。

依存関係を壊さずにDebian 12をTestingに移行する方法

依存関係を壊さずにDebian 12をTestingに移行する方法

Debian 12 から Testing へのより安全な移行を計画しましょう。Stable を経由してアップグレードし、バックアップを取り、APT ソースをクリーンアップし、依存関係の変更をシミュレートし、何が変更されたかを確認します。

Ubuntuサーバーが緊急モードで起動した場合の対処法:ステップバイステップの復旧ガイド

Ubuntuサーバーが緊急モードで起動した場合の対処法:ステップバイステップの復旧ガイド

Ubuntu Serverの緊急モードを安全に診断します。ブートログを読み取り、ルートおよびfstabマウントを確認し、障害が発生したユニットを修復し、ファイルシステムエラーを処理し、正常な再起動を確認します。

Debian 12でWireGuardポイントツーサイトVPNを設定する方法

Debian 12でWireGuardポイントツーサイトVPNを設定する方法

リモートクライアント1台用に、Debian 12 WireGuard VPNサーバーをセットアップします。キー、IPv4フォワーディング、nftables NAT、ファイアウォールアクセス、接続チェックを設定します。