AdGuard Home を Raspberry Pi に導入して家庭内DNS広告ブロックを実現する

一行要約

Raspberry Pi に AdGuard Home を導入し、LAN 全体の DNS を AdGuard に向けることで広告・トラッキングをブロックする。

概要

  • 役割: 家庭内 DNS サーバー兼広告ブロッカー
  • 手順: 1) 固定IP設定 → 2) AdGuard Home インストール → 3) 初期設定(ポート3000) → 4) ルータ/DHCP で DNS を配布
  • 注意: 一部ルータは「同一サブネットの DNS 指定」を拒否するため、DHCPサーバ側で DNS を配る運用に切替が有効

なぜ重要か

  • 端末ごとの広告ブロック設定から開放され、ネットワーク全体で一括適用できる
  • 端末の電池/帯域の節約、誤タップ削減、プライバシー向上に直結
  • フィルタを集中管理でき、トラブル時の切り分けも容易

詳細な説明

1. Raspberry Pi の固定IP化

  • /etc/dhcpcd.conf にて固定IP/ゲートウェイ/DNSを設定
  • ルータ側で「アドレス予約」も併用すると安定

2. AdGuard Home のインストール

  • 公式パッケージ(バイナリ)を導入
  • 初回起動後、http://[RasPiのIP]:3000 でセットアップウィザード実行
    • 管理UIのポート/ログ/フィルタサブスクリプションを設定

3. ルータ/DHCP の DNS 配布

  • ルータの機種によっては「同一サブネットのDNS指定」が禁止されるケースがある(例: AC2600 で挙動に難あり)
  • 対策:
    • ルータでのDNS指定を諦め、DHCPサーバの配布 DNS を AdGuard Home に変更する
    • もしくは Raspberry Pi を別セグメントに配置(上級者向け)

4. 動作確認

  • AdGuard Home ダッシュボードでクエリが流れているか確認
  • クライアント端末から任意ドメインの名前解決結果とブロック統計を確認

よくある詰まりポイント

問題原因解決策
初期設定画面に繋がらないポート/Firewallhttp://IP:3000 を確認、UFW等のポート解放
広告が全く減らないクライアントが別DNSを使用クライアントDNSを自動取得(=AdGuard)に変更、DoH/DoTの端末側設定を見直し
ルータでDNS設定できない機種制限DHCP配布DNSをAdGuardに、または別セグメント設計
名前解決が不安定二重DNS/キャッシュ競合LANの「唯一のリゾルバ」を明確化、ルータDNSを無効化

参考資料

関連ノート