記事一覧に戻る

自宅のminiPC・Mac Miniで広告ブロックサーバーを構築する|SSH管理で全デバイス広告フリー

はじめに

uBlock Originなどのブラウザ拡張で広告をブロックしている方は多いでしょう。しかし、ブラウザ拡張ではスマートフォンアプリ内の広告スマートTVの広告Fire TV Stickやゲーム機のテレメトリには対応できません。

そこで注目されているのが、DNSレベルでの広告ブロックです。自宅に余っているminiPCやMac MiniにPi-holeAdGuard Homeをインストールし、ルーターのDNS設定を変更するだけ。家庭内のすべてのデバイスから広告が消えます。

本記事では、SSHでの安全なリモート管理を含めた構築手順を解説します。


DNSレベル広告ブロックの仕組み

広告はads.google.comdoubleclick.netといった特定のドメインから配信されています。通常、デバイスがこれらのドメインにアクセスしようとすると、DNSサーバーがIPアドレスを返し、広告が表示されます。

Pi-holeやAdGuard Homeは、このDNSの応答を乗っ取ることで動作します。広告ドメインへの問い合わせに対して「そのドメインは存在しない」と応答することで、広告の読み込み自体を阻止します。

[通常のDNS解決]
デバイス → "ads.example.com のIPは?" → DNSサーバー → "203.0.113.10" → 広告表示

[Pi-hole経由]
デバイス → "ads.example.com のIPは?" → Pi-hole → "存在しません" → 広告が読み込まれない

この方式のメリットは明確です。

  • ネットワーク上の全デバイスに効果がある(ブラウザ以外も含む)
  • ページ表示が高速化する(広告の通信が発生しない)
  • 通信量が削減される(モバイルデータの節約にも)
  • LAN内で完結するためDNS応答が高速(1ms以下)

ハードウェアの選定

miniPC(N100系など)

消費電力10〜15W程度で24時間稼働に最適です。メモリ8GB・SSD 128GBもあれば十分すぎる性能。Ubuntu ServerやDebianをインストールしてヘッドレス運用します。AliExpressやAmazonで1〜2万円台から入手可能です。

Mac Mini

macOSのままでもDockerやHomebrewでPi-hole・AdGuard Homeを動かせます。特に旧型のIntel Mac Miniなら中古1〜2万円で手に入り、省電力でファンレスに近い静音性も魅力です。

Raspberry Pi

消費電力3〜5Wと最も省エネ。Pi-holeの公式推奨プラットフォームです。ただし、SDカードの寿命に注意が必要で、USB SSDブートを推奨します。

共通要件

  • 有線LAN接続を推奨(Wi-Fiだと不安定になりやすい)
  • 固定IPアドレスをDHCP予約またはOS側で設定
[自宅ネットワーク構成図]

インターネット ← ルーター(DNSを miniPC に向ける)

                    ├── miniPC / Mac Mini(Pi-hole稼働・SSH有効)
                    │     └─ 広告ドメインをブロック → 上流DNS (1.1.1.1等)

                    ├── PC / スマホ / タブレット
                    ├── スマートTV / Fire TV Stick
                    └── IoTデバイス

構築手順

Step 1: OSの準備とSSH有効化

miniPC(Linux)の場合

Ubuntu ServerまたはDebianをインストールします。インストール時にOpenSSH Serverを有効化しましょう。キーボード・モニターは初回セットアップ後に取り外してヘッドレス運用に移行します。

# SSHサーバーの確認・有効化(Ubuntu/Debian)
sudo systemctl enable ssh
sudo systemctl start ssh

# 固定IPアドレスの設定(netplan の場合)
sudo nano /etc/netplan/01-netcfg.yaml
# addresses: [192.168.1.100/24] のように設定
sudo netplan apply

Mac Miniの場合

「システム設定 → 一般 → 共有 → リモートログイン」を有効化するだけでSSH接続が可能になります。Dockerのインストールはbrew install --cask dockerで完了です。

# Mac Miniへの接続(別のMac/PCから)
ssh [email protected]   # Bonjourで名前解決
ssh [email protected]    # またはIPアドレス直指定

Step 2: Pi-holeのインストール

Linux(miniPC / Raspberry Pi)の場合

ワンライナーで導入できます。

curl -sSL https://install.pi-hole.net | bash

インストーラーの質問に答えるだけで完了します。上流DNSにはCloudflare(1.1.1.1)がおすすめです。インストール完了時に表示される管理画面のパスワードを必ず控えておきましょう。

Mac Mini(Docker)の場合

docker-compose.ymlを作成して起動します。

# docker-compose.yml
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "8080:80/tcp"
    environment:
      TZ: 'Asia/Tokyo'
      WEBPASSWORD: 'your-secure-password'
    volumes:
      - './etc-pihole:/etc/pihole'
      - './etc-dnsmasq.d:/etc/dnsmasq.d'
    restart: unless-stopped
docker compose up -d

Step 3: ルーターのDNS設定を変更

ルーターの管理画面(通常192.168.1.1)にアクセスし、DHCPが配布するDNSサーバーをminiPC/Mac MiniのIPアドレスに変更します。これだけで家庭内のすべてのデバイスがPi-hole経由でDNSを解決するようになります。

ルーター側でDNS変更ができない機種の場合は、各端末のDNS設定を手動で変更します。

  • iOS: 設定 → Wi-Fi → 接続中のネットワーク → DNSを手動に
  • Android: プライベートDNS設定
  • Windows: ネットワークアダプターのプロパティ → IPv4 → DNSサーバー

