Raspberry Pi に AdGuard Home で自宅DNSを構築する

一行要約

Raspberry Pi 上に AdGuard Home を導入し、LAN 全体の広告・トラッキングをDNSレベルでブロックする。

概要

AdGuard Home はローカルDNSサーバーとして広告やトラッキングをブロックできるソフトウェア。
本ノートでは Raspberry Pi への導入、LAN への適用(DHCP/DNS 設定)、運用上の注意点をまとめる。

なぜ重要か

  • 端末ごとに拡張やアプリを入れなくても、ネットワーク全体で広告ブロックが効く
  • 端末性能やブラウザ差に依存せず、家庭内の子機すべてに一括適用できる
  • DNS レイヤでログ・可視化が可能になり、トラブル調査やドメインの細粒度制御がしやすい

詳細な説明

前提

  • 対象: Raspberry Pi(常時稼働、固定IP推奨)
  • ネットワーク: ルーター管理画面へアクセスできること
  • 管理UI: AdGuard Home はデフォルトで http://:3000 でセットアップ

手順

  1. Raspberry Pi の IP を固定化
  • /etc/dhcpcd.conf で静的 IP を設定し、再起動する
  1. AdGuard Home のインストール
  • 公式のパッケージ/ワンライナーで導入し、初期セットアップを完了
  • 初期UI: http://:3000
  1. ルーター設定(どちらか)
  • DNS を AdGuard Home の IP に向ける
  • もしくは DHCP サーバで配布する DNS を AdGuard Home にする
    • 注: 一部機種では「ルーターの IP と同一サブネットの DNS を指定不可」等の制限あり(例: AC2600)
    • その場合は「DHCP サーバの配布DNSとして AdGuard Home を指定」するのが現実解
  1. 動作確認
  • クライアント端末で DNS が AdGuard Home を向いているか確認(ipconfig/ifconfig、ブラウザで広告ドメインブロックを確認)
  • AdGuard Home のダッシュボードでクエリが流れているか確認

運用のポイント

  • フィルタリストは最小限から開始し、ブロック誤検知が出たサイトのみ除外ルールで対応
  • ルーターや IoT 機器のファーム更新などで DNS 固定が解除されていないか定期確認
  • 障害時のため、端末側で「代替 DNS」を一時設定できる運用手順も用意しておく

よくある詰まりポイント

症状原因解決策
一部サイトが開かないフィルタで誤ブロッククエリログから対象ドメインを除外リストへ追加
ルーターに DNS を設定できないルーター仕様制限DHCP の配布DNSを AdGuard Home にし、クライアントへ周知
管理UIに繋がらないポート未開放/AdGuard停止サービス状態確認、:3000 の初期セットアップ完了か再チェック
クライアントが旧DNSを使うキャッシュ/固定設定端末のネットワーク再取得、手動DNS設定の除去

参考資料

関連ノート