Pi Holeで広告をブロックする方法

Pi-Holeは、ネットワーク上の任意のデバイスで広告を遮断するネットワーク全体の広告ブロッカーです。数千の広告配信ドメインのリストをターゲットにし、そのコンテンツをブラックホールに送信して視界から取り除きます。追加のソフトウェアなしで、ネットワークに接続されている任意のデバイスで機能します。モバイルデバイスのアプリでも動作し、帯域幅の使用を減らし、パフォーマンスを向上させます。このチュートリアルでは、LinuxマシンでPi Holeを実行する方法を示します。
目次
- Pi-Holeとは?
- Pi-Holeのインストール
- Pi-Holeの更新
- カスタムDHCPサーバーの設定
- Pi-Holeでのカスタムブロックリストの作成
- よくある質問
知っておくと良いこと: AdBlockとAdblock Plusの違いと、どちらを使用すべきかを確認してください。
Pi-Holeとは?
Pi-Holeは「インターネット広告のブラックホール」と自称しています。これは、すべてのアウトバウンドサーバーリクエストを内部ブロックリストに対して実行することで機能します。これを実現するには、Pi-HoleをDNSサーバーとして設定する必要があります。これにより、アドレス解決リクエストを処理し、要求された情報のIPアドレスを表示できるようになります。その結果、特定のアウトバウンドリクエストをIPアドレスに基づいて選択的にミュートすることができます。

Pi-Holeがブロックリストに一致する接続リクエストを検出すると、そのリクエストが広告サーバーまたは宛先に到達するのをブロックします。ブロックリストには10,000以上のドメインがあり、リクエストがサーバーに到達するのを防ぎます。広告はダウンロードされないため、帯域幅が節約され、接続速度が向上します。
Pi-Holeは広告をブロックするだけでなく、ネットワークをさまざまなWebベースの攻撃ベクターから保護することもできます。このシステムには、Pi-Holeの操作を監視および監査するための堅牢なWebベースのポータルも含まれています。
さらに、これらすべてが無料でオープンソースです。オープンソースでないのは名前とロゴだけで、これは商標として登録されています。
Pi-Holeのインストール
Pi-HoleはほぼすべてのLinux対応デバイスで実行できますが、プログラムの開発者は以下のディストリビューションを公式にサポートしています:
- Raspbian: Buster / Bullseye
- Ubuntu: 20.04 / 22.04 / 22.10
- Fedora: 36 / 37
- Debian: 10 / 11
- CentOS Stream: 8 / 9
以下の手順に従って、Ubuntu 22.10デスクトップマシンにPi-Holeをインストールします。
- ターミナルを開き、以下のコマンドを実行してソフトウェアをインストールします:
curl -sSL https://install.pi-hole.net |bash
注意: curlコマンドをbashにパイプしているため、少し不安になるかもしれませんが、これは危険です。ソフトウェアが悪意のあるものでないことを確認したい場合は、Pi-Holeのソースコードを確認してください。また、Pi-HoleのGithubリポジトリから手動でソフトウェアをインストールすることもできます。
- インストール後、ルーターの設定ページでPi-HoleをDNSサーバーとして設定します。

Pi-HoleのIPアドレス(例: 192.168.68.53)をネットワーク上の唯一のDNSサーバーとして設定します。他のDNSサーバーはゼロに設定してください。
新しく設定したDNSサーバーで、Pi-Holeの設定は完了です。これで、ネットワーク上の任意のデバイスで広告をブロックし始めます。Pi-Holeの設定を調整するには、ネットワーク上でhttp://pi.holeにアクセスしてください。