Step 4: SSHでリモート管理

Pi-holeの日常管理はWeb UI(http://192.168.1.100/admin)でも行えますが、SSH経由のコマンドラインも非常に便利です。

# 別の端末からSSHで接続
ssh [email protected]

# Pi-holeの状態確認
pihole status

# ブロックリストの更新
pihole -g

# リアルタイムのDNSクエリログ表示(どのドメインがブロックされたか確認)
pihole -t

# 特定ドメインをホワイトリストに追加
pihole -w example.com

# Pi-holeの一時無効化(5分間)— トラブルシュート時に便利
pihole disable 5m

スマートフォンからSSHで管理したい場合は、モバイルSSHクライアントアプリが便利です。外出先からでもPi-holeの状態確認やホワイトリスト追加ができます。


SSHの安全な設定

広告ブロックサーバーは24時間稼働するため、SSHのセキュリティ設定は重要です。

# SSH鍵の生成(クライアント側で実行)
ssh-keygen -t ed25519

# 公開鍵をサーバーに転送
ssh-copy-id [email protected]

# パスワード認証を無効化(サーバー側で実行)
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

Ed25519鍵はRSAより短く高速で、現在推奨されるアルゴリズムです。パスワード認証を無効化して鍵認証のみにすることで、ブルートフォース攻撃を完全に防げます。


代替ソフトウェア:AdGuard Home

Pi-holeの代替としてAdGuard Homeも人気です。

  • 初回セットアップがWebブラウザのウィザードで完結
  • DNS over HTTPS(DoH)/ DNS over TLS(DoT)をネイティブサポート
  • モダンなWebUIで直感的に操作できる
  • 単一バイナリで動作するため依存関係が少なく、Mac MiniならDockerなしでもネイティブ動作
# AdGuard Homeのインストール(Linux / macOS共通)
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

# ブラウザで http://192.168.1.100:3000 にアクセスして初期設定

Pi-holeとAdGuard Homeの選び方は、好みの問題が大きいです。コミュニティの大きさではPi-hole、UIの使いやすさではAdGuard Homeに軍配が上がります。


外出先からも使う:Tailscale連携

自宅LANの広告ブロックは快適ですが、外出先(モバイル回線・カフェWi-Fi)では恩恵を受けられません。ここで活躍するのがTailscaleです。

TailscaleはゼロコンフィグのメッシュVPNサービスで、無料プランで十分です。miniPC/Mac Miniとスマートフォンの両方にインストールするだけで、外出先からでも自宅のPi-holeをDNSサーバーとして利用できます。

# Tailscaleのインストール(Linux)
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --accept-dns=false  # Pi-hole側はTailscaleのDNSを使わない

# Tailscale管理画面でDNS設定
# DNS → Add nameserver → Pi-holeのTailscale IPを指定

iPhone/AndroidではTailscaleアプリをインストールしてログインするだけ。自動的に自宅のPi-hole経由でDNSが解決され、モバイル回線でもアプリ内広告がブロックされます。


DNS over HTTPS(DoH)でプライバシーを強化

通常のDNSクエリは平文で送信されるため、ISPがどのサイトにアクセスしているか把握できます。Pi-holeの上流DNSにcloudflaredを設定すると、上流への問い合わせも暗号化されます。

# cloudflaredのインストール
sudo apt install cloudflared  # または brew install cloudflared

# DoHプロキシとして起動
cloudflared proxy-dns --port 5053 --upstream https://1.1.1.1/dns-query

# Pi-holeのCustom DNS設定で 127.0.0.1#5053 を指定

これにより、Pi-hole → cloudflared → Cloudflare 1.1.1.1 の経路がすべて暗号化されます。


運用Tips

日本向けブロックリストを追加する

Pi-holeのデフォルトブロックリストは海外の広告ドメインが中心です。280blockerなどの日本向けリストを追加すると、国内サービスの広告もブロックできるようになります。

ホワイトリストを管理する

過剰ブロックで正規サービスが動かなくなるケースがあります(一部の決済サービス、CDN経由のコンテンツなど)。Pi-holeのQuery Logで「赤くなっているドメイン」を確認し、必要に応じてホワイトリストに追加しましょう。

ブロックリスト更新を自動化する

cronで週1回pihole -gを実行するよう設定しておけば、メンテナンスフリーです。

# cronでブロックリスト自動更新(毎週日曜3時)
echo "0 3 * * 0 pihole -g" | sudo tee -a /var/spool/cron/crontabs/root

省電力・自動復旧の設定

  • miniPC: BIOS設定で「AC Power Loss → Power On」にしておくと、停電復旧時に自動起動
  • Mac Mini: 「システム設定 → 省エネルギー → 停電後に自動的に起動」を有効に

まとめ

デスクの隅に眠っているminiPCやMac Mini、あるいは数千円のRaspberry Piが、家庭内ネットワーク全体の広告を消し去る強力なツールに変わります。

  • Pi-holeのインストールは10分
  • ルーターのDNS変更は1分
  • SSHで安全にリモート管理
  • Tailscaleを追加すれば外出先でも広告フリー
  • 月額費用ゼロ、電気代は月数十円

一度セットアップしてしまえば、あとは放置でOK。スマホアプリの広告、スマートTVの広告、IoT機器の不審な通信——すべてがPi-holeのログに記録され、ブロックされていきます。2026年の広告過多なインターネットに対する、最もコスパの高い防衛手段のひとつです。


関連記事