ヒント: ネットワーク上のマシンがすぐにPi-Holeを使用しない場合があります。Linuxでこれを修正する方法を学ぶには、マシンのDNSキャッシュをフラッシュしてください。
Pi-Holeの更新
- Pi-Holeを更新する最初のステップは、マシンのコンソールにアクセスすることです。これを行うには、マシンの物理キーボードを使用するか、SSHを使用してログインします:
- 中に入ったら、次のコマンドを実行します:
pihole -up
- 新しい設定とバイナリを適用するために、マシンを再起動します:
sudo rebootカスタムDHCPサーバーの設定
Pi-HoleはネットワークのDNSサーバーとして機能するだけでなく、DHCPを使用してマシンにIPアドレスを割り当てることもできます。これは、ネットワークを使用できる新しいデバイスの数を制御したい場合に役立ちます。
- ルーターのDHCPサーバーを無効にします。これはDNSの設定と似ており、使用しているルーターによって手順が異なります。

- Pi-HoleのWeb設定ページに移動します。

- ページの左サイドバーで「設定」カテゴリをクリックします。

- DHCPタブをクリックします。

- 「DHCPサーバーを有効にする」チェックボックスをクリックします。

- 「IPv6サポートを有効にする(SLAAC + RA)」をクリックして、ローカルマシンにIPv6アドレスも割り当てます。

- 「配布するIPアドレスの範囲」サブカテゴリの下の「To」テキストボックスを選択します。

- 「To」テキストボックスの内容を、DHCPが配布する最後のIPアドレスに置き換えます。私の場合、この値を「192.168.68.251」に設定すると、ネットワークを使用できるクライアントの数が50に制限されます。

ヒント: Pi-Hole以外にも、Edgeブラウザで広告をブロックできます。
Pi-Holeでのカスタムブロックリストの作成
Pi-Holeは、開発者によって管理されている中央のブロックリストを使用しています。このアプローチにより、プログラムは新しい悪意のあるドメインがオンラインになるとすぐにそれを迅速に含めることができます。また、カスタムブロックリストに独自のドメインを追加することもできます。
- Pi-HoleのWeb設定ページに移動します。

- ページの左サイドバーで「ドメイン」カテゴリをクリックします。

- 「ドメイン」テキストボックスを選択し、ブロックしたいドメインを入力します。

- 「ブロックリストに追加」ボタンをクリックします。

- これにより、アドレスがマシンの内部ブロックリストに追加されますが、アドレスに存在するサブドメインやサブディレクトリは含まれません。これは、ネットワークでサイト全体の読み込みをブロックしたい場合に問題になる可能性があります。これを修正するには、ドメインサブページで「正規表現フィルター」をクリックします。

- 「正規表現」テキストボックスをクリックします。

- ドメインを正規表現形式で記述します。たとえば、次のテキスト行は「example.com」のすべてのサブドメインとバリエーションをブロックします。
^.+example.+\.[a-z]+$
- 「ブロックリストに追加」をクリックしてカスタムリストを適用します。

知っておくと良いこと: 正規表現はブロックリストを作成する方法以上のものです。正規表現の基本構文とその高度な機能をチートシートを使用して学んでください。
よくある質問
既存のPi Holeインストールを再構成することは可能ですか?
はい。これを行うには、Pi-Holeのマシンコンソールにログインし、pihole reconfigureを実行します。これにより、初期設定プロセスが再実行され、Pi-Holeのすべてのパッケージ、スクリプト、および依存関係が再インストールされます。
ウェブブラウザを使用せずにPi-Holeを確認することは可能ですか?
Pi-Holeの開発者はウェブブラウザでの動作を想定して設計しましたが、コンソールを使用して簡単な概要画面を印刷することもできます。次のコマンドを使用してPi-HoleのTUI画面を実行できます: pihole -c -e。
ドメインがPi-Holeによってブロックされているかどうかを調べることは可能ですか?
はい。これを行うには、マシンのコンソールに入り、クエリサブコマンドを使用します。たとえば、pihole -q -exact -all malicious.example.comを実行すると、「malicious.example.com」のインスタンスを含むすべてのブロックリストが印刷されます。
画像クレジット: Unsplash。すべての変更とスクリーンショットはRamces Redによるものです。